FlMML - エクスプレッション
最近FlMMLのことしか書いてないけど今日もFlMMLの更新情報。
v、@vのベロシティコマンドに続く音量設定コマンド、@x エクスプレッションコマンドを追加しました。
値は0~127までで、デフォルトは127となっています。
ベロシティがノートオンのときの強さであるのに対して、エクスプレッションはその楽器の抑揚を表します。
と、難しいこと言ってますが、2種類の音量設定が使えるようになったってことですね。
タイで音を伸ばしている最中でも音量を変更できるので、ソフトウェアエンベロープなどにもご活用ください。
FlMMLのダウンロードはこちらからどうぞ。
v、@vのベロシティコマンドに続く音量設定コマンド、@x エクスプレッションコマンドを追加しました。
値は0~127までで、デフォルトは127となっています。
ベロシティがノートオンのときの強さであるのに対して、エクスプレッションはその楽器の抑揚を表します。
と、難しいこと言ってますが、2種類の音量設定が使えるようになったってことですね。
タイで音を伸ばしている最中でも音量を変更できるので、ソフトウェアエンベロープなどにもご活用ください。
FlMMLのダウンロードはこちらからどうぞ。
« FlMML - 引数つきマクロ | トップページ | キー入力のレベル、トリガ、リピートを取得 »
「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)
コメント
この記事へのコメントは終了しました。
ファミコンのDPCMについてですが、
もし付けるとしたら、DPCMデータはどんな感じで記述すれば良いでしょうか。
フォーマットは波形メモリと同じで、@9-0 #WAV9 0,xxxxxxな感じで書き、
データはBASE64で記述するといった感じで考えていたりはしますが…
-------
ちなみに、Skype持ってたらID教えていただけるとありがたいです。
投稿: OffGao | 2009.05.08 03:11
そんな感じで良いと思います。
実装してもらえちゃったりするんでしょうか?
WAVからの変換ツールどうするかも悩みどころですねぇ。
残念ながらSkypeはやってないです。
投稿: おー | 2009.05.09 00:47
DPCM、がんばって実装してみたいと思ってます。
#WAV9の仕様を固めましたが、これでどうでしょう。
------
引数1:波形データ番号
引数2:波形初期位置
引数3:ループフラグ(1でループ再生する)
引数4:データ(BASE64で書き、サイズはバイナリで0x3FFAバイト分まで)
例:#WAV9 0,64,0,+/f9AvYnIvUdkg8+gr/uR/yr …
・#WAV9 #WAV09どちらでも良い
・波形は16種類まで定義できる。
------
あと、メモリ使用量から考えて、
「すべての波形データのサイズの合計が0x3FFAバイトに収まらなければならない」
といった制限も設けた方がいいでしょうか。
変換ツールは…
dmcconvかFamiTrackerのインポート機能で、WAVファイルから「.dmcファイル」に変換できます。
このファイルこそが純粋なDPCM波形データなので、これをBASE64化してくれれば問題ないです。
BASE64のエンコーダも、探せばあるみたいなので、これでいけるはず。
投稿: OffGao | 2009.05.09 17:35
おお、期待してます!
と、完全に人任せモードですが・・・。
DPCM、以前実装しようかと思ったんだけど計算したら意外と文字数食うなぁと思ってやる気なくしちゃったんですよね。
0x3FFAバイトがファミコンでの上限なんでしょうか?
base64エンコードで21838文字ですから、このくらいの制限はあっても良さそうですね。
制限があったほうが燃えるひともいるでしょうし。
なんだかんだ言いましたが、これでマリオ3やグラディウスIIが聴けるのかもと思うと楽しみです(^^)
投稿: おー | 2009.05.09 23:41
OCMMLおよびSlMMLも今回のエクスプレッションに対応しました。
また、両方とも引数付きマクロは実装済みです。
Androidのcupcake(v1.5)からAudioTrackによる動的な音(PCM)
生成が可能になったので、AndroidでもMMLのライブラリを
作ってみました。
http://svn.sourceforge.jp/svnroot/ocmml/trunk/android/jp/sourceforge/ocmml/android/
マクロは未実装ですが、それ以外のエクスプレッションを含めた
機能をほぼ網羅しています。
投稿: hkrn | 2009.05.12 00:20
とりあえず、DPCMを実装してみました。
一部の仕様が、前に書いた内容と変更してます。
・#WAV09は、やっぱり駄目
・1つの波形データの最大サイズは、バイナリで0xFF1バイト分まで
(ファミコン準拠、こっちが正しかった)
・すべての波形データのサイズの合計は制限してない
ここに、変更した分のソースとSWFファイル等を置いておきます。
http://offgao.no-ip.org/f/flmml090512/
投稿: OffGao | 2009.05.12 00:26
>hkmさん
なんという開発力・・・。
家で一日一時間もPCに触ってる時間がない身としては感心するばかりです。
Android携帯でもMMLできるんですかねぇ。夢が広がる。
FlMMLのページからSlMMLとAndroid用のページにもリンク張らせていただきました!
ありがとうございます!
投稿: おー | 2009.05.13 00:38
そして早速新機能!
サンプルかっけー!
このくらいの文字数でも結構使える音になるんですねぇ。
なるべく早めに目を通してコミットしますが、前述のとおりなかなか時間とれないので遅くなってしまったらすみませんm(__)m
投稿: おー | 2009.05.13 00:50
とりあえずコミットしましたー!>OffGaoさん
更新のお知らせはまた後ほど・・・。
投稿: おー | 2009.05.15 01:10
DPCM機能がコミットされたようなのでご報告を。
WAVファイルからFlMML用DPCM定義へ変換するツールを作ってみましたので、ここに置いておきます。
http://www.logicmachine.jp/files/DPCMConverter.swf
使い道があるかどうかは分かりませんが一応ソースも。
http://www.logicmachine.jp/files/DPCMConverter.src.zip
投稿: arche | 2009.05.16 20:47
おー! こりゃすげーーー!
ありがたくリンク張らせていただきます!!
投稿: おー | 2009.05.17 00:01