mml2midの入門の入門Zaurus(SL-3000)

Zaurusで音を鳴らすところまで

mml2mid,timidity以前

ターミナルソフト(qpe-embeddedkonsole-ja ワイド版など)、sdouコマンド(sudo_1.6.7p5-1_arm.ipk)、エディタ(ZEditorなど)のセッティングはしておいた方が良いと思います。
【ハッキングLinuxザウルスのP7〜P12、P19〜P20、P32〜P34くらいに出てきます。】

mml2midの準備

『TAKAの管理ページ』様配布の [倉庫(旧Project D.E.V)]-[mml2mid_5.30_arm.ipk.bin]から[mml2mid_5.30_arm.ipk.bin]をダウンロードさせていただき".bin"を削除します。
このファイル[mml2mid_5.30_arm.ipk]をSDカードにコピーします。一度ザウルスに認識させたSDカードには[\Documents\Install_Files]というフォルダができていると思いますのでそのフォルダにコピーしておくと良いと思います。
そのSDカードをZaurusのSDカードスロットに挿して、[設定]-[ソフトウエアの追加/削除]をタップして[ソフトウエアのインストール]をタップ、[mml2mid]を選択してインストールします。
インストールが済んだら、先ず、PCで動作が確認できているmmlをSDカード上でも本体上でもいいので置いておき、ターミナル上でそのディレクトリまでチェンジディレクトリ(例 CD /mnt/card/Documents/user-data/mml/ など)で移動します。
そのフォルダにあるsample.mmlをmidファイルに変換するには、mml2mid sample.mmlとタイプして[Enter]を押すだけ。簡単ですね!!

timidityの準備

出来上がったmidファイルはZaurus上で鳴らしてみたいですよね?

『Tuning linux to PDAs』様配布の『timidity_2.11.2-1.3-k4_arm.ipk』をこちらのページからダウンロードさせていただき、上記と同様、SDカードの[\Documents\Install_Files]などにコピーしてZaurusのスロットに挿してインストールします。
このソフトだけでは、音は鳴らないので、音源もお借りしてこなくてはなりません。
『TiMidity だだだだ!』様配布の[でかでか zip file はここ]をクリックして[shominst-0409.zip]をダウンロードさせていただき、解凍した[shominst-0409]フォルダをSDカード等に保存します。

本体に移動してもいいのですが、SDカード上に置いたままでも使用できるそうなので、『Creative Station』様のこのぺーじの"2003/07/25"日付けの記事を参考にさせていただき、試してみました。

まず、カード中のshominst_0409の実際のTree構造がどうなっているのかチェックした後、

(Zaurus内のtree構造)

└─mnt
    └─card
        └─shominst_0409
            │  default.cfg
            │  gsdrum.cfg
            │  gsdrum25.cfg
            │  mt32.cfg
            │  power.cfg
            │  sfx.cfg
            │  akuma.mid
            │  timidity.cfg
            │
            └─inst
                ├─gus
                │
                └─test
というディレクトリ構造を踏まえて、timidity.cfgのdir設定部分を下記の様に書き換えました。

(timidity.cfgのdir設定部分)
dir /mnt/card/shominst_0409
dir /mnt/card/shominst_0409/inst/gus
dir /mnt/card/shominst_0409/inst
dir /mnt/card/shominst_0409/inst/test
で、次にtimidity.cfgを/home/QtPalmtop/etc/timidity.cfgに張る部分なのですが、どうしてもエラーが出て出来ないので(Linuxを理解しないままおっかなびっくり試しているので…涙)、直接timidity.cfgを/home/QtPalmtop/etc/timidity.cfgにコピーしてみたら…、鳴りました…(ふぅぅ…)。

鳴らし方は、ターミナルでsample.midが存在するディレクトリに移動して、
timidity sample.mid
とタイプすればOK!!

Zaurusで打ってみたテキスト

メモとして貼っておきます。

(mml2midでmml→mid)
$ cd /mnt/card/Documents/user_data/mml
$ mml2mid sample.mml
MML->MID Compiler Ver5.30 (UNIX version) trk 0A: 3048 steps ""
$
cd でmmlファイルが有る場所へ異動
mml2midでsample.mmlが無事にsample.midに変換されました。

(timidityで音が鳴るまで)
$ cd /mnt/card/shominst_0409/
$ su
# ln -s timidity.cfg /home/QtPalmtop/etc/timidity.cfg
# ls /home/QtPalmtop/etc/timidity.cfg
/home/QtPalmtop/etc/timidity.cfg
# exit
cdでtimidityのパッチが置いてあるフォルダへ移動
sudoコマンドでroot権限に成りすまし
ln -s でシンボリックリンクを張ってみる。
ls でシンボリックリンクができているかどうか確認してみる→OK。
exit でrootに成りすましを辞める
$ cd /mnt/card/Documents/user_data/mml
$ timidity sample.mid
/home/QtPalmtop/etc/timidity.cfg: Too many levels of symbolic links
timidity: Can't read any configuration file.
Please check /etc/timidity.cfg or /home/QtPalmtop/etc/timidity.cfg
cd でmidファイルが有る場所へ移動
timidity <曲名>.mid で演奏を試す
シンボリックリンクが思わしくないようなエラーメッセージ(解決したら追記します…涙)
$ su
# rm /home/QtPalmtop/etc/timidity.cfg
# cp /mnt/card/shominst_0409/timidity.cfg /home/QtPalmtop/etc/timidity.cfg
# exit
rm でシンボリックリンクを消します。
cp でtimiditiy.cfgを実際にコピーするという暴挙に出てみた。(長いので2行に見えるけど、一行でお願いします)
$ timidity sample.mid
Playing sample.mid
MIDI file: sample.mid
Format: 1  Tracks: 2  Divisions: 48
Sequence:
Copyright:
Playing time: ~35 seconds
Notes cut: 0
Notes lost totally: 0
$
もう一回演奏してみたら…今度は、ちゃんと鳴りました、ほ〜っ…。

早くシェルスクリプト使えるようになりなはれ、自分…。
どうしてシンボリックリンクが上手く行かないのかお気づきの方は、よろしかったら匿名でもいいので連絡帳にてお知らせくださると助かります。

2007.03.10

[HOME][とまて週報TOP]