【自作】創造性を刺激する音楽生成Flashアプリ7+1個【自演】

昨日FITC Tokyo 2010が開催され,大盛況の内に終了しました.かく言う自分は残念ながら参加できなかったのですが,その中でも,音生成Flash界の巨人 Andre Michelle 氏(aM Laboratory)によるプレゼン "Pulsatile Crackle(拍動クラックル)"は,かなりのインパクトがあったようです(参照:FITC Tokyo 2010 の AndreMichell 氏のデモをTLだけで妄想するためのまとめ - Togetterまとめ).
最近,ようやく音生成アプリが注目され始めてきています.この流れに便乗する感じで,今までコツコツ作ってきた音生成ミニアプリのうち人気の高かったもの7つをピックアップして,概要とSiONの要素技術をまとめてみようと思います.

1.SiON SoundObject Quartet


SiON SoundObject Quartet | Si+ (wonderfl.net)
SiON version0.60 から導入された SoundObject を使ったシンセサイザです.
SoundObject を用いると DisplayObject と似た感覚で 音源 SiON をコントロールする事ができます.このアプリでは Arpeggiator, BassSequencer, ChordPad, DrumMachine の4種類の SoundObject のプロパティ値を UI を通じていじることで SiON をコントロールしています.
手軽に SiON のシンセサイザを使ってみたい方は,参考にしてみてください.
手軽にリズムパターンを入れたい場合などDrumMachine pattern and voice selector | Si+(wonderfl.net)も参考になると思います.

2.SiON TETRISizer


SiON TETRISizer | Si+ (wonderfl.net)
効果音をリズムに合わせる,進行状況に応じて曲が変化するテトリスです.
SiON の Synchronized Sequence 機能を用いて効果音をBGMと同期しています.曲変化は SoundObject のパラメータ変更と Synchronized Sequence 機能によるMML演奏の同期により実現しています.
自作Flashで"ルミナス"のような演出を行いたい場合,参考になると思います.
Click me, if you can | Si+(wonderfl.net)やshmups with SiON | Si+(wonderfl.net)も合わせてご覧ください.

3.Puppyish Pentatonicism


Puppyish Pentatonicism | Si+ (wonderfl.net)
物理演算で自由落下するボールの衝突によって自動演奏を行います.
物理演算による衝突はランダムなタイミングで発生しますが,その効果音を Synchronized Sequence 機能によってリズムに合わせることで,自動演奏しているように見せています.Synchronized Sequence 機能は,発音メソッド(SiONDriver.noteOn/sequenceOn/playSound)を呼び出してからリズムに合うタイミングまで待機して,音を鳴らす機能なので,そのまま使うとタイムラグが発生します.このアプリではバッファを使用して表示されるタイミングを遅らせることで,タイムラグを目立たなくしています.
物理演算+音生成を実装したい場合,参照してください.

4.Bound Ball Synthesizer 2


Bound Ball Synthesizer 2 | Si+ (wonderfl.net)
跳ねるボールのバウンドによって自動演奏を行います.
上述 Puppyish Pentatonicism と同様ランダムなタイミングで発生するバウンドの効果音を,Synchronized Sequence 機能によってリズムに合わせています.このアプリでは,上述のタイムラグをごまかすために,接地タイミングの先行計算を行って早めに発音させています.インタラクティブ性があり(クリックで発音),演算が単純(バウンドのみ)な場合に有効な方法です.
物理演算+音生成の実装における,もうひとつの選択肢となります.

5.SiON FM Synthesizer WF-1


SiON FM Synthesizer WF-1 | Si+ (wonderfl.net)
SiONが内部で持っている音色テーブルから音を選ぶシンプルなキーボードアプリです.
SiONは内部で約500種類の音色パラメータのテーブル*1を持っており,SiONPresetVoice クラスを用いて簡単に使うことができます.また,SiON 内蔵のエフェクタを用いて加工を行っています.
SiON のプリセットボイスやエフェクタについて知りたい場合,参照ください.

6.SiON Tenorion


SiON Tenorion | Si+ (wonderfl.net)
99行の Tenorion 実装例です.
SiONがwonderflで扱えるようになって,一番最初の投稿です.タイマ割り込みコールバック(SiONDriver.setTimerInterruption)を用いて各ビート発生時にマトリックスの状態を読んで,Light On なら発音しています.
シーケンサアプリのように,決まった楽譜に則って音を鳴らしたい場合に参照ください.
Active Sonar Sequencer - wonderfl build flash onlineも同じ方法で実装されています.
MML文字列を生成して演奏させる方法もあります.例:フレーズ生成版 forked from: SiON OPM Random FM Tone - wonderfl build flash online

7.にょきにょきシンセサイザー


にょきにょきシンセサイザー | Si+ (wonderfl.net)
Arpeggiator SoundObject と AnalogSynth によるシンセサイザです.
上述 SiON SoundObject Quartet - wonderfl build flash online でも使われている Arpeggiator の音合成に AnalogSynth モジュールを用いて各パラメータをUIからいじれるようにしています.AnalogSynth モジュールにより,一般的な減算型シンセの VCO/VCA/VCF を用いた音色エディットが可能となります.
Arpeggiator による演奏や AnalogSynth による音色エディットを使いたい場合は参考にしてみてください.
SiON Kaoscillator - wonderfl build flash onlineは,よりシンプルな Arpeggiator の使用例です.

+1.MMLTalks


MMLTalks - Lets communicate by chiptune sound -
SiON MML コンパイラ/シーケンサを用いた音楽ホスティングサービスです.
SiONMML でほぼ全部の設定をコントロールできるように設計されているため,純粋にSiON の音源としての実力が分かりやすいアプリだと思います.基本的には SiONFM音源チップのエミュレータですので,そういった音楽の再現に向いています.
Super Mario Synthesizer (Data not completed) - wonderfl build flash onlineのように MML を使ってアプリ内で音楽を鳴らすこともできます.

その他

SiON_showcase - wonderfl build flash online
ほかにもマイク連携や声紋解析などのサンプルがあります.

これらの音生成Flashがちょっとでも気になったら,ぜひオリジナル作品の音アプリに挑戦してみてはいかがでしょうか?
参照:SiON の使い方が載ってます ActionScriptライブラリ入門
参照:SiON 情報ページ SiON - the AS3 SoftSynth
参照:SiON プロジェクトページ keim/SiON - Spark project

*1:VAL-SOUNDさんが公開されているフリーライセンスのOPN用音色セットが含まれています