2012-08-21

SiON v0.65 is available now






















SiON - the AS3 softsynth

SiON v0.65 is available now.
Main points of this update are MIDI support and bug-fixings of v0.64 that has big update around PCM sound modules. Here, I introduce the new comming points in v0.64 and 0.65.

PCM modules(v0.64)

The biggest update in v0.64 is for handling of mp3 file.
The PCM module is a software synthesizer that controls Sound object as a wave source. In v0.64, the PCM module's code is fully rewrited. And finally the PCM module supports the stereo sound, sampling point (key ranges), pitch releated volume and panning, and short crossfading in sample loop. It also supports ADSSR envelope, filter envelope and so on like a FM sound module. Frequency modulation connection between channels is also supported, so you can modulate PCM waves by PCM waves like YAMAHA AWM2 sound modules (but I cannot imagine how to use it).
It may be hard to understand what is good. In other words, SiON can do as a common sampler machines.

Sampler modules(v0.65)

The sampler module is a simple player of Sound object. In v0.65, some shortcuts are implemented. For example, SiONDriver.play() can recieves Sound object as an argument, and it plays Sound object as sampler sound in SiON that supports gap-less loop, crossfading and effectors.
SiON begin to be used as not only a software synthesizer but also a highly-functional Sound manager.

Standard MIDI File Player(v0.652)

SiON MIDI Player - wonderfl build flash online

The biggest update in v0.65 is MIDI supprot.
You can handle MIDI file by org.si.sound.smf package in previous version (but it has some bugs and messy to handle). In v0.652(latest version), you can handle standard MIDI file more easily like SiONData. Main updates for MIDI are as follows.
-org.si.sion.midi.*; SiON MIDI module package is appended (moved from org.si.sound.smf.* in v0.651).
-org.si.sion.SiONDriver.midiModule property.
-org.si.sion.events.SiONMIDIEvent class (Events dispatched by SiON MIDI module).
-light weight 188 GM/GM drum voices are appended to org.si.sion.utils.SiONPresetVoice.
The default setting of SiON MIDI module is 16 parts, 32 polyphony with light weight (low quality) GM voices for lower CPU loading. These settings are customizable. You can modify SiON MIDI module like common MIDI sound module by PCM, or FM sound chip emulator with MIDI, even or MIDI "NES sound module" by pulse wave, triangle wave and noise voices. This customizablity is very unique and interesting point of SiON MIDI module, so I will expand them in the future.
The usage is very simple, call SiONDriver.play() with org.si.sion.midi.SMFData instead of SiONData, then SiON plays MIDI file, that's all. The SMFData class has load() and loadBytes() methods to load Standard MIDI file from net and local storage.

SoundLoader object(v0.64)

In v0.64, org.si.sion.utils.soundloader.SoundLoader is appended. This SoundLoader provides loader for plural media files (like a BulkLoader). Call SoundLoader.setURL() to set URLs, Add event listener of Event.COMPLETE, and call loadAll() to load all files. This class can load Sound file, MIDI file, wave file, images, texts, binaries, SiON Sound Font files and so on.

SiONSoundFont object(v0.64)

The org.si.sion.utils.soundfont.SiONSoundFont is appended in v0.64. The SiONSoundFont provides the packed swf file includes mp3 files and voice setting MML of PCM modules. Compile swf files by class inherited from SiONSoundFontContainer that includes embeded mp3 files and MML data (the SiONSoundObjectContainer is the inherited class of Sprite), and load the swf file by SiONSoundFontLoader to load as SiONSoundFont.
Nomltest on Flash uses these SoundLoader and SiONSoundFont functions.

BPMAnalyer and PeakDetector(v0.65)

org.si.sion.utils.BPMAnalyer and PeakDetector are also appended in v0.64. As it's name suggests, the BPMAnalyer analyzes tempo value of Sound and the PeakDetector detects peaks of wave data. The BPMAnalyser is an idiot-proof wrapper of PeakDetector because the PeakDetector requires some technical know-hows to estimate certain bpm. Because the estimation of beat per minute vaule is a statistical method, please note that the value from BPMAnalyzer is only a suggestion that the value has high probability. The usage is quite simple. Call BPMAnalyzer.estimateBPM() with objective Sound and it returns estimated bpm value. The method analyzes only some 4seconds length parts in the song.

