Ký nhạc theo chuẩn ABC Notation

Việc ký nhạc trên máy tính thường yêu cầu phần mềm chuyên môn phức tạp. Một phương pháp đơn giản để ký nhạc trên máy tính là sử dụng định dạng văn bản ABC Notation.

ABC Notation là một quy chuẩn ký nhạc trên máy tính sử dụng định dạng văn bản được đề xuất bới Chris Warsaw. Việc sử dụng định dạng văn bản thuần giúp việc chỉnh sửa thêm nhanh chóng do không cần phần mềm chuyên nghiệp và tiện việc chia sẻ qua Internet.

Từ bản nhạc viết theo chuẩn ABC Notation có thể chuyển đổi sang file nhạc MIDI hoặc bản nhạc thông thường bằng cách sử dụng các công cụ hỗ trợ. Truy cập abc.hieuthi.com để sử dụng trình biên soạn ABC Notation được tối ưu cho việc in ấn.

Do sử dụng cấu trúc văn bản đơn giản ABC Notation phù hợp cho những bản nhạc đơn giản hơn là những bản phối phức tạp. Tuy vậy ABC Notation vẫn hỗ trợ tương đối đầy đủ các tính năng cần thiết đáp ứng được hầu hết các nhu cầu cơ bản về soạn bản nhạc.

Dưới đây là ví dụ về một đoạn của bài Jingle Bells được ghi bằng chuẩn ABC Notation và tương tứng với hình đầu bài viết.

X:1
T:Jingle Bells
C:James Lord Pierpont
M:4/4
L:1/4
K:C
EEE2 | EEE2 | EGCD | E4 |
FFFF | FEEE | EDDE | D2G2 |
EEE2 | EEE2 | EGCD | E4 |
FFFF | FEEE | GGFD | C4 |

Cấu trúc cơ bản của một bản nhạc theo chuẩn ABC Notation gồm hai phần: phần đầu bài (header) và phần nốt nhạc (notes). Bài viết này sẽ giới thiệu sơ qua một số phần cơ bản của chuẩn ABC Notation. Tham khảo trang web chính thức về tiêu chuẩn ABC Notation để tìm hiểu thêm về các tính năng nâng cao.

Phần đầu bài gồm những trường thông tin cần thiết co bản nhạc. Các trường thông tin bắt đầu bằng một chữ cái từ A-Z hoặc a-z (phân biệt hoa thường). Ví dụ phía trên sử dụng các trường sau đây.

Trường Mô tả
X: Reference Number (Số thứ tự tham khảo)
T: Title (Tiêu đề)
C: Composer (Nhạc sĩ)
M: Meter (Nhịp)
L: Unit note length (Đơn vị nhịp)
K: Key (Cung thể)

Trường X: chứa thông tin dành riêng cho ABC Notation trong trường hợp một file chứa nhiều bài nhạc, có thể đề mặc định giá trị là 1. Các trường còn lại chứa thông tin thông thường của một bản nhạc.

Nốt nhạc đuọc ký hiệu bằng chữ cái in hoa CDEFGAB giống với lý thuyết nhạc lý thông thường. Để giảm 1 octave (bát độ) thì thêm , vào sau chữ cái in hoa. Để tăng 1 octave thid sử dụng bộ chữ cái thường cdefgab. Để tăng thêm 1 octave nữa thì thêm dấu ' vào sau chữ cái thương.

Hình dưới minh hoạ các cách viết nốt nhạc theo chuẩn ABC Notation. Những nốt bên dưới có độ dài mặc định là 1/4 tương ứng với giá trị được gán cho L:1/4.

X:1
M:C
L:1/4
K:C
C, D, E, F,|G, A, B, C|D E F G|A B c d|e f g a|b c' d' e'|f' g' a' b'|]
X:1 M:C L:1/4 K:C C, D, E, F,|G, A, B, C|D E F G|A B c d|e f g a|b c' d' e'|f' g' a' b'|] w: C, D, E, F, G, A, B, C D E F G A B c d e f g a b c' d' e' f' g' a' b'

Để thay đổi dộ dài tứng nốt nhạc ta thêm cấp số nhân hoặc chia vào nốt tương ứng. Tuỳ vào giá trị mặc định L: mà gán biến số tương ứng để vẽ được nốt nhạc mong muốn.

X:1
M:C
L:1/4
K:C
A/8 A/4 A/2 A A2 A3 A4 A6 A7 |]
X:1 M:C L:1/4 K:C A/8 A/4 A/2 A A2 A3 A4 A6 A7 |] w: A/8 A/4 A/2 A A2 A3 A4 A6 A7

Dùng dấu | để chia khung nhạc. Dùng || đễ vẽ 2 gạch, và |] để vẽ một đường nhạt và một đường đậm. Dùng |: để vẽ bắt đầu đoạn lặp lại và :| để kết thúc.

Để nối nhiều nốt 1/8 và 1/16 với nhau thì viết liền những nốt nhạc.

X:1
M:C
K:C
A B c d AB cd|ABcd ABc2|]
X:1 M:C K:C A B c d AB cd|ABcd ABc2|]

Ví dụ một bản nhạc tương đối phức tạp được viết bằng ABC Notation. Sao chép mã bên dưới vào công cụ soạn nhạc acb notation online để in và nghe bản nhạc.

