wiki:外部仕様/MML仕様/演奏命令一覧
Last modified 6 months ago Last modified on 11/25/11 14:46:37

演奏命令一覧

早見表

1-1 MML 演奏命令早見表

命令内容覚え方
A音符アー、エー
B音符べー、ビー
C音符ツェー、シー
D音符デー、ディー
E音符エー、イー
F音符エフ
G音符ゲー、ジー
Hホールド1 (ダンパー)、ポルタメント、ソステヌート、ソフトペダル、レガートスイッチ、ホールド2Hold switch
I外部エフェクト (リバーブ)、トレモロ、コーラス、セレステ、フェイザーeffect mIx depth とか…
L音符・休符の長さLength
Mモジュレーション、ブレスコントロールModuration
OオクターブOctave
PパンポットPanpot
Qゲートタイムおたまじゃくし「O」をどこまで伸ばす「~」か
R休符Rest
Sサウンドバリエーション、ティンバー (レゾナンス)、リリースタイム、アタックタイム、ブライトネスSound controler
TテンポTempo
Uピッチベンド時系列でグラフにすると U みたいな形になる使われ方が多い… とか
VベロシティVelocity
WボリュームV は Velocity に取られちゃったので、その次
XエクスプレッションeXpression
! コントロールチェンジいろいろできてびっくりみたいな
$関数、マクロスクリプト言語で変数を表す接頭子としてありがちなアレ
&タイ、ポリフォニックアフタータッチこの音「と(&)」この音を繋ぎます
@音色変更ああーっと(@)、ここで音色が変わったー!!
{ ~ }和音和音は複数の音を一カ所に brace したもの
;コメント;-p
<オクターブ下げる鍵盤の左の方
>オクターブ上げる鍵盤の右の方
?システムエクスクルーシブえくすくるーしぶって、なにができるんだ?
_ノートオフベロシティ音を止めて空白(_)にする

1-2 MIDI命令 - MML対応表

内容命令
フォーマット#midi_format
タイムベース#timebase
  • ボイスメッセージ
内容命令
ノートオンCDEFGAB
ノートオフCDEFGAB_
ポリフォニックアフタータッチ&
チャンネルアフタータッチ(検討中)
ピッチベンドU
プログラムチェンジ@
  • コントロールチェンジ
内容命令
コントロールチェンジ!
バンクセレクト@
モジュレーションM
ブレスコントロールM
フットコントロール
ポルタメントタイム
データエントリ (RPN / NRPN)
ボリュームW
バランス
パンポットP
エクスプレッションX
エフェクトコントロール 1
エフェクトコントロール 2
ホールド 1H
ポルタメントH
ソステヌートH
ソフトペダルH
レガートスイッチH
ホールド 2H
サウンドバリエーションS
ティンバー (レゾナンス)S
リリースタイムS
アタックタイムS
ブライトネスS
ディケイタイム
ビブラートレート
ビブラートデプス
ビブラートディレイ
ポルタメントコントロール
外部エフェクト (リバーブ)I
トレモロI
コーラスI
セレステI
フェイザーI
RPN
ピッチベンドセンシティビティ
ファインチューニング
コースチューニング
チューニングプログラムセレクト
チューニングバンクセレクト
モジュレーションセンシティビティ
RPN NULL
NRPN
データインクリメント
データデクリメント
オールサウンドオフ
リセットオールコントローラ
ローカルコントロール
オールノートオフ
オムニ・オフ
オムニ・オン
モノモード
ポリモード
  • システムエクスクルーシブ
内容命令
システムエクスクルーシブ?
  • メタイベント
内容命令
シーケンス番号
MIDI チャンネルプリフィックス
End of Track(自動的に付加)
テンポT
SMPTE オフセット
拍子#rhythm
調号#key
ポート番号#track
テキスト#text
著作権表示#author
シーケンス名#title
トラック名#track
楽器名#instrument_name
歌詞#song
マーカー#marker
キューポイント#cue
シーケンサ固有イベント

音符、休符

ABCDEFG

