如何解决如何使用AudioKit编写Mac命令行应用程序,以从键盘打印所有的Midi音符?
我想编写一个简单的程序,将打印从键盘输入的音符。我已经在下面显示了一些内容,但是该程序将完成并且不会等待那里的Midi信号。有任何想法吗?谢谢
主文件:
import Foundation
import AudioKit
let midi = MIDI()
midi.openInput()
let receiver = MIDIReceiver()
midi.addListener(receiver)
print("Done")
MIDIReceiver类:
import Foundation
import AudioKit
import CoreMIDI
class MIDIReceiver: MIDIListener {
func receivedMIDINoteOn(noteNumber: MIDINoteNumber,velocity: MIDIVelocity,channel: MIDIChannel,portID: MIDIUniqueID?,offset: MIDITimeStamp) {
print(noteNumber)
}
func receivedMIDINoteOff(noteNumber: MIDINoteNumber,offset: MIDITimeStamp) {
print(noteNumber)
}
func receivedMIDIController(_ controller: MIDIByte,value: MIDIByte,offset: MIDITimeStamp) {
print(controller)
}
func receivedMIDIAftertouch(noteNumber: MIDINoteNumber,pressure: MIDIByte,offset: MIDITimeStamp) {
print(noteNumber)
}
func receivedMIDIAftertouch(_ pressure: MIDIByte,offset: MIDITimeStamp) {
print(pressure)
}
func receivedMIDIPitchWheel(_ pitchWheelValue: MIDIWord,offset: MIDITimeStamp) {
print(pitchWheelValue)
}
func receivedMIDIProgramChange(_ program: MIDIByte,offset: MIDITimeStamp) {
print(program)
}
func receivedMIDISystemCommand(_ data: [MIDIByte],offset: MIDITimeStamp) {
print(data)
}
func receivedMIDISetupChange() {
print("SetupChange")
}
func receivedMIDIPropertyChange(propertyChangeInfo: MIDIObjectPropertyChangeNotification) {
print(propertyChangeInfo)
}
func receivedMIDINotification(notification: MIDINotification) {
print(notification)
}
}
解决方法
鼻窦,
请在SwiftUI中查看AudioKit v5食谱。它包括一个MIDI监视器示例,该示例打印出您的应用程序收到的所有MIDI音符,程序更改和连续控制编号:
https://github.com/AudioKit/Cookbook/blob/main/Cookbook/Cookbook/Recipes/MIDIMonitor.swift
保重,
马克
只需让程序一直运行直到发生按键,例如说按下“ q”或“ esc”键即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。