xbasipパッケージmusicモジュールm_init(mode=0)
mode -- 初期化モード
m_alloc(trk, size)
trk -- トラック番号(1~80)size -- バッファサイズ(バイト)m_free(trk)
trk -- トラック番号(1~80)戻り値 -- 空き容量(バイト)m_assign(ch, trk)
ch -- チャネル番号(1~25)trk -- トラック番号(1~80)m_play(*ch_s)
*ch_s -- チャネル番号(1~25)。ただしzmusic2.x常駐時はトラック番号(1~80)を意味しますm_stop(*ch_s)
*ch_s -- チャネル番号(1~25)。ただしzmusic2.x常駐時はトラック番号(1~80)を意味しますm_cont(*ch_s)
*ch_s -- チャネル番号(1~25)。ただしzmusic2.x常駐時はトラック番号(1~80)を意味しますm_stat(ch=0)
ch -- チャネル番号(1~25)戻り値
m_tempo(tempo)
tempo -- 1分間に4分音符を演奏する回数(20~300)。初期状態は120m_trk(trk, mml)
trk -- トラック番号(1~80)mml -- MMLデータ(bytearrayもしくはbytes)m_atoi(trk)
trk -- トラック番号(1~80)戻り値 -- トラックバッファの先頭アドレスm_vset(vo, buf)
vo -- 音色番号(1~200)buf -- 音色データ(bytesarrayもしくはbytes)。55バイトm_vget(vo, buf=None)
vo -- 音色番号(1~200)buf -- 取り出し用のデータバッファ(bytesarray)。55バイト。省略時は内部で確保して返します戻り値 -- 音色データ(bytearray)。55バイト| 音色データ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| AF | OM | WF | SYC | SPD | PWD | AMD | PMS | AMS | PAN | DUMMY | |
| OP1 | AR | D1R | D2R | RR | D1L | TL | KS | MUL | DT1 | DT2 | AMSEM |
| OP2 | AR | D1R | D2R | RR | D1L | TL | KS | MUL | DT1 | DT2 | AMSEM |
| OP3 | AR | D1R | D2R | RR | D1L | TL | KS | MUL | DT1 | DT2 | AMSEM |
| OP4 | AR | D1R | D2R | RR | D1L | TL | KS | MUL | DT1 | DT2 | AMSEM |
musicモジュールを使用するには、opmdrv3.xもしくはzmusic2.xをシステムに組み込んでおく必要があります。ただし、opmdrv3.xとzmusic2.xにはいくつかの仕様の違いがあり、本ライブラリをする場合の動作にも差異が生じることがあります。例えば、opmdrv3.xでのm_play()はX-BASIC同様にチャネルを指定して演奏しますが、zmusic2.xはトラックを指定して演奏します。多くの場合チャネルとトラックは1対1の関係で使われますが、そうではない場合に動作が異なります。m_stop()、m_cont()も同様です。また、opmdrv3.xでは音色番号1~68に対し下記のプリセットデータが組み込まれていますが、zmusic2.xには組み込まれていません。
| 番号 | 音色 | 番号 | 音色 |
|---|---|---|---|
| @1 | A.ピアノ | @35 | ホルン |
| @2 | H.ピアノ | @36 | トロンボーン |
| @3 | エレクトリックピアノ | @37 | チューバー |
| @4 | クラビネット | @38 | ブラス1 |
| @5 | セレスタ | @39 | ブラス2 |
| @6 | チェンバロ | @40 | ハーモニカ |
| @7 | アコースティックギター | @41 | オカリナ |
| @8 | エレクトリックギター | @42 | リコーダー |
| @9 | ウッドベース | @43 | サンバホイッスル[3,4] |
| @10 | エレクトリックベース | @44 | パンフルート |
| @11 | バンジョー | @45 | スネアドラム[2] |
| @12 | シタール | @46 | リムショット[3] |
| @13 | ハープ | @47 | バスドラム[0] |
| @14 | 琴 | @48 | タムタム[2] |
| @15 | パイプオルガン1 | @49 | ティンパニ[2,3] |
| @16 | パイプオルガン2 | @50 | ボンゴ[2,3] |
| @17 | エレクトリックオルガン | @51 | ティンバレス[3] |
| @18 | アコーディオン | @52 | トライアングル[3,4] |
| @19 | バイオリン | @53 | カウベル[3,4] |
| @20 | チェロ | @54 | チューブラーベル |
| @21 | ストリングス1 | @55 | スチールドラム |
| @22 | ストリングス2 | @56 | グロッケン |
| @23 | ピチカート | @57 | ビブラフォン |
| @24 | ボイス | @58 | マリンバ |
| @25 | コーラス | @59 | クローズハイハット[3] |
| @26 | グラスハープ | @60 | オープンハイハット[4] |
| @27 | ホイッスル | @61 | シンバル[4] |
| @28 | ピッコロ | @62 | シンセサイザ1 |
| @29 | フルート | @63 | シンセサイザ2 |
| @30 | オーボエ | @64 | アンビューランス |
| @31 | クラリネット | @65 | 嵐 |
| @32 | バスーン | @66 | レーザーガン |
| @33 | サックス | @67 | ゲーム1 |
| @34 | トランペット | @68 | ゲーム2 |
ガキ括弧内の数字はその音色で推奨のオクターブ。