StandardABC記法標準 v2.2

ABC記法の公式標準仕様 v2.2 を、日本語で解説。各セクションには鳴る実例付き。

はじめにABC記法とは何か

ABC記法は、ASCII文字だけで楽譜を書くための記譜法です。フォーク・伝統音楽のコミュニティで広く使われており、本標準仕様はv2.2(2024年)が最新です。

ORIGIN

歴史

1991年にChris Walshawが開発。テキストベースの楽譜交換を目的として生まれました。

PHILOSOPHY

設計思想

「人間が読みやすく、かつ機械が処理できる」楽譜フォーマット。

ECOSYSTEM

エコシステム

abcjs、EasyABC、ABC2MIDIなど多数のツールが存在。

ファイル構造ABCファイルの構成

ABCファイルは、1つ以上の「曲(tune)」で構成されます。各曲はヘッダフィールドと譜面本体で構成されています。

ファイル識別

X:フィールドが各曲の先頭にあり、ファイル内の曲を識別します。

ヘッダフィールド

X:、T:、M:、L:、Q:、K:などの情報フィールド。K:は必須で末尾。

譜面本体

K:の後に続く音符列。小節線で区切られます。

フィールド継続

長いフィールドは次の行に継続できます(空白で始まる行)。

ファイル構造の例 STRUCTURE
X:1
T:Example Tune
C:Composer Name
M:4/4
L:1/8
Q:1/4=120
K:G
|: G A B c | d e f g | g f e d | c B A G :|

情報フィールドヘッダの各項目

ABC記法には多くの情報フィールドがあります。以下は主要なフィールドです。

X: 曲番号(必須)

ファイル内の曲を識別する番号。先頭に必須。

X:1

T: 曲名

曲のタイトル。複数可。2行目以降はサブタイトル。

T:Example Tune
T:An Alternative Title

C: 作者

作曲者名。

M: 拍子

M:4/4(4/4拍子)、M:3/4(ワルツ)、M:6/8(複合2拍子)。

L: 基準音価

L:1/8なら音符は標準で8分音符。小節の長さの計算に使用。

Q: テンポ

Q:1/4=120でBPM120。Q:1/4=80でBPM80。

K: 調性(必須・末尾)

K:CでC長調、K:AmでAマイナー、K:GmixでGミクソリディア。

%%MIDI program

MIDI音色の指定(0-based)。24=Acoustic Guitar (nylon)。

譜面本体音符と記号

K:の後に続く音符列。音高、音長、リズム、装飾などを記述します。

4.1 音高(Pitch)

C D E F G A B(大文字=中央)、c d e f g a b(小文字=1オクターブ上)。, で下、' で上。

4.2 臨時記号(Accidentals)

^ シャープ、_ フラット、= ナチュラル。音名の直前。

4.3 音長(Note Lengths)

数字で倍、/ で半分。C2 は2倍、C/ は半分。

4.4 Broken Rhythm

> は前の音を付点、次の音を半分。シャッフルに使用。

4.5 休符(Rests)

z で休符。音符と同じ文法で長さを変えられる。z2 で2拍、z/ で半拍。

4.8 反復(Repeats)

|: 前反復、:| 後反復、|1 :|2 で1番/2番。

4.11 Ties and Slurs

- でタイ(同音結合)、() でスラー(レガート)。タイは音を継続、スラーは滑らかに繋ぐ。

4.14 Decorations

!trill!!turn!!fermata! などの装飾記号。音に表情をつける。

4.17 Chords and Unisons

[CEG] で和音。[EG] でパワーコード。

4.18 Chord Symbols

ダブルクォートで囲むとコード名が表示される。

Lyrics歌詞 — w: フィールド

歌詞は w: フィールドで記述し、直前の音符行に対応させます。音符と文字を対応させる記法です。

5.1 対応付け

音符と歌詞の音節を対応。ハイフン - で音節を分割。* で音符をスキップ。_ で延長(melisma)。

