gpt4 book ai didi

iOS AUSampler 连续播放 midi 音符

转载 作者:行者123 更新时间:2023-11-29 03:20:11 39 4
gpt4 key购买 nike

我正在尝试使用 AUSampler 音频单元 在 sf2 文件的帮助下播放 midi 音符。我能够使用 MusicDeviceMIDIEvent 函数开始和停止音符,如下所示。

noteCommand =   kMIDIMessage_NoteOn << 4 | 0;
MusicDeviceMIDIEvent (samplerUnit, noteCommand, note, velocity, 0);

即使我没有使用 NoteOff 消息调用 MusicDeviceMIDIEvent 函数,音符也会在一段时间后停止。

在我用 NoteOff 调用 MusicDeviceMIDIEvent 之前,有什么方法可以让这个音符继续播放吗?或者应该以不同的方式创建 sf2 文件,以便它包含用于音符起音、音符延音等的不同声音文件,并且 AUSampler 单元会自动负责播放延音直到调用 NoteOff?

谢谢。

最佳答案

如果你使用它们,你需要在你的 sf2 文件或 AUPreset 中设置它。对于 AUPresets,这里是 Apple 的 Tech Note TN2283 :

Looping is specified using a Region List property (kAudioFilePropertyRegionList) describing a segment of looped audio data and can be set with the AudioFileSetProperty API.

这是一个 long tutorial关于使用 Garageband 设置循环 AUSampler。 AU Lab还可以生成AUPresets。

对于 sf2,a youtube视频展示了如何设置循环。不清楚他用的是什么软件。如果您喜欢冒险,可以尝试构建开源 Swami对于 OSX

关于iOS AUSampler 连续播放 midi 音符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21203979/

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