最近のトラックバック

スポンサード リンク


  • Google
    Web sketch.txt-nifty.com

リンク

« 矛盾 | トップページ | 『ファシリテーション・グラフィック―議論を「見える化」する技法』 »

FlMML - LPFとHPF

 フィルタ仮対応の記事から早1ヶ月以上。
 処理速度を取るか品質を取るかで悩んでたんですが、結局両方入れちゃいました。
 荒い音だけど動作の軽いフィルタと、重いけど品質のよいフィルタが選べます。
 とりあえず軽いほうを聴いてみて下さい。

The Flash movie is here. JavaScript enabled please.


 バスドラムの音もレゾナンスの自己発振で作ってあります。
 MMLが鳴らす音らしからぬ、荒削りな音がかえって面白いと思います。
 使い方は以下の通り。

 まずはフィルタの設定。
 結局パラメータは4つになりました。
@F[switch], [amount], [frequency], [resonance]
名前説明
switch0のときフィルタなし / 1のとき荒いLPF / 2のとき高品質LPF / -1のとき荒いHPF / -2のとき高品質HPF
amount-127~127でフィルターエンベロープの影響度を設定します。
frequency0~127で基準になるカットオフ周波数を設定します。
resonance0~127でレゾナンス量を設定します。127のときは発振します。


 エンベロープフィルターは、
@E2,[attack], [decay], [sustain], [release]
 で設定します。これは通常のエンベロープと同じ設定方法なので、だいたい分かると思います。

 フィルタのソースはhttp://www.musicdsp.org/から頂いてきました。ありがとうございます!

追記:ダウンロードはこちら。書き忘れてました…。

« 矛盾 | トップページ | 『ファシリテーション・グラフィック―議論を「見える化」する技法』 »

ActionScript 3.0」カテゴリの記事

FlMML」カテゴリの記事

コメント

フィルタをかけると音が柔らかくなりますね。これで、管楽器らしさも出るようになりました。

早速Loreleiの音色設定にフィルタを入れてみましたが、楽譜によっては音が途切れ途切れになってしまいます。
http://mabinogi.logue.be/ja/articles/view/2
最初は性能不足かと思いましたが、CPUの負荷を見る限りさほど高い値ではないので原因はほかにあるのでしょうか?

おお~まだ高速化の余地がそんなに!
…と思ったんですがウチのPCでは普通に100%出ちゃってました(;;)。

そうですねぇ。もしかしたら4分音符ごとにシグナル出してるのとかが悪さしてるのかもしれないんで、時間が出来たら少し調査してみますね。
なんか、自分が知らないだけで劇的に早くなるほうほうとかないかなぁ…。

とりあえず、楽器の設定をマクロ化することである若干は負荷が減ったみたいです。

というか、FLMMLの仕様上さすがに15チャンネルは厳しいでしょうか?

じゅうご!
仕様上は100でも200でも行けるんですけど、CPU能力次第なんですよね。まずうちのPCじゃ無理です。
LogueさんのPCだと何音くらいまでなら途切れずに発音できるんでしょう?

ブラウザや環境によって異なります。
開発に使っているパソコンの場合、Athlon64x2 2.4GHzDCですが、6音程度(二種類の楽器)なら問題なく再生できます。

しかし、Vistaノート(CoreDuo2 2.2GHz)では、性能がこちらの方が上なのに、再生できるどころか、MMLによってはブラウザごとハングします。

再生ができるのもブラウザによって大きく異なります。IEだとよく固まるものでも、FirefoxやSafariでは比較的途切れずに再生されます。(※前回の投稿のMMLはどの環境でも途切れてしまいました。)

いずれにおいても、CPUの負荷を使い切ると言うよりも、たとえばマウスで画面をスクロールしたときや、ハードディスクやメモリにアクセスが集中するときに音が途切れる傾向が強いみたいです。

言い忘れていましたが、CPUの負荷が100%になrないというのは、いずれの環境もデュアルコアだったからかもしれません。
Flashの仕様には詳しくありませんが、1コアしか使えない無い場合、負荷が50%まで来ているので性能オーバーという可能性もありますね。

ちなみに、このMMLは理論上一番処理が重いMMLです。ただ、15チャンネルの内12チャンネルしか使っていないはず。

いいPC使ってますねー。
うちは未だにPen4 1.6Ghzなんで。
まあ、逆に「高速化しなきゃ!」って気になりますけど。

ぼくもそれほど詳しくないのでググってみたんですが、Flashはシングルスレッドって書いてあったのでマルチコアを100%生かすことはできないのではないでしょうか?
FlMML自体もスレッドセーフな作りになってませんしね。
将来のFlashの仕様によってはマルチスレッド対応も面白そうですが、それまでにはPC買い換えないと駄目ですね…。

計算負荷の軽い音源を載せるっていうのが、いまの時点での現実的な解かもしれませんね。
FM音源て軽いかなぁ…。

JSMMLでWAVE音源をシミュレートしているみたいですけど、こういうのは参考になるでしょうか?
http://d.hatena.ne.jp/leapfrog/20071024/1193157086

最近本業が忙しすぎて何もできずすんません・・・。

MMLでPCMはすごいですね!
FlMMLでもPCMを鳴らそうと思えば簡単だと思うんですが、テキストで小さく記述できるっていうところと相反してしまうので、どうかなーって気もするんですよね。
SCC音源くらいならいいんですけど。

本家Popforgeを作ってるAndre Michelleさんが作ってるMOD PLAYERはPCM音源ですよね。

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: FlMML - LPFとHPF:

« 矛盾 | トップページ | 『ファシリテーション・グラフィック―議論を「見える化」する技法』 »

ブログパーツ



2021年7月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
無料ブログはココログ