cmd_play 1.1 – PC88のCMD PLAY文をそれなりに再現

当サイトではアフィリエイト広告を利用しております。

Windowsソフト

概要

PC-8801 の CMD PLAY文を Windows で再現するプログラムです。

使い方

使い方: cmd_play [オプション] [#n] [文字列1] [文字列2] [文字列3] [文字列4] [文字列5] [文字列6]

オプション:
  -D変数名=値            変数に代入。
  -save_wav 出力.wav     WAVファイルとして保存。
  -help                  このメッセージを表示する。
  -version               バージョン情報を表示する。

文字列変数は [ ] で囲えば展開できます。

CMD PLAY文 (8801のみ) (CMD拡張)

  • 【機能】 音楽を演奏します。
  • 【語源】 Command play
  • 【書式】 CMD PLAY [#音源モード,] [ 文字列1 ][, 文字列2 ][, 文字列3 ][, 文字列4 ][, 文字列5 ][, 文字列6 ]
  • 【文例】 CMD PLAY "CDE" ⇒ ドレミを演奏
  • 【説明】 6和音まで演奏できます。文字列1文字列2文字列3はチャンネル1、2、3に、文字列4文字列5文字列6はチャンネル4、5、6に対応します。音源モード04の値で指定でき、次のような意味があります。
  • #0 … 別売のミュージックインタフェースボードのSSG音源を使います。
  • #1 … 別売のミュージックインタフェースボードのMIDIインタフェースを使います(未対応)。
  • #2 … チャンネル1、2、3がFM音源を、チャンネル4、5、6がSSG音源を使用します。
  • #3 … OPNを効果音モードに切り替えます。CMD PLAYY文によって音を出します。
  • #4 … OPNをCSM(サイン波)モードに切り替えます。CMD PLAYY文によって音を出します。

cmd_playでは現在、#1は選択できません。音源モードを省略した場合は、#2が選択されます。各チャンネルの文字列は、MML (Music Macro Language)といい、次のような意味を持ちます。

文字列意味初期値
Mx (SSG音源のみ)エンベロープ周期を設定します(1≦x≦65535)。M255
Sx (SSG音源のみ)エンベロープ形状を設定します(0≦x≦15)。S1
Vx音量を設定します(0≦x≦15)。V8
Lx音符や休符の既定値の長さを設定します(1≦x≦64)。L4
Qx音の長さの割合を設定します(1≦x≦8)。Q8
Oxオクターブを設定します(1≦x≦8)。O4
>オクターブを1つ上げます。
<オクターブを1つ下げます。
Nxxで指定された高さの音を発生します(0≦x≦96)。
Txテンポを設定します(32≦x≦255)。T120
Rx休符を演奏します(1≦x≦64)。xは休符の長さです。R4
CB[+/-][x][.]音符を演奏します(1≦x≦64)。xは音符の長さです。
+ (#)直前の音符を半音上げます。
-直前の音符を半音下げます。
.直前の音符や休符に符点をつけます。長さが1.5倍になります。
&前後の音をつなげます。
{ ... }x指定された長さのx分音符を{ }の中の音符の個数で等分した連符を演奏します。
@x (FM音源のみ)音色番号xで指定された音色に切り替えます。@0
Yr,d (OPNのみ)OPNのレジスタrの内容をdにします。
Zd (MIDIのみ)MIDIにデータdを送ります。
@Vx (FM音源とMIDIのみ)音量を細かく調整します(0≦x≦127)。@V106
@Wxxで指定された長さだけ状態を維持します(1≦x≦64)。@W4
  • 音符CDEFGABは「ドレミファソラシ」に対応します。
  • 音色番号については、音色一覧をご覧ください。
  • 【注意】 CMD PLAY文はCMD拡張命令であり、8801のみで使用できます。CMD PLAYを使用する前にNEW CMDを実行する必要があります(無制限モードを除く)。255文字を越える長さの文字列を指定すると、String too longエラーが発生します(無制限モードを除く)。

ダウンロード

対応環境

  • Windows XP以降。

その他の注意

  • BASICのCMD PLAY文はカンマ区切りですが、cmd_playはコマンドラインの都合のため、空白区切りです。
  • スネアドラムの音が再現できていないのを確認済みです。

開発履歴

  • 2025-01-11 Ver.1.0
    • 初公開。
  • 2025-01-12 Ver.1.1
    • OpenAL依存性を解消。致命的な不具合を修正。

音色一覧

音色番号音色名解説
0Default VOICE既定の音色
1BRASS 2ブラス系の音
2STRING 2ストリング系の音
3EPIANO 3電子ピアノ系の音
4EBASS 1電子ベース系の音
5EORGAN 1電子オルガン系の音
6PORGAN 1パイプオルガン系の音
7FLUTEフルート
8OBOEオーボエ
9CLARINETクラリネット
10VIBRPHNビブラフォン
11HARPSICハープシコード
12BELLベル
13PIANOピアノ
14MUSHI虫の鳴き声
15DESCENT高空から降下する音
16UFOUFOが遠ざかる音
17GRANPRIレーシングカーのエンジン音
18LASER 1レーザーガンの音
19LASER 2レーザーガンの音
20SIN WAVEチューニング用の正弦波
21BRASS 1ブラス系の音
22BRASS 2ブラス系の音、音色1と同じ
23TRUMPETトランペット
24STRING 1ストリング系の音
25STRING 2ストリング系の音、音色2と同じ
26EPIANO 1電子ピアノ系の音
27EPIANO 2電子ピアノ系の音
28EPIANO 3電子ピアノ系の音、音色3と同じ
29GUITARギター
30EBASS 1電子ベース系の音、音色4と同じ
31EBASS 2電子ベース系の音
32EORGAN 1電子オルガン系の音、音色5と同じ
33EORGAN 2電子オルガン系の音
34PORGAN 1パイプオルガン系の音、音色6と同じ
35PORGAN 2パイプオルガン系の音
36FLUTEフルート、音色7と同じ
37PICCOLOピッコロ
38OBOEオーボエ、音色8と同じ
39CLARINETクラリネット、音色9と同じ
40GROCKENグロッケン
41VIBRPHNビブラフォン、音色10と同じ
42XYLOPHNシロフォン
43KOTO
44ZITARツィター
45CLAVクラビネット
46HARPSICハープシコード、音色0、11と同じ
47BELLベル、音色12と同じ
48HARPハープ
49BELL/BRASSスタッカートでベル、ロングトーンでブラスの音
50HARMONICAハーモニカ
51STEEL DRUMスチールドラム
52TIMPANIティンパニー
53TRAIN列車の警笛
54AMBULAN救急車
55TWEET小鳥のさえずり
56RAIN DROP雨の落ちる音
57HORNホルン
58SNARE DRUMスネアドラム
59COW BELLカウベル
60PERC 1打楽器系の音
61PERC 2打楽器系の音

使用許諾

  • 本ソフトウェアの使用においては、LICENSE.txtに記載されている「fmgon ライセンス」の使用条件に従ってください。

連絡先

タイトルとURLをコピーしました
inserted by FC2 system