Other updates

I'm not sure about all of updates ...
-org.si.utils.ByteArrayExt (packing with png image, browse() and IFF data chunk are supported.)
-org.si.SiONVoice.setWaveTable() (SiONVoice can includes wave table data)
-The preset voice list in org.si.sion.utils.SiONPresetVoice is expanded from 462 voices to 650 voices.
-org.si.sion.SiONDriver.setBackgroundSound() is appended
-org.si.sion.utils.PCMSample (class to handle wav data, but some bugs are still remained)
-Some more functions in org.si.sion.utils.Translator. (parseWAVB(), parseWAV(), ...etc)
-org.si.sion.sequencer.SiMMLTrack.setPitchBend()
-Possible to create org.si.sion.sequencer.SiMMLEnvelopTable from MML or Vector.
-Many many bugfixings !



SiON will come up to integrated environment to manage Sound with MIDI

Big updates are mainly in mp3 file and MIDI file. In the future, SiON will grow up to not only a software synthesizer but also an integrated environment to manage Sound with MIDI.
Enjoy your sound programming with SiON !



2011-09-03

Nomltest on Flash

 Nomltest on Flash - wonderfl build flash online

Now my 8bit bullet hell shmups Nomltest is ported to Flash. This is a new open source exapmle of CannonML

2011-08-10

CannonML is updated to version 0.31

Now, my shmups scripting library cannon macro language goes to version 0.31.
CannonML in spark project

The grammar of cannonML is almost same with version 0.2 (but some new commands are added).
CannonML reference manual (click [expand all])
CannonML workbench (click [langage] button)

And now the cannonML version 0.31 is accepted as the wonderfl's default library ! You can try the action script code using cannonML on the browser.
cml - wonderfl build flash online

Currently, 3 basic samples are posted.

1. Particle System controled by CannonML


Of course you can apply the cannonML script to your particle system. This is the simplest sample how to use cannonML. This simple cannonML script plays such a complex particle behavior.
bs,4,,10bm5,360f10{i30vw90br5,360,2,2f4{i30v~ko}w10ay0.05}


2. CannonML Basic usage


The basic usage of cannonML is to create the inherited class of CMLObject. This sample code is with nagging comments.

3. BulletRunner Sample


BulletRunner is a wrapper of CMLObject. You can control the behavior of your own instance (not an inheritance of CMLObject) by BulletRunner and cannonML script.

And, there are very nice articles for Flash Shmups with CannonML.
(This article is based on version 0.3, basically same but the location of CMLMovieClip is change from 'org.si.cml.extensions.framework.CMLMovieClip' to 'org.si.b3.CMLMovieClip')
making a game in as3 part1 the basics
making a game in as3 part2 introduction to cannonml
making a game in as3 part3 first step with cannonml
Thank you very much, Lucas !

2009-07-30

Sky Swimmers Heaven was updated 3years ago

20090729012602

Sky Swimmers Heaven ver0.13

Sorry, this is not new. As you can see in the time stamp of exe file, this file is 3 years-old. Recently, I have salvaged the latest version of Sky Swimmers Heaven project from the HDD of my gone PC. So, I will publish it. Enjoy.

2009-07-10

Dive into Cyberspace



It has been 3 months since I last posted on wonderlf. And this is my new work for this challenge in a competition "checkmate". Now I strongly hope to musicalize this.
In the past 3 months, I mainly stay focus on a development of SiON that is a ActionScript sound library with software synthesizer, and now its in a status of 'alpha release'.
I wonder if wonderfl includes the SiON as a default library when it will go on the next state.

2009-03-28

Screen Space Ambient Occlusion

Screen Space Ambient Occlusion - wonderfl build flash online


The Screen Space Ambient Occlusion (SSAO) now runs on ActionScript3.
The implementation is not so difficult because the ActionScript3 has various function to modify bitmap data. But the efficiency of SSAO strongly depends on the situation. It becomes the maximum when the scene has high-density and very complex objects.

2009-03-09

Real time ambient occlusion on ActionScript3

