gpt4 book ai didi

ios - 从 AKKeyboardView 创建 MIDI 文件

转载 作者:可可西里 更新时间:2023-11-01 17:12:26 25 4
gpt4 key购买 nike

目前我正在使用 AKKeyboardView 从本质上连接到 AKRhodesPiano 对象,我想知道是否有一种简单的方法可以从中生成 MIDI 文件?

我看到 AKKeyboardViewnoteOnnoteOff 功能,它确实产生了 MIDINoteNumber 但我可以在 AudioKit 库中找到任何其他地方来真正获取此输入并生成 MIDI 文件,即使只是一个简单的文件。

最佳答案

您需要在后台运行 AKSequencer(可能带有节拍器轨道)。制作一条额外的轨道,您将在上面录制。还要将长度设置为录制所需的长度。

当您从键盘收到 noteOn 消息时,您可以检查音序器的 currentPosition 并将其记录到字典中。当您收到匹配音高的 noteOff 消息时,再次检查 currentPosition。使用这两个时间之间的差异来获取持续时间并在音序器上向您的录音轨道添加音符:

myRecordingTrack.add(noteNumber: noteNumber,
velocity: 127,
position: timeAtNoteOn,
duration: timeAtNoteOff - timeAtNoteOn,
channel: 0)

然后您可以轻松地使用 AKSequencergenData() 创建 MIDI 文件(可能删除节拍器轨道,或将录制的轨道复制到新的 AKSequencer 实例)。

查看用于设置 AKSequencer 和构建序列的 SequencerDemo,以及用于将 AKSequencer 写入MIDI 文件。

关于ios - 从 AKKeyboardView 创建 MIDI 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50070105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com