Skip to content

katahiromz/cmd_play

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

(Japanese, UTF-8)

English is here

cmd_play by 片山博文MZ

概要

古いパソコン PC-8801 の N88-BASIC という言語の CMD PLAY 文を現代の Windows パソコンでエミュレート(再現)するプログラムです。

使い方

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

オプション:
  -D変数名=値                変数に代入。
  -save-wav 出力.wav         WAVファイルとして保存(MIDI音源を除く)。
  -save-mid 出力.mid         MIDファイルとして保存(MIDI音源のみ)。
  -reset                     音楽を止めて設定をリセット。
  -stopm                     音色を変えない以外は -reset と同じ。
  -stereo                    音をステレオにする(デフォルト)。
  -mono                      音をモノラルにする。
  -voice CH FILE.voi         ファイルからチャンネルCHに音色を読み込む(FM音源)。
  -voice CH "CSV"            配列からチャンネルCHに音色を読み込む(FM音源)。
  -voice-copy TONE FILE.voi  音色をファイルにコピーする(FM音源)。
  -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音源を使います。チャンネル1~6がMIDI音源を使用します。
  • #2 … チャンネル1~3がFM音源を、チャンネル4~6がSSG音源を使用します。
  • #3 … OPNを効果音モードに切り替えます。CMD PLAYY文によって音を出します。
  • #4 … OPNをCSM(サイン波)モードに切り替えます。CMD PLAYY文によって音を出します。
  • #5 … FM音源を使います。チャンネル1~6がFM音源を使用します。

音源モードを省略した場合は、#2が選択されます。#5は、サウンドボード2でなければ選択できません。 通常、音源モードは、#0#1#2、または#5でお使いください。リズム音源はまだ未対応です。

各チャンネルの文字列は、MML (Music Macro Language)といい、次のような意味を持ちます。

