6.3. グローバル命令について


[表紙に戻る] [<<<<<] [>>>>>]


グローバル命令は、SMCファイル全体の動作を決定する命令です。多くは、MIDファイルのヘッダおよびメタイベントを決定する要素となります。

#INCLUDEファイルを読み込み、その行へ挿入します。
#COMMENT#END-COMMENTまでを注釈化します。
#END-COMMENT#COMMENTによる注釈化を解除します。
#DEFINEマクロを定義します。
#DIVISION4分音符の分解能を設定します。
#TEMPOテンポを設定します。
#TEMPO-Mテンポを設定します。
#COPYRIGHT著作権表記を設定します。
#MUSIC-NAME曲名を設定します。
#PROGRAMMERプログラマ名を設定します。
#INSTRUMENT音源名を設定します。
#MEMOファイルに関するメモを設定します。
#BEAT拍子に関する情報を設定します。
#KEY調に関する情報を設定します。
#FADEOUT-SPEEDフェードアウト速度を設定します。
#FADEOUT-LOOP-COUNTフェードアウトまでのループ回数を設定します。

#INCLUDE

書式 #INCLUDE <挿入ファイル名>
#INCLUDE "挿入ファイル名"
解説 ファイルを読み込み、その行へ挿入します。
挿入ファイル名}は、挿入するファイルの名前です。“<>”または“""”でくくった文字列を指定します。 ファイル名がフルパス名でない場合は、以下の順でディレクトリを検索します。
<>” 「環境変数“SMC_INCLUDE”で示すディレクトリ」
SMC.EXE(SMC.X)の存在するディレクトリ」
"" 「カレントディレクトリ」
参照
用例SMFSTD.SMI”ファイルを挿入します。
#INCLUDE <SMFSTD.SMI>

#COMMENT

書式 #COMMENT 条件
解説 #END-COMMENTまでを注釈化します。 {条件}は、注釈化の条件です。省略または0以外の数値のとき、注釈化を行ないます。
参照 #END-COMMENT
用例 注釈化を行ないます。
#COMMENT
この部分は注釈となります。
#END-COMMENT

#END-COMMENT

書式 #END-COMMENT
解説 #COMMENTによる注釈化を解除します。
参照 #COMMENT
用例 注釈化を行ないます。
#COMMENT
この部分は注釈となります。
#END-COMMENT

#DEFINE

書式 #DEFINE マクロ名:マクロ内容
解説 マクロを定義します。
マクロ名}は、マクロの名前です。
マクロ内容}は、マクロに定義する内容です。
詳しくは「6.4 マクロ機能について」を参照してください。
参照 マクロ機能について
用例 マクロ名“OCTAVE”にマクロ内容“CDEFAGB<C>”を定義します。
#DEFINE OCTAVE:CDEFGAB<C>

#DIVISION

書式 #DIVISION MIDIクロック数
解説 4分音符の分解能を設定します。
MIDIクロック数}は、4分音符のMIDIクロック数です。24・48・96・192・384・480などを指定します。初期値は48が与えられています。
通常は上に挙げたような「2および3で割り切れる数」を指定するのが便利です。
参照
用例 4分音符の分解能を96にします。
#DIVISION 96

#TEMPO

書式 #TEMPO テンポ
解説 テンポを設定します。
テンポ}は、1分あたりの4分音符の拍数です。30〜1024を指定します。初期値は120が与えられています。
参照 #TEMPO-M
T
@{TEMPO:}
@{TEMPO-M:}
用例 1分間150拍にします。
#TEMPO 150

#TEMPO-M

書式 #TEMPO-M テンポ
解説 テンポを設定します。 {テンポ}は、4分音符1拍あたりの時間をμ秒単位で表わしたものです。50000〜2000000程度を指定します。初期値は500000が与えられています。
参照 #TEMPO
T
@{TEMPO:}
@{TEMPO-M:}
用例 4分音符1拍を0.5秒(500000μ秒)にします。
#TEMPO-M 500000

#COPYRIGHT

書式 #COPYRIGHT "著作権表記"
解説 著作権表記を設定します。
著作権表記}は、著作権を表わす文字列です。“""”でくくった文字列を指定します。
普通は年号と著作権所有者を書きます。作詞・作曲・編曲者などがプログラム者本人でない場合は、それらを先に書くようにします。
参照 @{COPYRIGHT:}
用例 著作権表記を設定します。
; 私の著作権表記
#COPYRIGHT "(C)1996 GORRY"
; 現著作者とプログラム者が異なる場合の表記
#COPYRIGHT "作詞:AAA/作曲:BBB/編曲:CCC/(C)1996 DDD"

