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 để biểu thị 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ể biểu thị các lệnh MIDI trong văn bản.

Giá trị được phân tách

Trước 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, đường ống dọc 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ý hiệu @. Giá trị số sau ký hiệu là kênh mà lệnh sẽ được gửi đến. Vì các kênh trong MIDI bắt đầu từ không, kênh một sẽ là không (0), kênh hai là một (1), v.v.

Nếu không sử dụng ký hiệu @, 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 cần gửi. Chúng bao gồm:

  • PC hoặc Không có tiền tố là sự kiện thay đổi chương trình.
  • N là sự kiện ghi chú
  • CC là sự kiện thay đổi kiểm soát.
  • SS là sự kiện chọn bài hát.
  • START là lệnh bắt đầu.
  • STOP là lệnh dừng.
  • CONTINUE là lệnh tiếp tục.
  • F0 tiền tố một thông báo SysEx.
  • WAIT thực hiện độ trễ.

Giá trị

Giá trị của lệnh xuất hiện ngay trước ký hiệu @ 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 kiểm soát, ghi chú hoặc chọn bài hát dựa trên tiền tố. Trong trường hợp của các mục SysEx, giá trị thập lục phân của SysEx được cung cấp ngay 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 các giá trị phụ. Ví dụ, MSB và LSB, cũng như vận tốc của các giá trị kiểm soát có thể được gửi theo cách này. Điều này được biểu thị bằng cách 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 dấu chấm với MSB ở bên trái và LSB ở bên phải.
  • Thay đổi kiểm soát có giá trị của bộ kiểm soát được sử dụng cho điều này. Số có thể nằm trong khoảng từ 0 đến 127. Nếu bỏ qua, giá trị 127 được suy ra.
  • Sự kiện ghi chú có 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 giá trị số từ 0 đến 127.

Ví dụ

Hãy bắt đầu với một thay đổi chương trình đơn giản. Trong trường hợp 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 của điều này và loại bỏ 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 kiểm soát tương tự ngoại trừ phía bên trái cú pháp là số thay đổi kiểm soát và phía bên phải là 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 kiểm soát 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 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 như 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.

Để thực hiện độ trễ giữa các sự kiện MIDI khác, hãy sử dụng lệnh WAIT với một số. Số có thể là giá trị số nguyên. Bạn có thể xác định giây để chờ là 1-10 hoặc xác định dưới dạng mili giây. Sau đây cho thấy cách chờ 2 giây, 10 giây và nửa giây.

WAIT2, WAIT10, WAIT500
OnSong 2026 — Cập nhật lần cuối vào January 17, 2018