ed cd B2 A2 |
w: This is the first line

5.2 複数節

複数行の w: で複数節を記述。番号付きでも可能。

w:1.~First verse words
w:2.~Second verse words

特殊文字

* スキップ、- 音節継続、~ 非改行スペース、_ 延長。

Typesetting & Playback書式設定と再生

ABC記法はテキスト楽譜を五線譜に自動変換するために設計されています。書式と再生の基本を解説します。

6.1 行区切り

$ で強制改行、! で改行禁止。譜面の見栄えを制御。

C D E F $ G A B c

6.2 スペース追加

y で小スペース、y2 で大スペース。小節間の余白調整に。

6.3 再生

Q: でテンポ指定。%%MIDI program で音色変更。abc2midi 等で再生可能。

Multiple Voices複数ボイス

V: フィールドで複数の声部を定義し、ポリフォニックな楽譜を書けます。

7.1 ボイス定義

ヘッダで V:1, V:2 等を定義。clef, name, stem 等の属性を指定。

V:1 clef=treble name="Melody"
V:2 clef=bass name="Bass"

7.2 インライン切替

[V:1] で行内でボイスを切り替え。小節線は共有。

[V:1] abc | [V:2] cde |

7.3 ボイスオーバーレイ

& で一時的な多声部。和音とは異なり、各音に独立したリズムを付けられる。

abc & cde |

ABC Data Formatデータ形式

ABCファイルのエンコーディングとデータ形式に関する仕様。

8.1 エンコーディング

UTF-8 が推奨。ASCII互換でも可能。日本語の曲名や歌詞にも対応。

8.2 テキストエスケープ

バックスラッシュで特殊文字をエスケープ。\n 改行、\\ バックスラッシュ自身。

T:Title with \n newline

Macrosマクロ — テキスト置換

U: フィールドでマクロを定義し、繰り返しパターンを省力化します。

9.1 静的マクロ

U:T = !trill! のように定義。譜面中の T が !trill! に置換される。

U:T = !trill!
K:C
T C D E F

9.2 移調マクロ

マクロ展開時に音程を自動移調できる。複調的な楽曲に便利。

Stylesheet Directives書式指定 — %% ディレクティブ

%% で始まるディレクティブで、出力の見栄えを制御します。実装依存ですが広くサポートされています。

%%MIDI

MIDI 出力を制御。音色指定、和音音色、ボリューム等。

%%MIDI program 24
%%MIDI chordprog 25

%%pageformat

ページサイズ・マージン指定。%%pagewidth%%topmargin 等。

%%pagewidth 21cm
%%leftmargin 2cm

%%font / %%staffsep

フォント指定や譜表間隔の調整。

%%titlefont Times-Bold 16
%%staffsep 30

%%score

ボイスの譜表配置を制御。括弧でグループ化。

%%score (1 2) (3 4)

Transposition移調 — v2.2 新機能

v2.2 から追加された移調機能。移調楽器の譜面を自動的に変換します。

13.1 移調オペレータ

transpose=2 で2半音上に移調。transpose=-3 で3半音下。

K:C transpose=2
V:1 clef=treble transpose=-3

13.2 移調楽器の表記

transpose=Bb のように楽器名で指定可能。B♭楽器(クラリネット等)に対応。

13.3 ファイル単位の移調

I:transpose 2 でファイル全体を移調。コンサートピッチで記譜し楽器ごとに自動変換。

付録リファレンス

ABC記法の詳細については、以下のリソースを参照してください。

ORIGINAL

公式標準仕様

ABC Music Notation Standard v2.2 の原文(英語)。

abcnotation.com

TUTORIAL

チュートリアル

ABC記法をステップバイステップで学ぶ入門ページ。

Tutorial

REFERENCE

チートシート

要点だけを素早く確認できるリファレンス。

Reference

SAMPLES

実物の譜例

21件の譜例でABC記法の実践例を確認。

Samples