Real time ambient occlusion - wonderfl build flash online


Move mouse to move camera and click to stop motion, Press z key to switch no/off ambient occlusion.

Low quality and low performance global illumination claculation on flash10.
I just create this as a "Proof of concept" for the gouraud shading based ambient occlusion. As the result, I think that its not a good method to calculate G.I. in dynamic (object moving) scene, but it possible to calculate approx. G.I. of static scene in a short time.

2009-02-18

Ambient Occlusion on ActionScript3

Ambient Occlusion Rendering - wonderfl build flash online



This is a Flash10 porting of AObench.
Mr.Syoyo the author of original "AObench" already ports it on Flash10 here, and he summarized that the Flash10 is 7 times slower than Proce55ing in this entry. But I beleave that there are not such a large difference between JavaVM and FlashPlayer10, because I am an ActionScript3 Coder!!
As the result of my Flash10 porting (with some optimizations), ...
Proce55ing version; 11.412[sec]
ActionScript3 version; 10.641[sec]

And now FlashPlayer10 renders it as same speed as Proce55ing does.
Dont be afraid to execute complex numarical calculations on ActionScript3 ;)

2008-06-16

CannonML library on Action Script 3

I just open the library source to use the CannonML on your flash application. The subversion directory is here.
http://www.libspark.org/svn/as3/CannonML/
and the library reference is here,
http://www.yomogi.sakura.ne.jp/~si/SolidImage/cml/asdoc/index.html
This library is only a draft version, and It may update in the future.
I think this reference is not enough to understand the usage. The source code of arcanacra0.43 is slightly helpful, but the CannonML library used in arcanacra is an older version and there are some difference in usage. So, I add a schedule to prepare examples of CannonML library to my ToDo list.

2008-04-29

Nomltest mods !?

Im realy surprizing at this site. There is an extension package for my work Nomlest. Though I didnt release the information of Nomltest scripts format, he analyzed the scripts format and creates new enemies on Nomltest. ...wow, thats realy incredible.

Unfortunately the format of ".nts" file is different between old version Nomltest and Nomltest FS, and the package includes the file for old version. If you want to play the extension package on NomltestFS, overwrite the last 2 lines in "de-cendres-preview.nts" as below and drag-drop that file onto the nomltest_fs.exe.

system 50, 0

tune 275, 10, 36, 2, 160

If there are any requests to release the information of Nomltest scripts format, I can do it. But let me get this straight with you, its very poor and disgraceful format.

2008-04-04

The ancient spell to summon shmups

Here is the cannonML example of whole stage.
As you seen below, the script is completely tough to read and understand. But I think that is what cannonML is. The concept of this script is "the ancient spell to summon various shmups".

... I know this script is really out of order in terms of writing by hand.


------------------------------copy below text and paste it to the text area here.
&start5 l$r=0.2 // You can assign the game rank (0-1) here.
&spy190w40^nA&Lw80&Rw[2&Lw40&Rw]qxn1Cw?$o&{qx80n1Cw30}m&{.}w^nB&Lw?$o
qxn1C{^nAw40[2&Lw&Rw]}w?$o^nB[2&Lw&Rw]w100n1Mw?$ow20^nB[2&Qww]w100^nA[2&Lw20&Rw]
qxn1Dw?$o{^nA[2&Lw40&Rw]}qxn1Dw?$o{qx80n1D}m{.}w80^nB&Lw&Rw?$o^nA[3&Qw40]w80n1Nw?$o&clear
#A{&life1&b1vd10i50vw40f2+$r*4i10vd-10}#B{&life1&b1{[w80-$r*50hoqx-7f4{1}qx7f]}csa2@1CDw120@1{ay0.1}}
#C{&b5&s15HTi30py60vy0.5~@ko1{l$r+=0.1}&life12{bm8,360bm5,20[f2w60]}}
#D{&b5&s20i64py90v~&life16ha[2{bm8,120,,4bm4,8,0.4bm2,360f$r+3}~m{.}~]ay-0.1}
#M{&b25&s25p,-190i60py100v2~HT&life40{i240[p,60v-2~p,100v2~]}
{bm4+$r*6,120[w40{qx40f2}m{.}]}{bm5,,,5bm2,120[f-6{2i20v~vd6}w120-$r*70]}}
#N{&s30p,-190i60py120~&s0#R{i4py-16~[?$1<4+$r*4nc1R$1+1]i60[hp-30r~f3{2i90vy-5w30f0{i60v$??,-1}}hp30r~f2]}
n1{&b25&s30HT&life40i60p120,120~nc1R}mn1{.}w?$o>1@o1{{i60gp0.4,5[p0,80~p80,120~p-80,120~]}
[w30f-3{2i30v~~htxbs5,,,5f4{1}~ko}]}}#CD{[cdw]}#HT{[rw]}
#L{{[6qx$l*20-160n2{.}w8]}}#R{{[6qx-$l*20+160n2{.}w8]}}#Q{{[6qx-$??*140n2{.}w8]}}