音符。

  • 書式
    A|B|C|D|E|F|G [-|+|#|=] [音符の長さ] [([実際の長さ] [,ゲートタイム])]
        [,[ベロシティ] [,ノートオフベロシティ]]
    
  • 記述例
    L4 CDE2 CDE2 GEDC DED2                                   ; チューリップの歌
    L8 DD+ E>C4<E>C4<E>C& C2RCDD+                            ; エンターテイナー
    L8 g2f+2 e(336)<a(144)r(336)a(144)r2                     ; 分解能 480 として
    V50 f+f+f+f+ f+,100f+f+f+,100 f+f+f+,100f+ f+f+,100f+f+  ; リズムパートの例
    
  • 解説
    • A|B|C|D|E|F|G ...音名。英語式音名に同じ (A から順に、ラシドレミファソ)。
    • -|+|#|= ...順に、フラット、シャープ、シャープ、ナチュラル。ナチュラルは制御命令 #key によって音階がシフトしている音名に対して有効。既にシャープがかかっている音名に対してシャープをつけてもダブルシャープにはならない (逆もまた然り)。ダブルシャープにしたい場合は ++ または ## と書く (ダブルフラットは --)。
    • 音符の長さ ...n分音符の nを指定する。省略した場合は L 命令にて指定した値が使われる。指定方法は L 命令と同じである。
    • 実際の長さ ...実際に演奏される音符の長さを分解能単位で指定する。省略した場合は、音符の長さ に見合った長さで演奏される。数値の手前に +- をつけた場合、音符の長さ に対する相対指定となる。
    • ゲートタイム ...実際の長さ に対するゲートタイムを指定する。省略した場合は Q 命令にて指定した値が使われる。指定方法は Q 命令と同じである。
    • ベロシティ ...ベロシティを指定する。省略した場合は V 命令にて指定した値が使われる。指定方法は V 命令と同じである。
    • ノートオフベロシティ ...ノートオフベロシティを指定する。省略した場合は _ 命令にて指定した値が使われる。指定方法は _ 命令と同じである。
    • 引数として指定した値は、その音符に対してのみ有効である。それ以降に出現する音符や休符に影響を与えるものではない。

R

休符。

  • 書式
     R [休符の長さ] [(実際の長さ)]
    
  • 記述例

音符の項を参照。

  • 解説
    • 休符の長さ ...n分休符の nを指定する。省略した場合は L 命令にて指定した値が使われる。指定方法は L 命令と同じである。
    • 実際の長さ ...実際の演奏における休符の長さを分解能単位で指定する。省略した場合は、休符の長さ に見合った長さで演奏される。数値の手前に +- をつけた場合、休符の長さ に対する相対指定となる。
    • 引数として指定した値は、その音符に対してのみ有効である。それ以降に出現する音符や休符に影響を与えるものではない。

パートごとに固有の命令

L

音符・休符の長さ。

  • 書式
    L 音符の長さ [(実際の長さ1 [, 実際の長さ2 [...]])]
    
  • デフォルト値
    • 音符の長さ ... 4
    • 実際の長さ ... 各 音符の長さ に見合った長さか、または #note_length_real による設定値。
  • 値の範囲
    • 音符の長さ ... 1 以上、分解能×(拍子×4)以下
    • 実際の長さ ... 1 以上
  • 記述例
    L16 A8AAAED+E A8AAAB>C<B A8AABAG+A L32B>C<B>C<B>C<B>C<B8 L16A+B
    L8(336,144) egr4 g2 far4 a4&ab rb&b4arbr >cdre-dc<ag   ; グレンミラー的茶色の小瓶 (分解能 480 として)
    L8. aga8bab8 >cde8 L16 rrcrde8. L8.                    ; 松井孝夫「マイ・バラード」
    
  • 解説
    • 音符の長さ ...音符・休符を長さ指定なしで記述した場合に使用される音符の長さを、n分音符の nで指定する。数字の後ろにピリオド . をつけると付点となり、付点 n分音符となる。ピリオドを 2つ .. つけた場合は、副付点 n分音符となる。
    • 実際の長さ ...音符・休符を長さ指定なしで記述した場合の、実際の演奏における長さを分解能単位で指定する。2つ以上指定した場合は、1つ目から順に繰り返し使用される。音符休符実際の長さ のデフォルト値となるが、音符・休符において 音符の長さ (または 休符の長さ) を指定している場合は、この値は有効とはならない。複数の音符の長さに実際の長さを対応付けたい場合は、制御命令 #note_length_real を使用する。

O

オクターブの絶対指定。

  • 書式
    O オクターブ
    
  • デフォルト値
    • オクターブ ... 4
  • 値の範囲
    • オクターブ ... -1 ~ 9
  • 記述例
    O5L8 ED+ED+E<B>DC <A4RCEA B4REG+B >C4R<E>ED+ ED+E<B>DC  ; エリーゼ萌え~
    
  • 解説
    • オクターブ ... オクターブを指定する。値は MIDI における表記と同一で、MIDI における C+4 ~ B+4 の音階が 4 となる。

Q

ゲートタイム。

  • 書式
    Q ゲートタイム
    
  • デフォルト値
    • ゲートタイム ... 0
  • 値の範囲

指定方法によって異なる。解説を参照せよ。

  • 記述例
    Q0          ; Q100 と同じ
    q70         ; 音符の実際の長さに対して 70%
    Q-20        ; Q100 に対して分解能単位で 20 短く
    Q=40        ; 常に分解能単位で 40 の長さ
    
  • 解説
    • ゲートタイム ... 以下の指定方法のいずれかにより指定する。
      • 数値のみ ... 音符の (演奏における) 実際の長さに対する百分率で指定する。値の範囲は 1 以上。
      • 0 ... 百分率指定で 100 を指定したのと同じように動作する。
      • + 数値 ... 百分率指定で 100 を指定した場合に対し、分解能単位で長くする。値の範囲は 1 以上 (ただし、'+0' は '0' と同じものとして解釈される)。
      • - 数値 ... 百分率指定で 100 を指定した場合に対し、分解能単位で短くする。値の範囲は 1 以上 (ただし、'-0' は '0' と同じものとして解釈される)。
      • = 数値 ... 音符の長さに関わらず、分解能単位で常に指定した長さにする。値の範囲は 1 以上 ('=0' の場合は無視される)。

V

ベロシティ。

  • 書式
    V ベロシティ
    
  • デフォルト値
    • ベロシティ ... 100
  • 値の範囲
    • ベロシティ ... 0 ~ 127
  • 記述例
    V64         ; ベロシティを 64 に設定する。
    v+10        ; ベロシティを 10 上げる。
    v*150       ; ベロシティを 1.5 倍 (150%) にする。
    
  • 解説
    • ベロシティ ... 以下の指定方法のいずれかにより指定する。
      • 数値のみ ... 指定した値で設定する。(絶対値指定)
      • + 数値 ... 前回 V 命令で指定した値 (無ければデフォルト値) に対し、指定した値だけ上げる。
      • - 数値 ... 前回 V 命令で指定した値 (無ければデフォルト値) に対し、指定した値だけ下げる。
      • * 数値 ... 前回 V 命令で指定した値 (無ければデフォルト値) に対し、百分率で指定した値を掛ける。
    • 絶対値指定以外の方法でベロシティを指定する際、計算結果が値の範囲を超えた場合には、範囲ギリギリの値 (負数なら 0、大きすぎる場合は 127) に補正される。

<, >

オクターブを下げる/上げる。(オクターブの相対指定)

  • 書式
    <
    >
    
  • 記述例
    o4 cdef gab>c c<bag fedc    ; 下記と同意。
    o4 cdef gab o5 c c o4 bag fedc
    
  • 解説
    • < は 1オクターブ下げる。> は 1オクターブ上げる。
    • O 命令にて説明される範囲を超えてオクターブを下げる/上げることはできない。範囲を超えてしまうような < および > の指定は無視する。

音符表記の補助命令

$

関数、またはマクロ。

  • 書式
    $ 名前 ( [引数1 [, 引数2 [, ...]]] )
    
  • 記述例
    $repeat(2, "cdefgfed")      ; cdefgfed を 2回繰り返す
    $gm_track_init()            ; GM音源向けにトラックを初期化する
    
  • 解説
    • 制御命令 #function にて定義した関数、または制御命令 #macro にて定義したマクロを実行する。引数には任意の数値もしくは文字列リテラルを指定できる。

&

タイ。

  • 書式
    & [キープレッシャー]
    
  • デフォルト値
    • キープレッシャー ... 指定しない場合はアフタータッチは行われない。
  • 値の範囲
    • キープレッシャー ... 0 ~ 127
  • 記述例
    o5l8 cccc<bbb4 aaag&g4r4 ccccddde& e2.r4    ; グリーングリーン
    o5l4 c2.&40 c2.&80 c2.&100 c<b>c            ; アフタータッチの例
    o4 {a>df}1& {a>de}1& {a>c#e}1               ; 和音をタイで結ぶ例
    
  • 解説
    • 前後に同音の音符がある場合、タイとして機能する。それ以外の場合は無視される。
    • 前後のどちらかおよび両方が和音の場合、互いに同音の音符があれば、それらの音のみをタイで結ぶ。
    • キープレッシャーを指定すると、そのタイミングでポリフォニック・アフタータッチが行われる。指定しない場合はアフタータッチは行われない。

{, }

和音。

  • 書式
    { 音名... } [音符の長さ [([実際の長さ] [, ゲートタイム])]
        [,ベロシティ [,ノートオフベロシティ]
    
  • 記述例
    o5l8 {af}.{af}16{af}{gc}{gc}{gc}{f<a}{gc} {af}{b-g}{af}{gc}     ; ドラクエOP
    
  • 解説
    • [外部仕様/MML仕様/演奏命令一覧#note-note 音符]の音名のみを、ブレース { ~ } で括って複数記述すると、和音として扱われる。音符の長さ等の引数はブレースで括った後に指定する。引数の指定方法については、音符の項を参照のこと。
    • 音名 ... 音名を表す A~G 、および半音階を表す +, -, = を使用可能。また、<, > を使用して、オクターブを跨いで指定することもできる。なお、<, > を使用した場合、これらによるオクターブの変更は、和音の中でのみ有効である。

トラックごとに固有の命令

H

スイッチ動作のコントロール。

  • 書式
    H 種類番号, 値
    H : スイッチ名 ( 値|on|off )
    
  • 値の範囲
    • 種類番号 ... 以下のいずれかより選択する。
      • 1 ... ホールド1 (ダンパー)
      • 2 ... ポルタメント
      • 3 ... ソステヌート
      • 4 ... ソフトペダル
      • 5 ... レガートスイッチ
      • 6 ... ホールド2
    • ... 0 ~ 127
    • スイッチ名 ... 以下のいずれかより選択する。
      • h1, hold1 ... ホールド1 (ダンパー)
      • damper ... ダンパー
        • MIDI では h1 と同義。
        • 非 MIDI では hold1 よりもより確実にダンパー効果が期待されるべき。
      • p, portamento ... ポルタメント
      • s, sostenuto, sustain ... ソステヌート
      • soft ... ソフトペダル
      • l, legato ... レガートスイッチ
      • h2, hold2 ... ホールド2
  • 記述例
    H3,127 fa->cf<fa->cf<fa->cf H3,0    ; サステインをかけながらアルペジオ
    O6 C2 H:p(on) <<C2 >>C1 H:p(off)    ; 2オクターブ跨いでポルタメント
    
  • 解説
    • スイッチ系のコントロール (コントロール#40h~#45h) を設定する。
    • on/off で指定する場合、 MIDI 機器であるならば、 on=127、 off=0 として設定する。

I

エフェクトの深さコントロール。

  • 書式
    I 種類番号, 深度
    I : エフェクト名 ( 深度 )
    
  • 値の範囲
    • 種類番号 ... 以下のいずれかより選択する。
      • 1 ... 外部エフェクト (リバーブ)
      • 2 ... トレモロ
      • 3 ... コーラス
      • 4 ... セレステ
      • 5 ... フェイザー
    • 深度 ... 0 ~ 127
    • エフェクト名 ... 以下のいずれかより選択する。
      • e, ex, external ... 外部エフェクト
      • r, reverb ... リバーブ
        • MIDI では e と同義。
        • 非 MIDI では区別される場合がある (r はリバーブ固定、それとは別に外部エフェクトはユーザー指定可能、など)。
      • t, tremolo ... トレモロ
      • c, cho, chorus ... コーラス
      • ce, celeste ... セレステ
      • d, delay ... ディレイ
        • MIDI では ce と同義 (GS 音源への配慮)。
        • 非 MIDI ではあくまでディレイとして扱われる。
      • v, variation ... バリエーションエフェクト (XG)
        • MIDI では ce と同義 (XG 音源への配慮)。
        • 非 MIDI では未使用。
      • p, phaser ... フェイザー
  • 記述例
    I3,10       ; コーラスを抑えめに…
    I:r(100)    ; リバーブは深めに…
    
  • 解説
    • エフェクトの深さを設定するコントロール (コントロール#5Bh~#5Fh) を設定する。

M

モジュレーション、およびブレスコントロール。

  • 書式
    M 値
    
  • 値の範囲
    • ... -127 ~ 0 ~ 127
  • 記述例
    M127    ; モジュレーションを 127 にする。
    M-60    ; ブレスコントロールを 60 にする。
    
  • 解説
    • モジュレーション (コントロール#01h)、およびブレスコントロール (コントロール#02h) を設定する。
    • 指定する値の解釈は以下の通りとなる。
      • 正の整数の場合、値はそのままモジュレーションに対する設定値として扱われる。また、ブレスコントロールは 0 が設定される。
      • 負の整数の場合、値はその絶対値がブレスコントロールに対する設定値として扱われる。また、モジュレーションは 0 が設定される。
      • 0の場合、モジュレーション、およびブレスコントロールの両方に 0 が設定される。

P

パンポット (パン)。

  • 書式
    P パン
    
  • 値の範囲
    • パン ... -64 ~ 0 ~ +63
  • 記述例
    P48     ; 音を右寄りに配置する
    
  • 解説
    • パンポット (パン) (コントロール#0Ah) を設定する。
    • パンは 0 を中央とし、値が小さいほど左寄りに、大きいほど右寄りに移動する。

S

サウンド・コントローラ。

  • 書式
    S 種類番号, 値
    S : 種類名 ( 値 )
    
  • 値の範囲
    • 種類番号 ... 以下のいずれかより選択する。
      • 1 ... サウンドバリエーション
      • 2 ... ティンバー/ハーモニック・インテンシティ (レゾナンス)
      • 3 ... リリースタイム
      • 4 ... アタックタイム
      • 5 ... ブライトネス
    • ... 0 ~ 127
    • 種類名 ... 以下のいずれかより選択する。
      • v, variation ... サウンドバリエーション
      • t, timber ... ティンバー
      • h, harmonic ... ハーモニック・インテンシティ
      • r, resonance ... レゾナンス
        • 通常は t, h, r すべて同義。
      • er, release ... リリースタイム
      • a, ea, attack ... アタックタイム
      • b, brightness ... ブライトネス
      • c, cof, cutoff ... カット・オフ・フリクエンシー
        • 通常は b と同義。
  • 記述例
    S4,32 S3,96     ; アタックを短めに、リリースを長めに…
    S:r(0) S:c(0)   ; かなりくぐもった音にする
    
  • 解説
    • サウンド・コントローラ (コントロール#46~#4A) を設定する。

U

ピッチベンド。

  • 書式
    U ピッチ
    
  • 値の範囲
    • ピッチ ... -8192 ~ 8191
  • 記述例
    U-683   ; ピッチベンドセンシティビティが 1 オクターブならば
            ; これで半音下がる
    
  • 解説
    • ピッチベンドを設定する。
    • ピッチは 0 を通常の音程とし、値が小さいほど音程は低く、大きいほど高くなる。

W

ボリューム。

  • 書式
    W ボリューム
    
  • 値の範囲
    • ボリューム ... 0 ~ 127
  • 記述例
    W80     ; ボリュームを 80 に設定する。
    
  • 解説
    • チャンネルボリューム (コントロール#07h) を設定する。

X

エクスプレッション。

  • 書式
    X エクスプレッション
    
  • 値の範囲
    • エクスプレッション ... 0 ~ 127
  • 記述例
    X100    ; エクスプレッションを 100 に設定する。
    
  • 解説
    • エクスプレッション (コントロール#0Bh) を設定する。

!

コントロールチェンジ、およびチャンネルモードメッセージ。

  • 書式
    ! コントロール番号, 値
    ! コントロール名 ( [値1] [, 値2 [, ...]] )
    
  • 値の範囲
    • コントロール番号 ... 0 ~ 127
    • ... 0 ~ 127
  • 記述例
    !91,40             ; 外部エフェクト1 に値 40 を設定する。
    !nrpn(1,33,32)     ; NRPN MSB=1, LSB=33 に対して、データエントリ MSB に 32 を設定。
    !all_note_off()    ; オールノートオフ。
    
  • 解説
    • コントロール番号を直接指定する方法では、一度に 1つのコントロールのみ値を設定することができる。
    • コントロール名からコントロールを指定する方法では、一度に複数のコントロールを同時に設定することができる。1つないし複数の引数を値として指定する場合、それらが実際にはどのコントロール番号のコントロールに設定されるかは、各コントロール名ごとに定義される。なお、複数の引数を取ることのできるコントロール名に対して、2つ目以降の値を省略することは可能である。
    • 値が省略された場合は、設定自体が行われないか、もしくはあらかじめ定義されているデフォルト値が使用される。
    • コントロール名の定義は、制御命令 #control にて行う。

@

プログラムチェンジ。

  • 書式
    @ プログラム番号 [, [バンク MSB] [, バンク LSB]]
    @ 音色名 ( [音色番号] )
    
  • 値の範囲
    • プログラム番号 ... 1 ~ 128 (解説にて後述)
    • バンク MSB/LSB ... 0 ~ 127
    • 音色番号 ... 1 以上
  • 記述例
    @81,1               ; GS音源: Square
    @81,,6              ; XG音源: SquareLd2
    @simple_square()    ; 音色名を割り当てるならばこれが良いだろう
    
  • 解説
    • プログラムチェンジとバンクセレクト (MSB: コントロール#00h / LSB: コントロール#20h) を同時に行う。
    • プログラム番号は、デフォルトでは 1 で始まる番号で指定する。但し、制御命令 #program_number_begin を使用すると、開始番号を変更することができる。
    • バンク MSB および バンク LSB は、省略した場合は設定されない。
    • 音色名指定では、制御命令 #program によってプログラム番号およびバンクを割り当てた音色名を記述する。
    • 音色名指定における 音色番号は、ひとつの音色名に複数の組み合わせを割り当てている場合に、1 から始まる番号を指定する。省略した場合は 1 を指定したものとみなされる。なお、丸括弧 ( ~ ) を省略することはできない。
    • 音色名指定の場合、音色名は楽譜情報として扱われる。

演奏全体に影響する命令

T

テンポ。

  • 書式
    T テンポ
    T = 4分音符辺りのマイクロ秒
    
  • 値の範囲
    • テンポ ... 10 ~ 1000
    • 4分音符辺りのマイクロ秒 ... 1 ~ 8388607 (2^23 - 1)
  • 記述例
    T120        ; 毎分 120拍、ごく一般的な速さ。
    T=450000    ; 1拍辺り 450ミリ秒。おおよそ毎分 133拍ぐらい。
    
  • 解説
    • テンポ ... 1分間に 4分音符がいくつ入るか、で指定する。
    • 4分音符辺りのマイクロ秒 ... 実際にメタイベントとして埋め込まれる値を直接指定する。
    • テンポの指定は制御命令 #tempo で行うこともできる。

?

システムエクスクルーシブ。

  • 書式
    ? [sysex] ( [データ列1] [, データ列2] )
    ? esc ( データ列 )
    ? メッセージ名 ( [引数] )
    
  • 記述例
    ?("41104212","40007f00")        ; GS音源: GSリセット
    ?sysex("43 10 4c 00 00 7e 00")  ; XG音源: XG SYSTEM ON
    ?esc("fc") r1 ?esc("fb")        ; ストップ→4拍休止→再開
    ?reverb_macro("Hall 1")         ; GS音源: リバーブマクロを "Hall 1" に設定
    
  • 解説
    • sysex および esc にて指定する引数 データ列 では、16進数にて書き表されるデータ列を、文字列リテラルとして指定する。
    • sysex ... エクスクルーシブメッセージのバイト列を直接指定する。データ列2 を指定した場合、データ列2 の内容でチェックサムを計算し、データ列の末尾に追加する。
    • sysex で、データ列1データ列2 の両方が省略された場合は、文法ミスとして扱い、無視する。
    • sysex は省略可能。
    • esc ... MIDI に送信する生のバイト列を直接指定する。SMF 中では回避用のステータスバイト F7 に続いて埋め込まれる。主にシステムコモンメッセージやシステムリアルタイムメッセージの送出に利用する。
    • sysex および esc 以外のメッセージ名を指定した場合は、制御命令 #system_exclusive にて定義したシステムエクスクルーシブが設定される。引数 には任意の文字列リテラルを 1つだけ指定できる。