Ios 从键盘视图创建MIDI文件
目前我正在使用Ios 从键盘视图创建MIDI文件,ios,audiokit,Ios,Audiokit,目前我正在使用AKKeyboardView基本上连接到AKRhodesPiano对象,我想知道是否有一种简单的方法可以从中生成MIDI文件 我看到AKKeyboardView具有noteOn和noteOff功能,这确实产生了MIDINoteNumber,但我在AudioKit库中找不到其他地方可以真正获取此输入并生成MIDI文件,即使只是一个简单的音序器。您也需要在后台运行AKSequencer(可能带有节拍器音轨)。制作一个你将录制到的附加曲目。还可以将长度设置为录制所需的长度 当您从键盘收到
AKKeyboardView
基本上连接到AKRhodesPiano
对象,我想知道是否有一种简单的方法可以从中生成MIDI文件
我看到
AKKeyboardView
具有noteOn
和noteOff
功能,这确实产生了MIDINoteNumber
,但我在AudioKit库中找不到其他地方可以真正获取此输入并生成MIDI文件,即使只是一个简单的音序器。您也需要在后台运行AKSequencer(可能带有节拍器音轨)。制作一个你将录制到的附加曲目。还可以将长度设置为录制所需的长度
当您从键盘收到noteOn消息时,您可以检查sequencer的currentPosition
,并将其记录到字典中。当您收到匹配音高的noteOff消息时,再次检查currentPosition
。使用这两次之间的差异获取持续时间,并在sequencer上的录制曲目中添加注释:
myRecordingTrack.add(noteNumber: noteNumber,
velocity: 127,
position: timeAtNoteOn,
duration: timeAtNoteOff - timeAtNoteOn,
channel: 0)
然后,您可以轻松使用AKSequencer
的genData()
创建MIDI文件(可能删除节拍器音轨,或者将录制的音轨复制到新的AKSequencer
实例)
查看SequencerDemo以设置AKSequencer
并构建序列和MIDIFileEditAndSync(都在AudioKit repo的iOS示例文件夹中),了解将AKSequencer
写入MIDI文件的示例