FlMML - バッファリング・ファミコン音源・ゲームボーイ ノイズ
あけましておめでとうございます。
FlMML更新しました。今回の目玉はファミコン音源と安定性の向上です。
サンプルでは ちょっとしたBGMと効果音が2回ずつながれます。
最初に今までの音源でファミコンを真似したもの。
次に新機能で再現したものが鳴ります。
どうでしょうか。
2度目のほうが より墓穴を掘りそうだし、2度目のほうが より いてつきそうな感じしませんか?
微妙といえば微妙な差なんですけどね。
FlMMLのダウンロードはこちら。
機能の説明は続きをどうぞ。
FlMML更新しました。今回の目玉はファミコン音源と安定性の向上です。
サンプルでは ちょっとしたBGMと効果音が2回ずつながれます。
最初に今までの音源でファミコンを真似したもの。
次に新機能で再現したものが鳴ります。
The Flash movie is here. JavaScript enabled please.
どうでしょうか。
2度目のほうが より墓穴を掘りそうだし、2度目のほうが より いてつきそうな感じしませんか?
微妙といえば微妙な差なんですけどね。
FlMMLのダウンロードはこちら。
機能の説明は続きをどうぞ。
まずはバッファリングについて。
前回リリースしたバージョンでは、重いMMLを処理すると頻繁にブラウザが固まっていました。
そこで、切りのいいタイミング毎にスリープしてUI に処理を返すようにしました。
ときどき処理を休んでいるのでパフォーマンスは下がってしまうのですが、速度より安定性を取りました。
その代わりに、5秒分くらいの波形をまとめて計算してしまうよう変更し、処理速度を稼いでいます。
また、計算が追いつかなかったときは「Buffering 90%」のような進捗表示をするようにしてみました。
次に、新しい波形について。
OffGaoさんの多大な協力のおかげで、ファミコンとゲームボーイの音(の一部)を再現できるようになりました。
以下は音色リストとなります。
これだけで分かる方には分かると思いますが、それほど詳しくない人がファミコンぽい音を出すためのコツを書いておきます。
まずは4和音以内に収めるのが鉄則です。
しかも、音色に制限があります。
1チャンネル目は @5 の FCパルス波。デューティ比は@w1、@w2、@w4のどれかを使いましょう。
2チャンネル目も同様です。
3チャンネル目は @6 の FC三角波。このチャンネルではボリュームを変更してはいけません。エンベロープもベタっと、@e1,0,0,127,0 のような設定を使いましょう。
4チャンネル目は @7 か @8 のFCノイズを使います。@8 は扱いが難しいので @7 を使ってドラムを表現するのがいいでしょう。o0cが一番軽い音、o1d#が重い音になるのでバスドラムやスネアドラムとして使い分けましょう。
とりあえずこんなところかな。
以前にファミコン音楽を作った方は、@2 を @6 にするだけでも随分それらしくなると思います。
ではまた~。
前回リリースしたバージョンでは、重いMMLを処理すると頻繁にブラウザが固まっていました。
そこで、切りのいいタイミング毎にスリープしてUI に処理を返すようにしました。
ときどき処理を休んでいるのでパフォーマンスは下がってしまうのですが、速度より安定性を取りました。
その代わりに、5秒分くらいの波形をまとめて計算してしまうよう変更し、処理速度を稼いでいます。
また、計算が追いつかなかったときは「Buffering 90%」のような進捗表示をするようにしてみました。
次に、新しい波形について。
OffGaoさんの多大な協力のおかげで、ファミコンとゲームボーイの音(の一部)を再現できるようになりました。
以下は音色リストとなります。
@5 | FCパルス波。@w[n]で12.5×n%のデューティ比。 |
@6 | FC三角波。 |
@7 | FCノイズ。o0c~o1d#で周波数変更。 |
@8 | FCショートノイズ。o0c~o1d#で周波数変更。 |
@9 | 予約番号。現在は音が出ません。 |
@10 | 予約番号。現在は音が出ません。 |
@11 | GBノイズ。o0c~o5d#で周波数変更。 |
@12 | GBショートノイズ。o0c~o5d#で周波数変更。 |
これだけで分かる方には分かると思いますが、それほど詳しくない人がファミコンぽい音を出すためのコツを書いておきます。
まずは4和音以内に収めるのが鉄則です。
しかも、音色に制限があります。
1チャンネル目は @5 の FCパルス波。デューティ比は@w1、@w2、@w4のどれかを使いましょう。
2チャンネル目も同様です。
3チャンネル目は @6 の FC三角波。このチャンネルではボリュームを変更してはいけません。エンベロープもベタっと、@e1,0,0,127,0 のような設定を使いましょう。
4チャンネル目は @7 か @8 のFCノイズを使います。@8 は扱いが難しいので @7 を使ってドラムを表現するのがいいでしょう。o0cが一番軽い音、o1d#が重い音になるのでバスドラムやスネアドラムとして使い分けましょう。
とりあえずこんなところかな。
以前にファミコン音楽を作った方は、@2 を @6 にするだけでも随分それらしくなると思います。
ではまた~。
« ファミコン三角波 | トップページ | ActionScript日記 - 高速化についてまた調べてみた »
「ActionScript 3.0」カテゴリの記事
- FlMML - リングモジュレーターとSync(2009.07.26)
- FlMML - ファミコンDPCM(2009.05.16)
- キー入力のレベル、トリガ、リピートを取得(2009.05.06)
- FlMML - エクスプレッション(2009.05.03)
- FlMML - 引数つきマクロ(2009.04.12)
「FlMML」カテゴリの記事
- FlMMLリポジトリの引越し(2011.02.05)
- FlMML - リングモジュレーターとSync(2009.07.26)
- MML対応Twitterクライアント(2009.07.24)
- FlMML - DPCM変換ツール(2009.05.17)
- FlMML - ファミコンDPCM(2009.05.16)
コメント
この記事へのコメントは終了しました。
トラックバック
この記事へのトラックバック一覧です: FlMML - バッファリング・ファミコン音源・ゲームボーイ ノイズ:
» 「FlMML - バッファリング・ファミコン音源・ゲームボーイ ノイズ」 [とりあえずコーヒーを飲もう]
「FlMML - バッファリング・ファミコン音源・ゲームボーイ ノイズ」
http://sketch.txt-nifty.com/blog/2009/01/flmml---47dc.html [続きを読む]
早速取り込みまーす!
bufferringの表示方法を考えないと…
投稿: グニャラくん | 2009.01.06 11:54
バッファリング表示まで…
さすが仕事はえええー!
おつかれさまです!
投稿: おー | 2009.01.07 01:28
どもども。12/22のレスには気づいてなくてごめんなさい…
ニコニコ大百科の掲示板からコピペですー!
----
2009010601でノコギリ波にFM変調をかけた時だけ音が出なくなりました(Win XP SP3, Firefox 3.05, Flash 10,0,12,36)。
正確にはアタック時にプツプツとノイズが出るだけになります。
例)
@0 @O1,0 @E1,0,0,127,0 O5 @V96
cdef;
@1 @I1,0 @E1,0,0,127,0 O5 @V96 /*@1以外では出る*/
cdef;
投稿: グニャラくん | 2009.01.12 00:47
ケアレスバグ多いな…。
すみません、修正しました!
そして前回のバージョンよりも軽くなっていると思います。
これでまたエンバグしてないといいけど…。
投稿: おー | 2009.01.12 14:12
予告。GB波形メモリ音源のります。
#WAV10 0,0000000000000000ffffffffffffffff
@10-0
みたいな感じで指定の予定。
投稿: おー | 2009.01.30 01:20