Đây là lệnh midge có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
midge - tạo tệp midi từ mô tả văn bản của âm nhạc
SYNOPSIS
muỗi vằn [tùy chọn] [tên tệp]
MÔ TẢ
muỗi vằn tạo tệp midi loại 1 từ mô tả văn bản của âm nhạc. muỗi vằn lấy nó
đầu vào từ stdin trừ khi tên tập tin được quy định.
LỰA CHỌN
-h or --Cứu giúp
Hiển thị văn bản trợ giúp.
--phiên bản or --sự bảo đảm hoặc --về
Hiển thị thông tin phiên bản và giấy phép.
-v or --dài dòng
In đầu ra dài dòng ra stdout.
-d or --gỡ lỗi
In đầu ra gỡ lỗi sang stdout (đặt chế độ tiết tự động).
-q or --Yên lặng
Yên lặng. không stdout.
-o hồ sơ or --outfile hồ sơ
Đầu ra midi thành hồ sơ. Ngược lại đến a.out.mid
-c or --đánh dấu
Chỉ kiểm tra đầu vào; Không có đầu ra midi.
-u or --unroll-vòng
Bỏ cuộn tất cả các khối lặp lại trước khi phân tích cú pháp và lưu mã nguồn chưa được cuộn vào
tệp mới (* .long.mg). Nên được đặt tự động nếu cần.
-U or --no-unroll-lưu
Không lưu nguồn chưa được cuộn vào tệp.
-R or --không đặt lại
Không chèn sự kiện `` đặt lại tất cả bộ điều khiển '' khi bắt đầu bản nhạc.
-t bpm or --nhịp độ bpm
Đặt tiến độ thành bpm nhịp mỗi phút, ghi đè giá trị được đặt trong tệp đầu vào.
-b bước or --bend-bước bước
Đặt số bước cho mỗi nốt một phần tư cho cú pháp uốn cong đơn giản.
- không an toàn
Không sử dụng Safe.pm để chạy mã Perl từ % eval khối.
-s con số or --hạt giống con số
Sử dụng con số làm hạt giống cho trình tạo số ngẫu nhiên.
-S [tỉ lệ [nguồn gốc]] or - quy mô trình chiếu [tỉ lệ [nguồn gốc]]
Liệt kê các ghi chú trong tỉ lệ bắt đầu từ nguồn gốc. Nếu nguồn gốc được bỏ qua c4 được sử dụng. Nếu như tỉ lệ is
bị bỏ qua, một danh sách các thang đo được hiển thị.
-I con đường or --bao gồm con đường
Thêm con đường để bao gồm các đường dẫn. Có thể được chỉ định nhiều lần hoặc con đường có thể là một danh sách
ngăn cách nhau bằng dấu hai chấm hoặc dấu phẩy.
ĐẦU VÀO NGÔN NGỮ
Tệp nguồn mẫu để chơi thang âm E.
================ bắt đầu tập tin ======================
# dòng này là một nhận xét
@cái đầu {# phải có chính xác 1 phần @head
# đặt chữ ký thời gian
$ time_sig 4/4
# đặt nhịp độ trong BPM
$ tempo 120
} # cuối phần @head
@cơ thể người {# phải có chính xác 1 phần @body
# bắt đầu một bản nhạc trên kênh 1
# nhiều bản nhạc có thể sử dụng cùng một kênh
@kênh 1 {
# đặt bản vá thành âm trầm điện
$ vá 34
# ghi chú. xem bên dưới để giải thích.
/ l4 / e3 # nốt quý e trong quãng tám thứ ba
f+ # f nét cùng độ dài quãng tám
# sử dụng `-'cho căn hộ
g + ab # phần còn lại của ghi chú
c+4 d + e # quãng tám thay đổi ở c
} # cuối bản nhạc
} # cuối phần @body
======================== cuối tệp ====================
Các ví dụ khác được bao gồm trong các ví dụ / thư mục của kho lưu trữ.
Trong những điều sau đây, là một tham số bắt buộc và [name] là một tham số tùy chọn.
Notes.
Định dạng của ghi chú là: [/tùy chọn/]<tên>[+|-][bát cú]
Sản phẩm /tùy chọn/ phần có thể chứa những điều sau:
l[tử số:]
Đặt độ dài của ghi chú thành (tử số hoặc một) chia cho mẫu số. I E. l4 = quý
nốt, l1 = cả nốt, l3: 4 = 3/4 nốt (3 nốt quý buộc). Một chữ hoa `L' có lẽ
được sử dụng thay thế để phân biệt nó với số 1.
r
Đặt số lần lặp lại ghi chú. Ví dụ
/l8r16 /
làm cho thời lượng của nốt nhạc là 1/8 và lặp lại nốt nhạc đó 16 lần.
a
Đặt ghi chú của nốt nhạc về vận tốc (tấn công)
d
Đặt tốc độ tắt của nốt nhạc (phân rã)
z[+ | -] [%]
Offsets ghi chú bởi con số tiếng nhấp chuột midi. Giá trị dương đóng nốt muộn và âm
giá trị chơi nó sớm. Nếu như con số được theo sau bởi một dấu `%Ký tự của tôi nó được coi là một tỷ lệ phần trăm
độ dài ghi chú hiện tại. Giá trị bù đắp là không được kế thừa bởi các ghi chú tiếp theo.
Z[+ | -] [%]
Như trên `z´ tùy chọn nhưng một giá trị ngẫu nhiên được sử dụng. Nếu như con số là tiêu cực hay tích cực
(dấu cộng cần phải), một giá trị từ XNUMX đến con số Được sử dụng. Nếu không có dấu hiệu, một
giá trị giữa cộng và trừ con số Được sử dụng.
Tùy chọn bù đắp sẽ không hoạt động với rtùy chọn ghi chú epeat, nhưng hiệu ứng tương tự có thể
đạt được bằng cách sử dụng một %lặp lại khối.
Các ghi chú không thể được bù lại (tức là được phát sớm) trừ khi chúng được đặt trước phần còn lại. Đến
giải quyết vấn đề này, tôi đã thêm rút ngắn $ từ khóa, được mô tả bên dưới. Xem thêm $ unquantise.
tên là tên của ghi chú tức là. [ag] cần phải.
+ nhọn.
- bằng phẳng.
bát cú là quãng tám midi tức là. [1-11]. Mặc dù hầu hết phần mềm midi sử dụng 0 cho mức thấp nhất
quãng tám, tôi đã sử dụng 1 để nhất quán với các kênh midi và tên nhạc cụ
cả hai đều đếm từ 1.
Nếu không được chỉ định, độ dài, quãng tám, tấn công và phân rã được kế thừa từ
Ghi chú.
Trong một bản trống, thay vì tên nốt, có thể sử dụng bí danh. Ví dụ, để có được một
mở mũ chào, thay vì `f + 3'bạn có thể sử dụng'hh_o'. Xem README.drums để biết danh sách đầy đủ
bí danh.
Các cuộc đua.
Rests được viết dưới dạng ghi chúr', với /tùy chọn/ tương tự như đối với ghi chú, nhưng chỉ với
tùy chọn độ dài và lặp lại được sử dụng. Giá trị độ dài được kế thừa từ ghi chú đến phần còn lại và phần khác
ngược lại.
Thanh.
Ký hiệu ống (`| ') có thể được sử dụng để biểu thị các thanh. Chiều dài của các thanh không được kiểm tra -
điều này chỉ để cho phép các tệp nguồn dễ đọc hơn. Các thanh có thể được đánh số bằng cách thêm một
số vào ký hiệu đường ống. Chúng có thể được phân tách bằng dấu gạch dưới nhưng không được phân cách bằng dấu cách.
Ví dụ về thanh đơn giản: | cdef | gabc
Ví dụ về thanh được đánh số: | 1 cdef | 2 gabc
| _1 cdef | _2 gabc
Tính nhất quán của các thanh có thể được kiểm tra bằng cách sử dụng $ bar_strict từ khóa trong @cái đầu
phần. Điều này đưa ra lỗi hoặc cảnh báo trừ khi tất cả các bản nhạc có cùng số thanh và
các thanh được đánh số xuất hiện cùng lúc trong mỗi bản nhạc:
$ bar_strict cảnh báo # In thông báo cảnh báo cho các thanh không nhất quán.
$ bar_strict lôi # Thoát với thông báo lỗi cho các thanh không nhất quán.
Từ khóa cấp cao nhất.
@cái đầu { Nội dung }
Phải có chính xác một @cái đầu phần. Xem bên dưới để biết mô tả về nội dung.
@cơ thể người { Nội dung }
Phải có chính xác một @cơ thể người phần. Xem bên dưới để biết mô tả về nội dung.
Từ khóa trong @cái đầu phần.
$ time_sig
Sản phẩm b giá trị phải là một trong 4, 8, 16, 32, 64.
$ tempo
t là nhịp độ trong BPM.
Cả hai $ time_sig và $ tempo cũng được cho phép trong khối @channel (được mô tả bên dưới).
$ title
Đặt tiêu đề của bài hát thành tiêu đề. Nếu tiêu đề chứa khoảng trắng nó phải ở bên trong gấp đôi
trích dẫn.
$ độ phân giải
Đặt số lượng nhấp chuột midi trên mỗi ghi chú quý thành n. Giá trị mặc định là 96.
Từ khóa trong @cơ thể người phần.
%định nghĩa {ghi chú}
Xác định một chuỗi các ghi chú, gán nó cho tên được nhớ lại trong một bản nhạc. Xác định
trình tự được sử dụng bằng cách bao gồm:
~[/ chuyển vị /]
trong một bản nhạc để bao gồm trình tự tên, được chuyển đổi bởi hoán vị nửa cung. Trước đây
trình tự xác định có thể được sử dụng trong các %định nghĩa các khối. ví dụ:
%định nghĩa a_riff {a3 a c4 d}
%định nghĩa d_riff {d4 dfg}
%định nghĩa main_riff { ~a_riff ~d_riff}
Mặc dù chúng tôi có thể đạt được kết quả tương tự bằng cách chuyển đoạn riff đầu tiên để tạo ra
thứ hai:
%định nghĩa a_riff {a3 a c4 d}
%định nghĩa main_riff { ~a_riff ~a_riff/ 5 / }
định nghĩa các khối cũng có thể chứa các khối lặp lại, khối uốn cong và $ volume / patch / reverb, v.v.
@kênh [tên] {nội dung}
Bắt đầu bản nhạc midi trên kênh con số, tùy chọn đặt tên công cụ thành tên. Nếu
tên chứa khoảng trắng nó phải nằm trong dấu ngoặc kép.
nội dung có thể bao gồm ghi chú, phần còn lại, trình tự đã xác định trước đó và những thứ sau
từ khóa:
$ time_sig
Thay đổi ký hiệu thời gian cho bài hát (ảnh hưởng đến tất cả các bản nhạc). Các b giá trị phải là một trong những
4, 8, 16, 32, 64.
$ tempo
Thay đổi nhịp độ bài hát (ảnh hưởng đến tất cả các bản nhạc). t là trong BPM.
$ vá [[bank_LSB,] bank_MSB,]
Đặt số bản vá cho kênh này thành con số or tên. Đâu con số là từ 1 đến 128 và
tên là một bí danh như được định nghĩa trong README.patches. Tùy ý chọn số ngân hàng ngân hàng_MSB.
Tùy ý chọn số LSB ngân hàng ngân hàng_LSB (dùng cho bàn phím midi gắn ngoài). Mỗi giá trị
phải nằm trong khoảng 1-128.
$ ngân hàng [LSB,]
Chọn số ngân hàng MSB. Tùy chọn cài đặt giá trị LSB (được sử dụng cho midi bên ngoài
bàn phím) để LSB. Cả hai giá trị phải nằm trong khoảng 1-128.
$ chiều dài [n:]
Đặt độ dài ghi chú mặc định. Giá trị được chỉ định ở định dạng giống như trong các tùy chọn ghi chú.
rút ngắn $
Rút ngắn từng ghi chú bằng con số tiếng nhấp chuột giữa, để cho phép khoảng trống cho các ghi chú được bù lại phía sau.
$ unquantise [+ | -] [%]
Áp dụng phần bù ngẫu nhiên cho mỗi ghi chú. con số có cùng nghĩa với Z tùy chọn ghi chú
ở trên.
$ quãng tám
Đặt quãng tám mặc định thành con số
$ volume
Đặt âm lượng bản nhạc thành con số
$ tấn công
Đặt cuộc tấn công của ghi chú thành con số
$ phân rã
Đặt độ sâu của ghi chú thành con số
$ reverb
Đặt độ sâu hồi âm thành con số trên kênh hiện tại.
$ điệp khúc
Đặt độ sâu điệp khúc thành con số trên kênh hiện tại.
$ pan
Đặt giá trị xoay thành con số. 0 là bên trái 127 là bên phải.
Các giá trị âm lượng, tấn công, giảm dần, hồi âm, điệp khúc và chuyển âm phải là các số nguyên từ 0 đến 127.
Chúng cũng có thể được chỉ định dưới dạng một phạm vi (ví dụ:8-64'), trong trường hợp đó một giá trị ngẫu nhiên trong
phạm vi được sử dụng.
% pan_all {giá trị ghi chú ...}
Đặt giá trị xoay cho mỗi phiên bản tiếp theo của ghi trong bản nhạc hiện tại. Đây là
chủ yếu dùng để quay bộ trống, nhưng có thể được sử dụng trên một bản nhạc khác. giá trị có thể
một số nguyên hoặc một phạm vi (ví dụ:8-64'). Nhiều ghi giá trị các cặp được cho phép. Nếu hai nốt nhạc
với các giá trị pan_all khác nhau được phát cùng lúc bất kỳ điều gì có thể xảy ra.
Để tác động đến mọi nốt trong kênh bằng một dải, hãy sử dụng `*'hoặc'bất kì' vì ghi. Các
/ r4 /Phương pháp lặp lại ghi chú sẽ không hoạt động với tùy chọn này, nhưng hiệu quả tương tự
có thể đạt được bằng cách sử dụng một khối lặp lại.
$ marker
Thêm sự kiện đánh dấu với văn bản vì nó là nội dung. Nếu như văn bản chứa khoảng trắng nó phải được trích dẫn
sử dụng các ký tự dấu ngoặc kép.
%lặp lại {ghi chú}
Lặp lại ghi chú con số lần. ghi chú có thể bao gồm ghi chú, phần còn lại, trình tự xác định trước và các
%lặp lại khối.
%bẻ cong { Sự kiện ... }
Play ghi và di chuyển bánh xe cao độ theo cách được mô tả bởi nhiều sự kiệns, có
định dạng sau:
[n:] <+ | ->
Ở đâu n và d chỉ định thời gian kể từ khi bắt đầu ghi chú hoặc từ sự kiện trước đó, trong
cùng định dạng với độ dài ghi chú, và giá trị là số tiền để bẻ cong nốt nhạc (cộng
hoặc dấu trừ là bắt buộc). Với phạm vi bánh xe cao độ mặc định là +/- 2 nửa cung, một giá trị
của 32 tương đương với một nửa cung. Lưu ý rằng số lượng uốn cong là tương đối. Giá trị lớn nhất
tích lũy lượng uốn cong là cộng hoặc trừ 64.
Ví dụ như sau:
% uốn cong a3 {4 + 32 4-32 2 + 0}
Chơi nốt a3 cho nốt 1/4, uốn cong toàn bộ âm trong 1/4 rồi quay trở lại a3 và
giữ cho 1/2 nốt nhạc.
$ bent_range
Thay đổi phạm vi bánh xe cao độ thành +/- con số. Điều này thiết lập độ uốn cong tối đa lên và xuống, vì vậy nếu
nó được đặt thành 4, giá trị uốn cong là 64 sẽ uốn cong lên 4 nửa cung và -64 sẽ uốn cong xuống 4
nửa cung. Phạm vi mặc định cho hầu hết các thiết bị midi là 2 nửa cung.
$ pitch
Đặt giá trị bánh xe cao độ thành val. Điều này có thể được sử dụng cùng với ghi chú riêng trên
và ghi chú các sự kiện (xem bên dưới trong phần `` ghi chú đồng thời ') để tạo ra sự uốn phức tạp
các hiệu ứng. Không giống như %bẻ cong cú pháp ở trên, điều này không không đặt lại bánh xe cao độ về trung tính
vị trí (64)
Các khúc cua cao độ đơn giản hơn có thể được tạo bằng cú pháp sau:
/ l8 / e4=>g4=>e4
Điều này uốn cong từ e4 lên đến g4 và lùi xuống e4 theo các bước tuyến tính trong thời gian của một
ghi chú thứ tám. Theo mặc định, có 16 bước cho mỗi thời lượng nốt một phần tư (8 bước trong đó
ví dụ), nhưng một giá trị khác có thể được đặt bằng cách sử dụng công tắc dòng lệnh `-b '. Bất kỳ số nào
Trong số các ghi chú có thể được sử dụng, nhưng ghi chú đầu tiên phải có giá trị độ dài và mỗi ghi chú phải
có giá trị quãng tám.
%lựa chọn [thời gian] {trọng số mục ...}
trong đó thời gian là một giá trị độ dài ở định dạng [n:] giống như được sử dụng trong các tùy chọn độ dài,
với dấu `l 'bị bỏ qua.
If thời gian không được chỉ định:
Chọn một mục từ một danh sách, trong đó mỗi mục có thể là một ghi chú, phần còn lại, hoặc phần riff được xác định trước, và
mỗi mục có một trọng lượng xác định khả năng nó được chọn. Ví dụ:
% chọn {2 a3 4 c5 3 e4 1 g3}
cho a3 20% cơ hội, c5 - 40%; e4 - 30% và g3 - 10% Mỗi mặt hàng phải có một trọng số.
Xem thêm các thang đo bên dưới.
if thời gian được quy định:
Chọn nhiều mụcs từ danh sách có độ dài lên đến thời gian. Nếu tất cả mụcs là quá dài
để kết thúc cuộc riff chính xác tại thời gian, phần còn lại được lấp đầy bằng phần còn lại. Khi lựa chọn được sử dụng
theo cách này, mỗi ghi chú hoặc phần còn lại phải có giá trị độ dài và bất kỳ đoạn trích xác định trước nào được sử dụng phải
có độ dài cố định (nghĩa là nốt đầu tiên phải có giá trị độ dài) và độ dài của
toàn bộ riff phải được chỉ định trong khối chọn ở định dạng giống như đối với ghi chú. vì
thí dụ:
% xác định riff_1 {/ l2 / a3 / l4 / b c4} # riff dài 1 vạch
%lựa chọn 4:1 {# chọn 4 thanh
1 / l8 / d4 3 / l8 / e4 2 / l4 / g4 1 / l1 / ~ riff_1
}
If thời gian is 0 or - sau đó midge tìm kiếm một khối có dạng:
nhịp điệu { NS] ... }
được coi là một loạt các giá trị độ dài nốt mà cao độ được chọn từ
danh sách. Các mã thông báo khác được chuyển qua, vì vậy bạn có thể chèn các ghi chú cụ thể, các đoạn trích xác định trước
hoặc nghỉ ngơi. Bất kỳ mã thông báo nào trong khối bắt đầu bằng dấu gạch dưới sẽ được chuyển qua, với
gạch dưới bị xóa. Xem ví dụ / tutorial / select_scale.mg để làm ví dụ.
Một cách khác để chỉ định danh sách ghi chú / trọng số là với tỉ lệ từ khóa:
tỉ lệ nhỏ / l8 / g4-6 [trọng lượng ...]
Thao tác này chọn thang âm G từ quãng 4 đến quãng 6 (tức là g4 đến g6). Giá trị độ dài
là không cần thiết nếu bạn đang sử dụng một khối nhịp điệu. Nếu -6 bị bỏ qua một quãng tám duy nhất là
đã sử dụng.
Khối trọng lượng chỉ định các trọng số ghi chú theo thứ tự. Nếu bỏ qua tất cả các trọng số là
bình đẳng. Để nhập một ghi chú, hãy sử dụng trọng số 0, nhưng ở đó phải là một trọng số cho mỗi nốt nhạc
nếu khối có ở tất cả.
Sản phẩm -S switch có thể được sử dụng để hiển thị các nốt trong thang âm hoặc danh sách các thang âm được hỗ trợ.
%chuỗi {
bắt đầu
note1 [ghi chú trọng lượng ...]
...
nhịp điệu [chiều dài trọng lượng ...] or nhịp điệu {chiều dài ...}}
Xác định cấu trúc `` chuỗi '' trong đó đối với mỗi ghi chú có một danh sách các ghi chú có trọng số có thể
theo nó. Điểm bắt đầu được chọn ngẫu nhiên từ tất cả các ghi chú được sử dụng hoặc được chỉ định với
các Bắt đầu từ khóa, và sau đó các ghi chú tiếp theo được chọn từ danh sách thích hợp cho đến một
tổng chiều dài thời gian.
Sản phẩm nhịp điệu từ khóa có hai dạng: Sử dụng dấu ngoặc vuông `[] ', một danh sách ghi chú có trọng số
độ dài có thể được xác định, sẽ được chọn ngẫu nhiên. Sử dụng dấu ngoặc nhọn `{} ', danh sách
giá trị độ dài có thể được xác định sẽ được sử dụng theo trình tự (lặp lại khi cần thiết). Đến
chơi qua khối nhịp điệu chỉ một lần, đặt thời gian đến 0 or -. Trong trường hợp này, nhịp điệu
khối được phân tích cú pháp theo cách tương tự như được mô tả ở trên cho %lựa chọn với thời gian được đặt thành không. Các
từ khóa thời gian có thể được sử dụng như một từ đồng nghĩa với nhịp điệu.
Sản phẩm Bắt đầu từ khóa chỉ định lưu ý bắt đầu từ khi sử dụng chuỗi. Nếu như Bắt đầu is
bỏ qua, ghi chú bắt đầu được chọn ngẫu nhiên.
Một cách khác xác định các ghi chú trong một chuỗi khối là sử dụng một trong các thang đo có sẵn. sau đó
trọng số được chỉ định dưới dạng ma trận, với một hàng cho mỗi ghi chú "từ" (một
cho mỗi nốt của thang âm) và một cột cho mỗi nốt "to". Một ví dụ về biểu mẫu này có thể
được tìm thấy trong các ví dụ tệp / hướng dẫn / chain_scale.mg
Để sử dụng các khối select hoặc chain, tệp phải được biên dịch với tùy chọn unroll-loop
(nó được đặt tự động khi tìm thấy một lựa chọn hoặc khối chuỗi). Tùy chọn này lưu
mã nguồn chưa được cuộn trong một tệp mới, vì vậy nếu nó tạo ra đầu ra đặc biệt tốt, bạn có một
bản sao chính xác mà bạn có thể thực hiện các thay đổi khác mà không làm mất bản nhạc đã tạo.
Lưu ý rằng một lựa chọn và các khối chuỗi không thể nằm bên trong% xác định hoặc bên trong một lựa chọn khác hoặc
khối chuỗi.
% eval {Mã Perl}
Chạy một khối mã Perl và thay thế khối% eval bằng giá trị được trả về từ Perl
Mã.
% eval - {Mã Perl}
Chạy một khối mã Perl mà không đọc giá trị trả về.
Mã Perl được chạy bằng mô-đun An toàn nếu nó hiện diện, với: base_core,: base_math và
: base_mem được phép. Nếu Safe.pm không khả dụng hoặc cần nhiều quyền hơn thì --unsafe
tùy chọn khiến midge chạy các khối% eval trong quy trình perl của chính nó.
Từ khóa được phép tại bất kỳ điểm nào trong nguồn.
%bao gồm
Bao gồm các nội dung của hồ sơ như thể chúng đã được viết vào thời điểm đó trong nguồn
tập tin. Phải nằm trên một dòng của chính nó trong tệp nguồn.
Ghi chú đồng thời.
Cách linh hoạt nhất để chơi các nốt đồng thời là sử dụng các bản nhạc riêng biệt (bạn có thể sử dụng
cùng một kênh / bản vá), hoặc bằng cách sử dụng các sự kiện bật và tắt ghi chú riêng biệt (xem bên dưới).
Tuy nhiên, có một cách đơn giản hơn với một số hạn chế. Ví dụ: ( c e g ) sẽ chơi
các nốt c, e và g đồng thời tạo thành hợp âm C. Chiều dài của tất cả các
ghi chú giống như ghi chú đầu tiên (được xác định bởi giá trị độ dài của chính nó hoặc
kế thừa từ khai báo ghi chú, phần còn lại hoặc $ length trước đó.
Một cách để sử dụng nó để tạo hợp âm như sau:
%định nghĩa nhỏ { ( c e- g ) } # định nghĩa trẻ vị thành niên là trẻ vị thành niên
%định nghĩa chính { ( c e g ) } # định nghĩa chuyên ngành để trở thành một chuyên ngành c
%định nghĩa 7th { ( c e g b- ) } # xác định 7th là c-7th
Sau đó, bạn có thể sử dụng trong các bản nhạc của mình:
$ length 4 $ octave 4 # đặt độ dài và quãng tám mặc định
~ chuyên ngành # chơi một chuyên ngành c
~ nhỏ / 9 / # chơi trẻ vị thành niên
~ 7/5 / # chơi f-7th
Để tạo ra âm thanh hợp âm được gảy, tầng lớp từ khóa có thể được sử dụng:
$ strum 5
Điều này đặt khoảng cách giữa mỗi nốt trong hợp âm tiếp theo là 5 lần bấm midi.
Để tạo các mẫu phức tạp của các ghi chú đồng thời trên một bản nhạc, hãy tách riêng ghi chú trên và ghi chú
sự kiện tắt có thể được sử dụng. Chúng được chỉ định theo cách tương tự như ghi chú thông thường, nhưng với +
prepeed for note on and a - ghi chú trước cho ghi chú. Các tùy chọn độ dài và độ dài lặp lại không thể
được dùng. Độ dài của ghi chú được nhập theo cách này được kiểm soát bằng cách đặt phần còn lại hoặc cách khác
ghi chú giữa các sự kiện ghi chú bật và ghi chú tắt. ví dụ:
+c4 / l4 / r +ờ +g / l2 / r -c -e -g
chơi và giữ c4, sau khi nốt 1/4 chơi và giữ e4 và sau khi nốt 1/4 khác chơi
và giữ g4, thả cả ba nốt sau 1/2 nốt nhạc.
Tuplet.
Mặc dù có thể tạo bộ âm bằng cách chọn độ dài nốt nhạc phù hợp, họ cũng có thể
được viết theo cách thông thường hơn bằng cách sử dụng % tuplet từ khóa:
% tuplet n: d {ghi chú ...}
đóng n ghi chú trong không gian của d. ghi chú có thể chứa bất kỳ thứ gì được phép trong khối @channel.
Các giá trị ghi chú sau đó sẽ tự động được thay đổi để tạo bộ tuplet. Ví dụ:
% tuplet 5: 3 {/ l8 / e4 fgfe}
chơi năm nốt lớn trong khoảng trống của ba. Tuplet có thể được lồng vào bất kỳ độ sâu nào. Nhìn thấy
example / tutorial / tuplet.mg để làm ví dụ. Midge không không kiểm tra độ dài của âm nhạc
bên trong khối tuplet là đúng.
Chìa khóa.
Nếu bạn muốn nhập tệp midi của mình vào trình chỉnh sửa ký hiệu, bạn sẽ muốn đặt khóa.
Điều này được thực hiện với:
phím $ [+ | -] [m]
Ở đâu tên ag, + | - là sắc và phẳng, và m là nhỏ. Nếu toàn bộ mảnh vẫn ở trong
cùng một khóa mà bạn có thể đặt nó trong phần @head, nếu không, nó có thể xuất hiện ở bất kỳ đâu trong
@channel và sẽ ảnh hưởng đến tất cả các bản nhạc.
Nếu bạn đã quen với các ký hiệu âm nhạc thông thường và muốn các nốt tự động trở nên sắc nét hoặc phẳng
tùy thuộc vào khóa, sử dụng $ key_strict từ khóa thay thế. Để có được một ghi chú tự nhiên, hãy sử dụng =
ký hiệu, ví dụ như trong G, f= đóng vai trò tự nhiên. Các $ key_strict từ khóa chỉ có thể được sử dụng trong
phần @head. Chìa khóa vẫn có thể được thay đổi bằng cách sử dụng phím $ từ khóa.
$ ctrl
Đặt số bộ điều khiển num đến val.
$ rpn [num-msb,] [, val-lsb]
Đặt bộ điều khiển rpn num đến val
$ nrpn [num-msb,] [, val-lsb]
Đặt bộ điều khiển nrpn num đến val
% nguyên văn {byteval ...}
Chèn một chuỗi byte vào tệp midi. Mỗi thời gian phụ có thể ở dạng thập phân (0-255)
hoặc hex (0x00-0xFF). Từ khóa byte có thể được sử dụng thay vì từng tiếng một.
$ in
In văn bản sang stdout. Nếu như văn bản chứa khoảng trắng nó phải được trích dẫn bằng cách sử dụng dấu ngoặc kép (").
Sử dụng midge trực tuyến bằng các dịch vụ onworks.net