文字列 意味 初期値
Mx (SSGのみ) エンベロープ周期を設定します(1≦x≦65535)。xは省略可。 M255
Sx (SSGのみ) エンベロープ形状を設定します(0≦x≦15)。xは省略可。 S1
Vx 音量を設定します(0≦x≦15)。xは省略可。 V8
Lx 音符や休符の既定値の長さを設定します(1≦x≦64)。xは省略可。 L4
Qx 音の長さの割合を設定します(1≦x≦8)。xは省略可。 Q8
Ox オクターブを設定します(1≦x≦8)。xは省略可。 O4
> オクターブを1つ上げます。
< オクターブを1つ下げます。
Nx xで指定された高さの音を発生します(0≦x≦96)。xは省略不可。
Tx テンポを設定します(32≦x≦255)。xは省略可。 T120
Rx 休符を演奏します(1≦x≦64)。xは休符の長さです。xは省略可。 R4
CB[+/-][x][.] 音符を演奏します(1≦x≦64)。xは音符の長さです。xは省略可。
+ (#) 直前の音符を半音上げます。
- 直前の音符を半音下げます。
. 直前の音符や休符に符点をつけます。長さが1.5倍になります。
& 前後の音をつなげます。
{ ... }x 指定された長さのx分音符を{ }の中の音符の個数で等分した連符を演奏します。xは省略可。
@x (FM/MIDIのみ) 音色番号xで指定された音色に切り替えます。xは省略不可。 @0
Yr,d (OPNのみ) OPNのレジスタrの内容をdにします(0≦r≦178 かつ 0≦d≦255)。
Zd (MIDIのみ) MIDIに1バイトのデータdを送ります(0≦d≦255)。
@M (サウンドボード2、FM/MIDIのみ) 出力を左右両チャンネルに設定します。
@L (サウンドボード2、FM/MIDIのみ) 出力を左チャンネルに設定します。
@R (サウンドボード2、FM/MIDIのみ) 出力を右チャンネルに設定します。
@Vx (FM/MIDIのみ) 音量を細かく調整します(0≦x≦127)。xは省略不可。 @V106
@Wx xで指定された長さだけ状態を維持します(1≦x≦64)。xは省略可でLの値に。 @W4
  • 音符CDEFGABは「ドレミファソラシ」に対応します。
  • 音色番号については、音色一覧をご覧ください。
  • 実機のMIDIでは @xは指定できません。代わりにZdを複数回使ってプログラムチェンジしてください。
  • 実機のMIDIでは @M@L@R は指定できません。代わりにZdを複数回使ってパンを設定してください。
  • MIDIについては、WikipediaのMIDIのページをご覧ください。
  • いくつかの機種では@V設定後はVの設定よりも@Vが優先されます。
  • CMD PLAY文はCMD拡張命令であり、8801のみで使用できます。CMD PLAYを使用する前にNEW CMDを実行する必要があります(無制限モードを除く)。255文字を越える長さの文字列を指定すると、String too longエラーが発生します(無制限モードを除く)。

使用許諾

FM音源の音色一覧

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

MIDI音源の音色一覧

音色番号 音色名 解説
000 Piano 1 グランドピアノ
001 Piano 2 ブライトピアノ
002 Piano 3 エレクトリックグランドピアノ
003 Piano 4 ホンキートンク
004 E.Piano 1 エレクトリックピアノ 1
005 E.Piano 2 エレクトリックピアノ 2
006 Harpsichord ハープシコード
007 Calvi クラビ
008 Celesta チェレスタ
009 Glockenspl グロッケンシュピール
010 MusicBox ミュージックボックス
011 Vibraphone ビブラフォン
012 Marinba マリンバ
013 Xylophone シロフォン
014 Tubularbell チューブラーベル
015 Santur サントゥール
016 Organ 1 ドローバーオルガン
017 Organ 2 パーカッシブオルガン
018 Organ 3 ロックオルガン
019 Church Org1 チャーチオルガン
020 Reed Organ リードオルガン
021 Accordion アコーディオン
022 Harmonica ハーモニカ
023 Bandoneon バンドネオン
024 Nylon Gt. ナイロンストリングスギター
025 Steel Gt. スチールストリングスギター
026 Jazz Gt. ジャズギター
027 Clean Gt. クリーンギター
028 Muted Gt. ミュートギター
029 OverdriveGt オーバードライブギター
030 Dist.Gt. ディストーションギター
031 Gt.Harmonix ギターハーモニクス
032 Acoustic Bs アコースティックベース
033 Fingered Bs エレクトリックベース 1
034 Picked Bass エレクトリックベース 2
035 Fretless Bs フレットレスベース
036 Slap Bass 1 フラップベース 1
037 Slap Bass 2 フラップベース 2
038 Syn.Bass 1 シンセベース 1
039 Syn.Bass 2 シンセベース 2
040 Violin バイオリン
041 Viola ビオラ
042 Cello チェロ
043 Contrabass コントラバス
044 Tremolo Str トレモロストリングス
045 Pizzicato ピチカート
046 Harp ハープ
047 Timpani ティンパニ
048 Strings ストリングス 1
049 SlowStrings ストリングス 2
050 SynStrings1 シンセストリングス 1
051 SynStrings2 シンセストリングス 2
052 Choir Aahs クワイア
053 Voice Oohs ボイス
054 SynVox シンセボイス
055 Orchest.Hit オーケストラヒット
056 Trumpet トランペット
057 Trombone トロンボーン
058 Tuba チューバ
059 MuteTrumpet ミュートトランペット
060 French Horn フレンチホルン
061 Brass 1 ブラス
062 Syn.Brass 1 シンセブラス 1
063 Syn.Brass 2 シンセブラス 2
064 Soprano Sax ソプラノサックス
065 Alto Sax アルトサックス
066 Tenor Sax テナーサックス
067 Baritone Sax バリトンサックス
068 Oboe オーボエ
069 EnglishHorn イングリッシュホルン
070 Bassoon バスーン
071 Clarinet クラリネット
072 Piccolo ピッコロ
073 Flute フルート
074 Recorder リコーダー
075 Pan Flute パンフルート
076 Bottle Blow ボトルブロー
077 Shakuhachi 尺八
078 Whistle ホイッスル
079 Ocarina オカリナ
080 Square Wave スクエアウェーブ
081 Saw Wave ソートゥースウェーブ
082 SynCalliope カリオペ
083 ChifferLead チフリード
084 Charang チャラン
085 Voice Lead ボイスリード
086 5th Saw フィフスリード
087 Bass & Lead ベース+リード
088 Fantasia ニューエイジ
089 Warm Pad ウォームパッド
090 Polysynth ポリシンセ
091 Space Voice スペースクワイア
092 Bowed Glass ボウグラス
093 Metal Pad メタリックパッド
094 Halo Pad ヘイロパッド
095 Sweep Pad スイープパッド
096 Ice Rain レインドロップ
097 Soundtrack サウンドトラック
098 Crystal クリスタル
099 Atmosphere アトモスフィア
100 Brightness ブライトネス
101 Goblin ゴブリン
102 Echo Drops エコー
103 Sci-Fi サイエンスフィクション
104 Sitar シタール
105 Banjo バンジョー
106 Shamisen 三味線
107 Koto
108 Kalimba カリンバ
109 Bagpipe バグパイプ
110 Fiddle フィドル
111 Shanai シャナイ
112 Tinkle Bell ティンクルベル
113 Agogo アゴゴ
114 Steel Drum スチームドラム
115 WoodBlock ウッドブロック
116 Taiko 太鼓
117 Melodic Tom メロディックタム
118 Synth Drum シンセドラム
119 Reverse Cym リバースシンバル
120 Gt.FretNoiz ギターフレットノイズ
121 BreathNoise ブレスノイズ
122 Seashore シーショア―
123 Bird バード
124 Telephone 1 テレホン
125 Helicopter ヘリコプター
126 Applause アプローズ
127 Gun shot ガンショット

連絡先