#MUSIC-NAME

書式 #MUSIC-NAME "曲名"
解説 曲名を設定します。
曲名}は、曲の名前を表わす文字列です。“""”でくくった文字列を指定します。
トラック1の最初に置かれた“@{TRACK-NAME:}”命令と同じ働きをします。
参照 @{TRACK-NAME:}
用例 “SPICEのテーマ”という曲名を設定します。
#MUSIC-NAME "SPICEのテーマ"

#PROGRAMMER

書式 #PROGRAMMER "プログラマ名"
解説 プログラマ名を設定します。
プログラマ名}は、データ作者の名前を表わす文字列です。“""”でくくった文字列を指定します。
トラック1の最初に置かれた“@{REM:}”命令と同じ働きをします。
参照 @{REM:}
用例 私の名前を設定します。
#PROGRAMMER "GORRY"

#INSTRUMENT

書式 #INSTRUMENT "音源名"
解説 音源名を設定します。
{音源名}は、音源の名前を表わす文字列です。“""”でくくった文字列を指定します。
トラック1の最初に置かれた“@{TRACK-INST:}”命令と同じ働きをします。
参照 @{TRACK-INST:}
用例 いろいろな音源名を設定します。
#INSTRUMENT "GM"           ; General MIDI
#INSTRUMENT "Roland GS"    ; ローランドGSスタンダード
#INSTRUMENT "Roland SC-55" ; ローランドSC-55
#INSTRUMENT "YAMAHA XG"    ; ヤマハXG
#INSTRUMENT "YAMAHA MU80"  ; ヤマハMU80

#MEMO

書式 #MEMO "メモ"
解説 ファイルに関するメモを設定します。
メモ}は、メモを表わす文字列です。“""”でくくった文字列を指定します。
トラック1の最初に置かれた“@{REM:}”命令と同じ働きをします。
参照 @{REM:}
用例"サンプル曲です。"”を設定します。
#MEMO "サンプル曲です。"

#BEAT

書式 #BEAT 拍子,メトロノームクロック数,32分音符数
解説 拍子に関する情報を設定します。
拍子}は、曲が何拍子であるかを示します。“4/4”・“6/8”などの形で指定します。それぞれ「4分の4拍子」・「8分の6拍子」を表わします。
メトロノームクロック数}は、メトロノームを鳴らすタイミングです。MIDIクロック数を指定します。通常は4分音符のMIDIクロック数を指定します。
32分音符数}は、4分音符内に置ける32分音符の数です。数値を指定します。通常は8以外を指定することはありません。
参照 @{BEAT:}
用例 4分の4拍子、メトロノームクロック数48mc、32分音符数8を設定します。
#BEAT 4/4,48,8

#KEY

書式 #KEY 調号数,調スケール
解説 調に関する情報を設定します。
調号数}はシャープまたはフラットの数です。-7〜+7を指定します。負であればフラットの、正であればシャープの個数を表わします。
調スケール}は長調か短調かを示します。0または1を指定します。0であれば長調、1であれば短調です。
参照 @{KEY:}
用例 へ長調(フラット1個)に設定します。
#KEY -1,0

#FADEOUT-SPEED

書式 #FADEOUT-SPEED フェードアウト速度
解説 無限ループを終了するときのフェードアウト速度を設定します。
フェードアウト速度}はフェードアウトの速度です。1〜256〜16384を指定します。256が標準(1倍)となっており、1〜16384が1/256倍速〜64倍速となります。初期値は256が与えられています。
標準のフェードアウト速度の場合、4分音符10個分の間にメイン・ボリューム(CCナンバー7)を0にします。
SMCのコマンドラインでオプション-F[n]が設定された場合、オプションの数値のほうが優先されます。
参照 #FADEOUT-LOOP-COUNT
用例 フェードアウト速度を256に設定します。
#FADEOUT-SPEED 256

#FADEOUT-LOOP-COUNT

書式 #FADEOUT-LOOP-COUNT ループ回数
解説 無限ループの実ループ回数を設定します。標準MIDIファイルには無限ループを表現する方法がないため、SMCはこの命令で設定された回数だけループしたあと、フェードアウトするようなデータを出力します。
ループ回数}はフェードアウトを始めるまでの繰り返し回数です。1〜127を指定します。初期値は2が与えられています。 参照:
参照 #FADEOUT-SPEED
|:〜:〜:|
用例 無限ループの実ループ回数を4に設定します。
#FADEOUT-LOOP-COUNT 4


[表紙に戻る] [<<<<<] [>>>>>]