2008-03-22

Cannon Macro Language version 0.2.0 released


Here is a new concept of a domain specifye langage to control shooting game sequences. You can try it here.

2008-03-20

Adobe, MAKE SOME NOISE

Adobe, MAKE SOME NOISE
Adobe, MAKE SOME NOISE is a campaign site to bring a fine sound manipulation into Flash.
I admire the concept and strongly recommend the Wishlist for the Adobe Flash team.

A sound manupulation is one of weak points in Flash I think. A 'popforge' is very simple and easily-handled library and it brings me many good inspilations, but Im unhappy because its distributed under the GPL license (as you know, the GPL license is infectious). An 'FlMML' is a library to parse MML(Music Macro Language) but its only on PSG sound.
I hope to create a library to operate an FM sound module on Flash when the sound manipulation achieves the level I wish.

2008-03-14

EngRish Games

EngRish Games
http://engrishgames.blogspot.com/

This is an English blog written by Japanese indie game creator 'Dong'. He is a sound creator of my work 'Invisible vision'. And he is the man who gives me the idea of 'TSS Clipboard player'.
As you see and listen, he is not only a great game creator but also the amazing sound creator. And needless to say, I love his works.

He plans to introduce many Japanese indie games in his blog.

Enjoy products made-in-Japan !!

2008-03-12

ARCANACRA Google Gadget

Its just a test to paste the google gadget in my blog.



...Hmm, OK, now you can play the shooting game in the sidebar area of my blog.
If there are no changes with clicking and pressing [z] button, please refresh the page and retry.

2007-12-23

ARCANACRA v0.4.3 Black Label

I just release ARCANACRA v0.4.3 Black Label.
This work is easier version of ARCANACRA v0.4.1. I think the v0.4.1 is bummer in terms of difficulty...

Changing points are mainly ...
-make it easier(especialy in stage5,6 and another mode)
-automatic tuning of game difficulty
-more items
-enable to continue
-player extend 200000pts every
-enable to stock maximum 5 bombers.
-enable to select all stages in replay mode
-enable to select another mode


http://www.yomogi.sakura.ne.jp/~si/SolidImage/cml/arcanacra_bl/v04_e.html

And I also open the source code of ARCANACRA written in ActionScript3.
http://www.yomogi.sakura.ne.jp/~si/SoftIllness/arcanacra043_source.zip
These files are distrbuted under BSD style license.

2007-10-29

Hello world !

Hello, I just start a blog written in my poor English.

First of all, let me introduce myself. My works are in http://www.yomogi.sakura.ne.jp/~si/SolidImage/index_e.shtml .
As you see here, I'm a japanese freeware creator mainly on C++. And, now I'm interested in D-language and Action Script 3.

http://www.yomogi.sakura.ne.jp/~si/SolidImage/tpda3.shtml
My first test application on D-language (sorry this page is only in Japanese).
http://www.yomogi.sakura.ne.jp/~si/SolidImage/cml/arcanacra/v04_e.shtml
My first game on Action Script 3.

http://www.google.com/search?hl=en&safe=active&q=nomltest
http://www.google.com/search?hl=en&safe=active&q=%22invisible+vision%22&btnG=Search
http://www.google.com/search?hl=en&safe=active&q=%22quantized+blaze%22
Reputation of my works...