< PrevIndexNext >
smfを鳴らしてみる

2015年05月05日

 その昔、MMLを鳴らすHyperCardのXCMDを作ったことがある。音楽やらmidiやらを基礎から勉強しての渾身のプログラムだったので、当時それをRunRev(現LiveCode)のスクリプトにも移植していた。LiveCodeはマルチプラットフォームなので、いつかそのプログラムをLinuxで動かしてみたいとずっと思っていた。

 Linux上でLiveCodeの起動に成功したとき、真っ先にこのmakeSMFを試してみたが、Linux上でMIDIファイルを鳴らす方法が分からず音を出すことが出来なかった。その後Synapticで目についたplaymidiというのをインストールしてみたが、ターミナルから実行するとsequencerが無いと言う。どうもMIDI音源を別に用意しないといけないようだ。前回の実験はここで頓挫。

 今回ふと思い立って、そう言えば昔Timidityというのもインストールしたことがあるなぁとターミナルから timidity xx.mid してみたら、なんと音源も無いのに鳴るではないか。このプログラムは.midファイルを.wavに変換するのが元々の目的だったそうで、もしかしたら音源データ内蔵なのかも知れない。これを使えばmakeSMF(上記LiveCodeプログラム)と組み合わせてMML演奏プログラムが作れるかも。

 いつか、どこかにあるはずのSC-55を繋げて、playmidiで鳴らす実験もしてみたい。ソフト音源もどこかにあるはず。無粋な著作権の縛りですっかり勢いを無くしてしまったmidiだけど、またちょっと遊んでみたい気分になっている。

2015年05月06日

 あれれ、makeSMFでそのまま演奏が出来た。ただし酷い音で、リズムも崩れている。一体何が鳴らしているんだろう。そもそもLinuxで鳴るように作ってないはずなんだが...もしかしてwine上のQuickTimeが鳴っている!?

 LCのスクリプトで answer qtVersion() とやってみたら2.0と表示された。調べてみるとLinux環境では常に2.0が返されるらしい。要するにQuickTimeではないと言うことだ。なのにLiveCodeのvideoPlayerで鳴っている。それではと answer the videoClipPlayer として再生しているプレイヤーのパスを表示させてみたら、単に"xanim"とだけ返ってきた。aviやQuickTime書類を再生するアプリらしいが、でも、どうもインストールされてないっぽい。

 ちなみに.midファイルを GNOME MPlayer で再生することも出来るが、LCで鳴らした時とも、Timidityで鳴らした時とも違う音で再生される。いろいろと謎。Timidityはやはり音源を自前で持っていて、これはサウンドフォントと呼ぶらしい。

2015年05月06日

 同じPCLOSでもdynabookのMPlayerはBeep音に近い音だった。X23とはインストールしているソフトが違うのでそのせいだと思うが、相変わらず何が鳴っているのかは分からない。LMDEはSMPlayerもmakeSMFも音が出なかった。ただしTimidityは鳴った。これが一番手軽で便利だけど、もしかしてモノラル?

 PCでMIDI関連のことを調べると、サウンドブラスターという単語に行き当たることが多い。これってMIDI音源として使えるのかしらん。だとしたら互換チップの載っているこのノートでも、ちゃんと設定すればMIDIを鳴らせるのかなぁ。

 playmidiでは「シーケンサーが無い」というエラーが出たが、シーケンサーって何だろう。MIDI音源のことかしらん。私はてっきりこのplaymidiがシーケンサーだと思ったのだが、どうも良く分からない。



< PrevIndexNext >
inserted by FC2 system