GR-SAKURA用FM音源シールドライブラリのバージョンアップ

長らく放置していたGR-SAKURA用FM音源シールドライブラリをちょっとだけバージョンアップしました。

ダウンロードと解説はこちら → http://d.hatena.ne.jp/licheng/20131207

今回の変更点は以下の通りです。

SSG音源にノイズモードを追加

SSG音源のトーンとノイズをミックスする機能をサポートしました。従来は各SSGチャンネルからは矩形波トーンしか出せませんでしたが、新しく追加した MMLplayer.setToneNoise() により、(1)トーンのみ (2)ノイズのみ (3)トーン+ノイズ のいずれかを設定できるようになりました。


MMLplayer.setToneNoise(int ch, int mode)

  • ch チャンネル番号。3〜5のSSG音源のみ有効。
  • mode トーン/ノイズ モードの指定。
TONE_MODE トーンのみ出力
NOISE_MODE ノイズのみ出力
TONE_NOISE_MODE トーン+ノイズを出力

プリセット音色テーブルを準備(データは作成中)

プリセット音色テーブルを準備しました。データはまだ作成中です。
番号と楽器名は、PC-8801のプリセット音色に合わせてますが、本物のPC-8801の音色はパラメータが分からないので、だいぶ違う音色かも。
現状で使用できるのは、トランペット(23)、ストリングス1(24)、ストリングス2(25)、エレキベース(30)、クラリネット(39)、シタール(44) です。
なお、使用している音色データは、阿保 剛さんがVAL-SOUNDにて公開されているFM-Libraryより引用しました。

MMLに@コマンド(音色指定)を追加

上記のプリセット音色をMMLで使用するために、@コマンドを追加しました。@の後に音色番号を指定します。もちろんFM音源チャンネルでのみ有効です。

MMLに&コマンド(タイおよびスラー)を追加

タイおよびスラーを表現するために、&コマンドを追加しました。&コマンドは前後の音をキーオフせずにつなぎます。前後の音符が同じ音程であればタイに、異なる音程であればスラーになりやす。

MMLplayer.setEnvelope()の不具合修正

エンベロープ番号に0〜7を指定したときにはじかれる不具合があったので、修正しました。