言語リファレンス

スポンサーリンク

『弾き語りの友』ではマクロと呼ばれる簡易言語でコード譜を記述します。以下では言語の仕様を詳しく解説します。

ソースファイル

本ソフトウェアでは’.csm’を拡張子とするテキストファイルをソースとします。文字コードはWindows標準のShiftJISにして下さい。

ソースの解釈は行単位で行われ、ソース上の1行がコード譜の1行に対応します。

歌詞

%や[]などの特殊記号を伴わないすべての文字は歌詞とみなされ、そのまま表示されます。

空行の扱い

文字を1つも含まない空行はソース中で意味を持たず、読み飛ばされます。

空白の扱い

行の先頭および末尾にある空白は無視されます。

コメント

‘%’に続く文字列は行末までコメントとみなされ、表示されません。覚え書きなどを自由に書くことができます。

ヘッダ記述子

‘%’に続く次の記号は特殊な意味を持ち、コード譜のヘッダを記述するために使用します。記述の順序および位置は任意ですが、行頭になければなりません。またヘッダ記述子と内容の間は1個以上の空白を挿入して下さい。

%T タイトル

曲のタイトルを指定します。省略すると’Untitled’になります。

%L 作詞者

作詞者の名前を指定します。省略すると表示されません。

%C 作曲者

作曲者の名前を指定します。省略すると表示されません。

空行記述子

‘%B’を行頭に記述すると1行分の空行を挿入します。’%B’は1行につき1個だけ有効なので、複数行空けたいときは改行しながら1行ずつ記述して下さい。

コード記述子

[角カッコ]で括られた文字列はコードとみなされ、コードが変わる文字の直前に挿入します。一般的な書式は下記の通りです({}内は省略可能)。

[ {位置指定子} キー コードタイプ {/ベース音} ]

記述例: [>Am7/G]

上の例では、Gをベース音とするAマイナーセブンスコードを半角分右にずらして表示します。

位置指定子

‘<‘または’>’を指定すると、コードの表示位置をそれぞれ半角分左または右に移動します。これは2音節以上の漢字の途中でコードが変わる場合に明示的に表現するための手段です。

キー

コードのルート音を音名の英語表記で使われるアルファベット大文字(A~G)と’#’(シャープ)または’b’(フラット)の組み合わせで記述します。異名同音はどちらを使っても構いません。

コードタイプ

以下に定義された24種類のコードタイプが使用可能です。大文字小文字を含めてこの通りに記述しなければなりません。キーとコードタイプの間は空白を入れずに続けて記述します。

  • なし(メジャー)
  • 6(シックス)
  • augまたは+5(オーギュメント)
  • aug7または7+5(オーギュメント・セブンス)
  • sus4(サスペンデッドフォー)
  • M7またはmaj7(メジャーセブンス)
  • 7(セブンス)
  • 7-5(セブンス・フラットファイブ)
  • 7sus4(セブンス・サスペンデッドフォー)
  • m(マイナー)
  • m7(マイナーセブンス)
  • m7-5(マイナーセブンス・フラットファイブ)
  • m6(マイナーシックス)
  • mM7またはmmaj7(マイナー・メジャーセブンス)
  • dimまたはdim7(ディミニッシュ)
  • add9(アッドナインス)
  • madd9(マイナー・アッドナインス)
  • 69(シックスナインス)
  • 9(ナインス)
  • 11(イレブンス)
  • 13(サーティーンス)
  • m9(マイナー・ナインス)
  • m11(マイナー・イレブンス)
  • m13(マイナー・サーティーンス)

ベース音

‘/’に続けてベース音を指定します。ベース音は音名の英語表記で使われるアルファベット大文字(A~G)と’#’(シャープ)または’b’(フラット)の組み合わせで記述します。異名同音はどちらを使っても構いません。

テンション

バージョン1.05よりテンションの表記に対応しました。テンションは基本コードタイプの後ろにカンマで区切って記述します。最大2つまで追加できます。基本コードタイプとして使用できるのは以下の5種類です。

  • なし(メジャー)
  • m(マイナー)
  • 7(ドミナント7th)
  • m7(マイナー7th)
  • M7(メジャー7th)
  • ■記述例

  • G7,9,13 → G7(9,13)と表記
  • Gm7,b13 → Gm7(b13)と表記
  • G,#11 → G(#11)と表記
  • 本来テンションは上付きのカッコで表記する約束になっていますが、プログラムの制約上、下付きのカッコで表記します。ご了承下さい。

    キー指定子

    ‘%K’で始まる行はキー指定子とみなされ、曲のキー(調)を指定します。キーを指定すると[派生音の表記]の設定より優先して自動的にシャープまたはフラットが付けられます。

    キー指定子は任意の位置に挿入でき、何回でも挿入することができます。キー指定子はそれより後ろのコードすべてに影響を及ぼします。

    キー指定子は必ず行頭になければなりません。’%K’とキーの間は1個以上の空白を挿入して下さい。

    キーとして指定できるのは下記の通りです。

    長調:C, C#, Db, D, D#, Eb, E, F, F#, Gb, G, G#, Ab, A, A#, Bb, B

    短調:Cm, C#m, Dbm, Dm, D#m, Ebm, Em, Fm, F#m, Gbm, Gm, G#m, Abm, Am, A#m, Bbm, Bm

    特殊なキーとして’clear’を指定することができます。’clear’を指定するとキーの指定が解除され、[派生音の表記]の設定に従うようになります。

    カポタスト指定子

    ‘%P’で始まる行はカポタスト指定子とみなされ、カポタスト付きのコードで書かれたソースを実際のキーに補正します。

    カポタスト指定子は任意の位置に挿入することができますが、通常曲の途中で付け外しすることはないので、曲頭に1回だけ挿入します。カポタスト指定子はそれより後ろのコードすべてに影響を及ぼし、指定されたカポタスト位置の分だけキーを上げます。

    カポタスト指定子は必ず行頭になければなりません。’%P’とカポタスト位置の間は1個以上の空白を挿入して下さい。

    カポタスト位置は0から9までの整数が指定できます。

    キー指定子と併用する際は、カポタスト付きのキーではなく、オリジナルのキーを指定して下さい。

    コメント

    1. Hiro より:

      自作の曲を書いているのですが、とても助かっています。

      ギターで創ることが多いのですが、今までは全て手書きで
      作成していました。
      作成意欲がますます湧いてきます。

      本当にありがとうございます。

    2. 管理人 より:

      >Hiro様

      はじめまして。コメントありがとうございます。

      このソフトがお役に立てまして光栄に思います。
      これからもご愛用いただければ幸いです。

    3. 匿名 より:

      Bm#5が入力できないですね。

    4. 管理人 より:

      G/Bと書くのと同じだと思いますが・・