ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE
Hướng dẫn người dùng
Cú pháp MIDI
OnSong sử dụng cú pháp dựa trên văn bản để diễn đạt các lệnh MIDI. Mặc dù bạn có thể sử dụng Sự kiện MIDI trong Trình chỉnh sửa Siêu dữ liệu, bạn cũng có thể diễn đạt các lệnh MIDI dưới dạng văn bản.
Các giá trị được phân định
Trên hết, nhiều lệnh MIDI có thể được phân tách bằng các ký tự khác nhau bao gồm: ký tự tab, dấu phẩy, dấu chấm phẩy, dấu gạch ngang hoặc dòng mới. Dấu phẩy là dấu phân tách phổ biến nhất. Ví dụ:
1.2:0@0, PC1.2:3@0, N67@1, START, SS8
Kênh
Mỗi mục có thể chứa ký tự @. Giá trị số sau ký tự này là kênh mà lệnh sẽ được gửi. Vì các kênh trong MIDI bắt đầu từ 0, kênh một sẽ là 0, kênh hai là 1, v.v.
Nếu không sử dụng ký tự @, lệnh sẽ được gửi hoặc nhận trên tất cả các kênh.
Tiền tố
Mỗi mục trong danh sách chứa một tiền tố. Tiền tố này xác định loại lệnh MIDI sẽ được gửi. Chúng bao gồm:
- PC hoặc Không có tiền tố là một sự kiện thay đổi chương trình.
- N là một sự kiện ghi chú
- CC là một sự kiện thay đổi điều khiển.
- SS là một sự kiện lựa chọn bài hát.
- START là một lệnh bắt đầu.
- STOP là một lệnh dừng.
- CONTINUE là một lệnh tiếp tục.
- WAIT chờ một lượng thời gian cụ thể trước khi gửi thêm sự kiện.
- F0 là tiền tố của một thư SysEx.
- @ là tiền tố của một thẻ toàn cục MIDI.
Giá trị
Giá trị của lệnh xuất hiện ngay trước ký tự @ hoặc ở cuối mục nếu không có @. Đây là giá trị của thay đổi chương trình, thay đổi điều khiển, ghi chú hoặc lựa chọn bài hát dựa trên tiền tố. Trong trường hợp các mục SysEx, giá trị thập lục phân của SysEx được cung cấp trực tiếp sau tiền tố F0 được sử dụng làm tiêu đề cho tất cả các lệnh SysEx.
Giá trị phụ
Trong một số trường hợp, thông tin bổ sung được truyền đạt trong lệnh MIDI dưới dạng giá trị phụ. Ví dụ, MSB và LSB, cũng như vận tốc của các giá trị điều khiển có thể được gửi theo cách này. Điều này được thể hiện thông qua việc thêm dấu hai chấm vào phần giá trị. Giá trị phụ có ngữ cảnh khác nhau tùy thuộc vào loại lệnh MIDI được gửi:
- Thay đổi chương trình có các giá trị phụ phù hợp với MSB/LSB của thay đổi chương trình. Các giá trị này được phân tách bằng một dấu chấm với MSB bên trái và LSB bên phải.
- Thay đổi điều khiển có giá trị của điều khiển được đặt bằng cách sử dụng cái này. Số có thể nằm trong khoảng từ 0 đến 127. Nếu bị bỏ qua, giá trị 127 được suy ra. Bạn cũng có thể phân tách nhiều giá trị bằng dấu gạch ngang để bước qua các giá trị. Ví dụ, 127-0 sẽ khóa giá trị 127 giữa các trạng thái bật và tắt.
- Sự kiện ghi chú có một giá trị phụ liên quan đến vận tốc mà ghi chú sẽ được phát. Điều này có thể được đặt thành một giá trị số từ 0 đến 127. Bạn có thể bước qua nhiều vận tốc ghi chú bằng cách phân tách chúng bằng dấu gạch ngang.
Ví dụ
Hãy bắt đầu với một thay đổi chương trình đơn giản. Trong tình huống này, chúng tôi sử dụng thay đổi chương trình 8 cũng gửi MSB là 4 và LSB là 2 trên kênh 1. Ví dụ bắt đầu với biến thể phức tạp nhất và loại bỏ lựa chọn ngân hàng và kênh để trở nên rộng hơn:
PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7
Các thay đổi điều khiển tương tự ngoại trừ việc phía bên trái của cú pháp là số thay đổi điều khiển và phía bên phải là một giá trị tùy chọn. Nếu giá trị không được cung cấp, 127 sẽ được gửi thay thế. Chúng tôi sẽ gửi Thay đổi điều khiển 106 với giá trị 64 trên kênh 3.
CC105:63@2, CC105:63. CC105@2, CC105
Bây giờ hãy xem xét các sự kiện ghi chú. Chúng tôi muốn phát C4 trên kênh 8 với vận tốc 75%, chúng tôi sẽ nhập các nội dung sau vì OnSong bắt đầu đếm MIDI C0 là 0 trên thang điểm ghi chú MIDI:
N60:95@7, N60@7, N60:95, N60
Một lần nữa, điều quan trọng là phải nhớ rằng khi các giá trị bị loại bỏ khỏi cú pháp MIDI, câu lệnh MIDI trở nên rộng hơn và ít cụ thể hơn. Ví dụ, phiên bản cuối cùng của sự kiện ghi chú sẽ gửi C4 ở vận tốc 100% trên tất cả các kênh.
Chúng tôi cũng có thể trì hoãn MIDI bằng cách thêm lệnh WAIT. Nội dung sau sẽ trì hoãn MIDI trong 2 giây cũng như 500 ms (nửa giây). Bạn có thể chỉ định giây từ 1 đến 10 giây hoặc tính bằng mili giây.
WAIT2, WAIT500
Cuối cùng, chúng tôi có thể tham chiếu các toàn cục MIDI là các danh sách sự kiện MIDI được cấu hình trước có thể được tham chiếu. Nếu bạn có một toàn cục MIDI với "on" làm thẻ (không có dấu ngoặc kép), thì bạn có thể tham chiếu toàn cục đó với nội dung sau:
@on