X:472
T:Gymnopedie 1
C:Erik Satie, 1888
L:1/4
M:3/4
R:Waltz
S:Colin Hume's website,  colinhume.com  - chords can also be printed below the stave.
N:See analysis at https://pianistmusings.com/2019/06/14/what-makes-gymnopedie-no-1-so-special/
N:See and hear performance at https://www.youtube.com/watch?v=TL0xzp4zzBE
Q:1/4=70
%%staves 1 {2 3}
K:D
V:1
%%MIDI program 69       % English Horn
|: "^Lent et douloureux" z4 | z4 | z4 | z4 | zfa | gfc | Bcd | A3 |
V:2 treble
|: !mp! z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 |
V:3 bass octave=-2
%%MIDI chordprog 48     % String Ensemble 1
%%MIDI gchord c
%%MIDI chordvol 42
|: !mp! "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 |
V:1
F3- | F3- | F3- | F3 | zfa | gfc | Bcd | A3 |
V:2
z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 |
V:3
"Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 |
V:1
c3 | f3 | E3- | E3- | E3 | AB=c | edB | d=cB |
V:2
z[A,CF]2 | z[B,DF]2 | z[G,B,]2 | z[B,DG]2 | [K:bass] z[=F,A,D]2 | z[A,=CE]2 | z[G,B,E]2 | z[D,G,B,E]2 |
V:3
"F#m"F3 | "Bm"B,3 | "Em"E3 | "Em7"E3 | "Dm"D3 | "Am"A,3 | "Em7/D"D3 | "/"D3 |
V:1
d3- | d2d | e=fg | a=cd | edB | d3- | d2d |
V:2
z[=C,E,A,D]2 | z[=C,E,A,D]2 | z[A,=C=F]2 | z[A,=CE]2 | z[D,G,B,E]2 | z[=C,E,A,D]2 | z[=C,F,A,D]2 |
V:3
"Am/D"D3 | "D7"D3 | "Dm7"D3 | "Am/D"D3 | "Em7/D"D3 | "Am/D"D3 | "D7"D3 |
V:1
[1g3 | f3 | BAB | cde | cde | F3 | =c3 | d3 :|
V:2
[1 [K:treble] z[B,EG]2 | z[A,CF]2 | z[B,DF]2 | z[CEA]2 | z[A,CFA]2 | z[A,D][B,DG] |[=CEA=c]3 |[DFAd]3 :|
V:3
[1 "Em"E3 | "F#m"F3 | "Bm"B,3 | "A/E"E3 | "F#m7/E"E3 | "/"EBe | "Am7"A3 | "D"[DAd]3 :|
V:1
[2g3 | =f3 | B=c=f | ed=c | ed=c | =F3 | =c3 | d3 |]
V:2
[2 z[B,EG]2 | z[A,D=FA]2 | z[A,=CF]2 | z[=CEA]2 | z[A,=C=FA]2 | z[A,D][B,DG] |[=CEA=c]3 |[D=FAd]3 |]
V:3
[2 "Em"E3 | "Dm/E"E3 | "F/E"E3 | "Am/E"E3 | "F/E"E3 | "/"EBe | "Am7"[Ag]3 | "Dm"[DAd]3 |]
X:472 T:Gymnopedie 1 C:Erik Satie, 1888 L:1/4 M:3/4 R:Waltz Q:1/4=70 %%staves 1 {2 3} K:D V:1 %%MIDI program 69 % English Horn |: "^Lent et douloureux" z4 | z4 | z4 | z4 | zfa | gfc | Bcd | A3 | V:2 treble |: !mp! z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | V:3 bass octave=-2 %%MIDI chordprog 48 % String Ensemble 1 %%MIDI gchord c %%MIDI chordvol 42 |: !mp! "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | V:1 F3- | F3- | F3- | F3 | zfa | gfc | Bcd | A3 | V:2 z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | z[B,DF]2 | z[A,CF]2 | V:3 "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | "Gmaj7"G3 | "Dmaj7"D3 | V:1 c3 | f3 | E3- | E3- | E3 | AB=c | edB | d=cB | V:2 z[A,CF]2 | z[B,DF]2 | z[G,B,]2 | z[B,DG]2 | [K:bass] z[=F,A,D]2 | z[A,=CE]2 | z[G,B,E]2 | z[D,G,B,E]2 | V:3 "F#m"F3 | "Bm"B,3 | "Em"E3 | "Em7"E3 | "Dm"D3 | "Am"A,3 | "Em7/D"D3 | "/"D3 | V:1 d3- | d2d | e=fg | a=cd | edB | d3- | d2d | V:2 z[=C,E,A,D]2 | z[=C,E,A,D]2 | z[A,=C=F]2 | z[A,=CE]2 | z[D,G,B,E]2 | z[=C,E,A,D]2 | z[=C,F,A,D]2 | V:3 "Am/D"D3 | "D7"D3 | "Dm7"D3 | "Am/D"D3 | "Em7/D"D3 | "Am/D"D3 | "D7"D3 | V:1 [1g3 | f3 | BAB | cde | cde | F3 | =c3 | d3 :| V:2 [1 [K:treble] z[B,EG]2 | z[A,CF]2 | z[B,DF]2 | z[CEA]2 | z[A,CFA]2 | z[A,D][B,DG] |[=CEA=c]3 |[DFAd]3 :| V:3 [1 "Em"E3 | "F#m"F3 | "Bm"B,3 | "A/E"E3 | "F#m7/E"E3 | "/"EBe | "Am7"A3 | "D"[DAd]3 :| V:1 [2g3 | =f3 | B=c=f | ed=c | ed=c | =F3 | =c3 | d3 |] V:2 [2 z[B,EG]2 | z[A,D=FA]2 | z[A,=CF]2 | z[=CEA]2 | z[A,=C=FA]2 | z[A,D][B,DG] |[=CEA=c]3 |[D=FAd]3 |] V:3 [2 "Em"E3 | "Dm/E"E3 | "F/E"E3 | "Am/E"E3 | "F/E"E3 | "/"EBe | "Am7"[Ag]3 | "Dm"[DAd]3 |]