正直日記



2009/09/30

_ ようやく俺が完全否定されたな
(3)マジコン等のハードウェアメーカーの著作権上の違反性が高いと思わ れるエミュレーション機器を使ったゲームの展示も出展できません。 SIG-Indie Special 同人・インディーズゲーム展示会 「秋葉原ロケテゲームショウ1」出展参加案内
いやまあ、これは当然の措置だと思うし、仮にこの文面が無かったとしても出す つもりはおろか、出せるものすら無いわけだけど……。 それはそれとして文面の「マジコン等の」とはどこまでを指すのだろう。ディス クシステムを書き換えるのはありなんだろうか。ポケステはどうかなあ。NINTENDO POWER は駄目くさい。 DC は駄目だろうな。というかコンシューマに固執する必 要もないけど。
_ 確かに SDL を perl で使う人は見たことがない
SDL というマルチプラットフォームなマルチメディアライブラリの集まりに もう何年も続けて顔を出しているが、Perl の SDL バインディングを使って いるという人には会ったことがない。Python や Ruby は結構いるのに。 何故 Perl はあれほどウェブに偏った発展を遂げたのだろうか、終わり。 死滅病棟: YAPC::Asia 2009 今更レポート
個人的にもウェブ・雑用以外には、gtk2-perl をちょっと使うくらいか。 近頃流行りの Coro.pm (特に semi-coro な Coro::State かな)や AnyEvent あたりは、SDL_perl との相性もよさそうな気がする。というよりこれらが相性 悪いなら Ruby/SDL や PyGame を使えば?という話になりそうだ。 Simple DirectMedia Library Bindings for Perl を見ると、精力的に更新されているようだ。じゃあ一つ入れてみるかと思ったら 依存ライブラリがかなり多い。そして Windows 用の binary pack は現在リンク 切れのようだ。うーそろそろデスクトップも Windows やめようかしら。

2009/09/29

_ 倍音の果てに
なんか HD になるらしいので……というわけでもないのですが RAYSTORM のアド
バタイズ「CYCLOID」を SiON でカバーしました。

RAYSTORM / CYCLOID by kashiwa | MMLTalks

例によって重いデータなので、CPU は最低でも秒間2ギガ回くらいは回せないと
厳しそうです。mp3 も置いておきますが、フルコンピューティングで鳴っている
ことだけに意味があるデータなので、mp3 で聴くのはアレです。

カバーなので曲的な話はしませんが、今回は音的に似せる努力をしたので、音色
作りについて少し述べてみたいと思います。人の褌で相撲を取ります。

といっても複雑なことはしておらず、基本的には、倍音の多い基本波形を並列ア
ルゴリズムで足し算して、フィルタで削るという、アナログシンセ的な音作りを
していきます。

まずメインメロディ。これは GS 音源の Brightness という音色を参考にします。
録音して倍音をチェック。



取り合えず低いところだけ見ていくと、5・7・9次倍音が弱く、2次倍音が
強いようです。ということは基音+偶数倍音で構成される半波整流波と、偶数
倍音のみで構成される全波整流波、そして3次倍音を合成してやればそれっぽ
い音になるはずです。うっすら見えている5・7次倍音は鋸波でカバーします。


(クリックで mp3 にリンク)

ローパスの掛かった Brightness に聴こえるような、そうでも無いような……。

それより残念なお知らせです。ここまでで4つの音を使ってしまったため、これ
以上倍音を足すことが出来ません(本当は足せますが、色々と事情があるのです)。
別のアプローチを取る必要が出てきました。

というわけで試行錯誤した結果、次のようなパラメータに決まりました。

#@101{ // SuperBrightness
// AL FB FC
   05 00 00
// WS AR DR SR RR SL TL KR KL ML D1 D2 AM PH FN
   00 40 20 14 24 04 32 00 03 07 00 00 00 00 00
   00 37 24 15 24 03 00 00 01 02 00 00 00 00 00
   02 40 25 18 24 04 00 00 01 01 00 05 00 00 00
   01 38 23 20 24 04 00 00 01 02 00 -5 00 00 00
}@f94;

数字の羅列を見せられても意味が分からないと思うので、図にしました。

The GNOME Projectもこういう風に使われるとは思ってなかったろう……

一目瞭然!
結局、全ての倍音を含んでいる鋸波でごまかしたと言うわけですね!
人生は挫折と妥協の連続であり、今回もまた辛酸を舐めたのでした。


他の音色も解説したいところですが、もう誰も読んでないでしょうから
ここまでにしておきます、ではまた次回。

--

追記(09/30):

端折りはともかく、周波数解析まで関係ないと取られてしまうのは困ると思った
のでオチを崩しますが画像と解説を追加します。(使っている基本波形の倍音構
成は全て述べましたし、あの図で自明だろうと思ったのですが、やっぱり説明不
足だったかな)

それぞれのオペレータが発している音をスペクトラムで見るとこうなります。
(左の四つは「〜x7」による変調が掛かっていない状態のものです)



全倍音の鋸波を使ったため5・7・9次も埋まってしまっていますが、背に腹は
変えられません。高周波を増やす目的で、味付けに「〜x7」でうっすらと周波数
変調を掛けました。そのままでは高い音程を出そうとするとキンキンしてしまう
ので、KL を使って高音程ほど変調が弱まるようにしています。

こんなところでしょうか。

最新
2010 | 01 04
2009 | 01 02 03 04 05 06 07 09 10 11 12
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 01 02 03 04 05 06 07 08 09 10 11 12
2005 | 01 02 03 04 05 06 07 08 09 10 11 12