OKI MSM6258/MSM6295用のサンプルを作る

今回もFurnaceのお話です。
筆者はチップやICの細かい仕様や知識が皆無なので変な事が書いてあったらすみません。

最近X68000系のチップチューン(YM2151+OKI MSM6258)に興味があり、自分でも少し作ってみました。

上の曲では某ゲームのFMパラメータとドラムサンプルを使用しました。
FMパラメータは何とかすれば覗くことが出来るのですがサンプルの方はどうしてもデータを見る事が出来なかったのでMDPlayerでドラム部だけ録音し、切り取ったものをGeneric PCM DACチャンネル(制約無しのサンプル再生用)で鳴らす事で解決させることに。

でもせっかくならX68000のMSM6258、またはアーケード等に使用されているMSM6295でちゃんと鳴らしてみたいなとも思うのでなんとかサンプルを用意したい…。という事で仕様など色々調べてみました。

事前準備

結論から言うと各チップの最大サンプリング周波数と用意するサンプルの周波数を合わせると上手く鳴ってくれそうです。サンプルの編集にはAudacityを使いました。
Furnace側でチップに与えるクロック周波数を指定できるので、想定するクロック数にしておく事も忘れないでください。

MSM6258(X68000)用サンプル用意の手順

まずはX68000に於けるMSM6258の最大サンプリング周波数を確認します。

MSM6258のデータシートより

データシート上ではクロック周波数が4.096MHzの場合の説明しか乗っていませんが、これをX68000で使用されているらしい8MHzに置き換えると、最大サンプリング周波数は15.625kHzとなるようです。
つまり15625Hzのサンプルを用意すれば鳴ってくれるという事なのでやってみます。

まずAudacityの”編集”≫”環境設定”のオーディオ設定から”品質”内にあるプロジェクトのサンプリング周波数を15625Hzにしておきましょう。これをしておかないとサンプルをエクスポートする時に44100Hzで保存されてしまいます

次にAudacityにサンプルを読ませたらCtrl+Aで全て選択します。トラック≫再サンプリングを選択し、新規サンプリング周波数を15625Hzに指定してOKを押します。これでサンプルの周波数が44100Hzから15625Hzに変わりました。
読み込ませたサンプルのサンプリング周波数が書いてある部分を右クリックしてサンプリング周波数を変更する事もできますが、この方法ではサンプルのピッチも変わってしまい後々の結果に影響するので前述の方法で行ってください。

そうしたらファイル≫エクスポート≫WAVとしてエクスポートを選択し、名前を付けて保存します。

それでは出力されたサンプルをFurnaceに読み込ませましょう。

中央上部のRateにあるHzが15625になっていればOK

Furnace側ではfile≫manage chipsからChip Managerウィンドウを開き、OKI MSM6258のクロック周波数を8MHzに設定します。

想定する環境に合わせてクロックレートを変更できる

読み込んだサンプルでInstrumentを作成して鳴らしてみるとしっかり元の音程と同じ音でサンプルを鳴らすことができました!嬉しい~~

MSM6295(アーケード)用サンプル用意の手順

基本的な手順は前項と同じですが、アーケード基板毎にクロック周波数が異なると思いますのでそれに合わせましょう(例えばCPS-1の場合与えられるクロック周波数は7.576kHzだそうです)。Furnaceで用意されている選択肢に目的の周波数が存在せず、それでも特定の環境を忠実に再現したい場合はCustom clock rateに直接入力する事で同じ環境を用意できると思います(CPS-1だと7576Hz)。用意するサンプルの周波数も同様にしましょう。

ただ私の場合はせっかくなら音質良い方がいいと思いデータシートに沿って4.224MHzに指定し、32KHzのサンプルを鳴らす事にしています。何でもできるのがFurnaceいい所なので好みに合わせていいかなと思います。

MSM6295のデータシートより

余談ですが6295は6258と違い9段階(-24db~0dbまで3dbずつ)の音量変化に対応しているのでFurnaceのボリュームカラムに0~8を入力する事で音量を制御する事ができます。

以上。

この記事が気に入ったらサポートをしてみませんか?