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

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

Windowsソフト

概要

8ビット時代の古いパソコン PC-8801 の CMD PLAY文を、現代の Windows パソコンのコマンドラインで再現するプログラムです。懐かしのCMD PLAY 文の音をそれなりに再現できます。

使い方

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

オプション:
  -D変数名=値                変数に代入。
  -save-wav 出力.wav         WAVファイルとして保存。
  -stopm                     音楽を止めて設定をリセット。
  -stereo                    音をステレオにする(デフォルト)。
  -mono                      音をモノラルにする。
  -voice CH FILE.voi         ファイルからチャンネルCHに音色を読み込む。
  -voice-copy TONE FILE.voi  音色をファイルにコピーする。
  -bgm 0                     演奏が終わるまで待つ(デフォルト)。
  -bgm 1                     演奏が終わるまで待たない。
  -help                      このメッセージを表示する。
  -version                   バージョン情報を表示する。

数値変数は、「L=数値変数名;」のように等号とセミコロンではさめば指定できます。
文字列変数は「[A$]」のように [ ] で囲えば展開できます。

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に対応します。音源モード05の値で、次のような意味があります。
  • #0 … 別売のミュージックインタフェースボードのSSG音源を使います。チャンネル1~6がSSG音源を使用します。
  • #1 … 別売のミュージックインタフェースボードのMIDIインタフェースを使います(未対応)。
  • #2 … チャンネル1、2、3がFM音源を、チャンネル4、5、6がSSG音源を使用します。
  • #3 … OPNを効果音モードに切り替えます。CMD PLAYY文によって音を出します。
  • #4 … OPNをCSM(サイン波)モードに切り替えます。CMD PLAYY文によって音を出します。
  • #5 … チャンネル1~6がFM音源を使用します。

cmd_playでは現在、#1は選択できません。音源モードを省略した場合は、#2が選択されます。#5は、スーパーICでなければ選択できません。通常、音源モードは、#0#2、または#5でお使いください。MIDIとリズム音源はまだ未対応です。

各チャンネルの文字列は、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で指定された音色に切り替えます。FM音源の音色一覧@0
Yr,d (OPNのみ)OPNのレジスタrの内容をdにします。
Zd (MIDIのみ)MIDIにデータdを送ります。
@M (スーパーIC、FM音源のみ)出力を左右両側に設定します。
@L (スーパーIC、FM音源のみ)出力を左側に設定します。
@R (スーパーIC、FM音源のみ)出力を右側に設定します。
@Vx (FM音源とMIDIのみ)音量を細かく調整します(0≦x≦127)。@V106
@Wxxで指定された長さだけ状態を維持します(1≦x≦64)。@W4
  • 音符CDEFGABは「ドレミファソラシ」に対応します。
  • 音色番号については、FM音源の音色一覧をご覧ください。
  • 【注意】 CMD PLAY文はCMD拡張命令であり、8801のみで使用できます。CMD PLAYを使用する前にNEW CMDを実行する必要があります(無制限モードを除く)。255文字を越える長さの文字列を指定すると、String too longエラーが発生します(無制限モードを除く)。

ダウンロード

対応環境

  • Windows XP以降。

その他の注意

  • BASICのCMD PLAY文はカンマ区切りですが、cmd_playはコマンドラインの都合のため、空白区切りです。
  • 今となってはこのようなコマンドを使った音楽制作は時代遅れとなってしまいました(要検証?)。現代的なデジタル音楽制作を楽しみたいのであれば、DTM/DAW のフリーソフトでも探してみてください。とは言っても、当時の遺産が…(以下、臨時駐屯政府の要請で議事録から削除済み)
  • 反論。DTMでは素早く音符が打ち込めないし、音符の長さの割合を入力するのが面倒。結論。使いたい奴が使えばいい。

変更履歴

使用許諾

  • 本ソフトウェアの使用においては、LICENSE.txtに記載されている「fmgon ライセンス」の使用条件に従ってください。
  • 本ソフトウェアのソースコードは https://github.com/katahiromz/cmd_play からダウンロードできます。
  • 本ソフトウェアの一部は、cisc さん (cisc@retropc.net) が著作権を所有しています。

連絡先

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