我想通過使用 OSC 將 MIDI 訊息從 USB Midi 設備傳輸到 Pure Data,其中 MIDI 資料是通過 Ruby/libusb 捕獲的。
我需要這種結構的原因是 USB MIDI 介面集成到 USB 控制界面中,并且由于其他通信原因,Ruby 已經宣告了整個設備,因此直接在 Pd 中使用它被阻止。
這就是我嘗試的方式。假設“mididata”包含一個陣列,該陣列已經轉換為帶有@mididata=data.bytes 的字串
@client.send Message.new("/Midi",@m.mididata.join(" "))
我必須使用空格作為分隔符,因為如果我嘗試用逗號分隔它,Pd(或 Ruby)會在逗號之前呼叫反斜杠。
所以這給了我 Pd 方面的資訊:
print: 8 128 46 64
我不知道“8”是從哪里來的,但這不是我主要關心的問題。更多的是關于如何將該資訊拆分為“128”“46”“64”的數字塊,以便使用該資訊為 Pd 合成器實體形成一條訊息 - 而不是使用通常的“Midiin”-Object。
uj5u.com熱心網友回復:
您可以使用 unpack 物件獲取串列的各個專案。對于四個浮點數的串列,請使用[unpack f f f f]. 我是否正確理解了這個問題?還要查找[netreceive], [oscparse] 的幫助檔案,[oscformat]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/478573.html
