[英]How to send Midi messages to a midi controller in python
[英]How to send NRPN messages with pygame midi
我正在編寫一個程序,該程序將從只能發送cc的設備讀取傳入的cc消息,並將其作為nrpn消息發送到另一設備。 我知道如何從pygame發送cc消息,但我無法確定如何發送nrpn的消息。 我看了看Vriareon代碼,我什至沒有看到它甚至可以訪問midi。 誰能舉一個例子說明如何做到這一點?
謝謝!
NRPN消息是 CC消息。
但是,NRPN號碼與CC號碼不同。 MIDI規范說:
控制器編號6(數據輸入),與控制器編號96(數據遞增),97(數據遞減),98(非注冊參數編號LSB),99(非注冊參數編號MSB),100(注冊參數編號) LSB)和101(注冊參數號MSB)擴展了可通過MIDI使用的控制器的數量。 通過首先使用控制器98和99或100和101選擇要編輯的參數編號,然后使用控制器編號6、96或97調整該參數的數據值,來傳輸參數數據。
要更改音量(7)之類的控制器,您將發送一條消息:
B0 07 xx
要更改NRPN,請先選擇NRPN:
B0 63 mm
B0 62 ll
然后使用數據輸入控制器更改當前選擇的NRPN:
B0 06 mm
B0 26 ll (optional, for 14-bit values)
因此可以將NRPN 0:1設置為值42:
self.midi_out.write_short(0xb0, 0x63, 0)
self.midi_out.write_short(0xb0, 0x62, 1)
self.midi_out.write_short(0xb0, 0x06, 42)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.