【自作】創造性を刺激する音楽生成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用音色セットが含まれています

MMLTalks is updating now (現在進行形)

MMLTalks - Lets communicate by chiptune sound -
外見変わらないけど地味にアップデートしてますよってだけのエントリです.というか,一個前のエントリのコメント欄が長くなりすぎたので,コメント欄を更新するため日記を更新.我ながらビックリするほどinactive.


さて,主な変更点ですが,

後なんかあったかな.結構色々と中身を弄ってるんですが,外見は全く変わってませんので,過去のMMLとの互換性は問題ないと思います.


【おまけ】もうずいぶん前に投稿したアインハンダーなど

MMLTalks ブログパーツテスト

MMLTalks - Lets communicate by chiptune sound -
すっかり閑古鳥が鳴いていますが,地味にバージョンアップ中です.やっぱりMMLTalksはSiONのソフトウェア音源としての実力が最も判るサービスだと思うので,誰も来なくなっても少しづつ手を掛けていくつもりです.とりあえず,匿名ユーザーでもエディタ起動して投稿できたりRSS配信してたり少しづつ日本語化したりしてます.あと再生位置指定とかコメント投稿方法の変更とか各個MMLページの仕様変更とかバグ取りとか色々してます.とはいえ,まだまだ解説とかが不親切すぎるので,そこらへんは序々にやっていく予定です.
で,折角MMLTalksで投稿した自分の曲をブログに貼り付けられたら良いなーと思ってたので,そういうのを作って見ました.

一応できたっぽい.けど,はてなだとめんどいな.Google Gadget のXMLも用意したほうが良いのかな


はてなでのブログパーツ貼り付けには,iframe → Google Gadgetコンバータ(http://d.hatena.ne.jp/Gimite/20080114/1200313343)を使わせていただきました.ありがとうございます.

ActionScript3.0ライブラリ入門


株式会社翔泳社:SEShop.com; ActionScript3.0ライブラリ入門


7/15 に発売される「ActionScript3.0ライブラリ入門」にて共著で執筆させていただきました.「豪華執筆陣!」と銘打つ中において,お前誰やねん?ランキング独走態勢な雰囲気ではありますが,一応「2章5節:サウンド系ライブラリ」を担当しております.共著の方々のリンクを張っておきます.
新藤さん;BeInteractive! [「ActionScript3.0ライブラリ入門」予約開始!]
加茂さん;xingxx - ActionScript3.0ライブラリ入門
高輪さん;ActionScript3.0 ライブラリ入門 [NUTSU]
森山さん;【Flash】「ActionScript3.0 ライブラリ入門」予約開始しました!!!|atsumo+Flash
小林さん;「ActionScript3.0 ライブラリ入門」で記事を書きましたよ (Unknown Quality)
河村さん;flabaka - 『ActionScript3.0 ライブラリ入門』が発売されます!
池田さん;「ActionScript 3.0 ライブラリ入門」の執筆に参加しました | ClockMaker Blog
浦野さん;【Tweener】ActionScript 3.0 ライブラリ入門【Papervision3D】
タロタローグさん;今月の本
こんな執筆陣の書籍に携わる機会を与えていただいて,本当にありがたいことです.


というわけで,手元にはすでに本がありまして,一足先に目を通させていただきました.
さまざまなジャンルの 19個もの ActionScript ライブラリ について 360ページに渡って網羅的に書いてあるというのは,唯一無二でしょう.一方で,各ライブラリについては限られたページ数での解説となっています.このため,すでに習熟したライブラリに関しては少し物足りないと感じるかもしれません.
本書は「ライブラリ入門」というタイトル通り,さまざまなジャンルのライブラリへの"入り口"が用意されている本だと思います.
自分の場合,ライブラリを利用するとき大きな足枷になるのが「そのライブラリを使い方を1から覚えないといけない」という点です.ライブラリは複雑な処理を肩代わりしてくれる非常に強力な道具ですが,道具を使うにはその使い方を覚えなくてはなりません.また,使い方は各ライブラリで異なるため(Tween系などは互換性がありますが),ほとんどの場合1から覚える必要があります.この「1から覚える」というのが曲者で,人間「1→10」は比較的楽なんですが「0→1」というのがなかなか難しい.その導入部をスムーズに誘導してくれる,そんな本だと思いました.


現状まともな SiON チュートリアルが書いてある唯一の情報元でもあります.是非手にとってもらえるとうれしいです.


PS. 今回,難易度と紙面の都合で,SiON 応用チュートリアル「Matrix Sequencer」の項がボツになってしまいました.が,翔泳社さんのご好意で,おまけとしてサンプルファイル内にpdf 形式で(ほぼテキストファイルのままですが)収録されています.サンプルファイル自体は上記翔泳社さんのサイトからダウンロード可能みたいですので,よかったら見てみて下さい.ただし,難易度が高いという理由で未収録となった原稿ですので,内容についてはそのつもりでお願いします.