- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 AVAudioSequencer
(iOS 12.1.4、Swift 4.2、Xcode 10.1)通过 MIDI 控制第三方 AUv3 乐器时遇到问题,非常感谢您的帮助。
我目前在做什么:
获取类型为 kAudioUnitType_MusicDevice
的所有 AU。
实例化一个并将其连接到 AVAudioEngine
。
创建一些笔记,并将它们放在 MusicTrack
上。
将音轨数据交给连接到引擎的 AVAudioSequencer
。
将轨道的 destinationAudioUnit
设置为我选择的音频单元。
到目前为止,还不错,但是......
当我使用 AVAudioSequencer
播放序列时,第一次播放时效果很好,使用的是选定的音频单元。第二次时,我得到的不是静音,就是正弦波声音(我想知道是谁发出的)。我认为音频单元不应在序列回放之间超出范围,但我确实停止了引擎并为新一轮重新启动它。 (但甚至应该可以在引擎运行时交换 AU,所以我认为这没问题。)
我是否遗漏了某些步骤?我很想包含代码,但是很难从一大堆文字中将其浓缩为本质。但如果你想问具体情况,我可以回答。或者,如果您能给我指出一个工作示例,说明如何使用 AVAudioSequencer
可靠地将 MIDI 发送到 AUv3,那就太好了。
AVAudioSequencer
是否应该与 Apple 以外的其他音频单元一起工作?或者我应该开始寻找其他方法将 MIDI 发送到 AUv3?
我应该补充一点,我可以使用 Apple 的 AUv3Host 示例中的 InstrumentPlayer
方法始终如一地将 MIDI 发送到 AUv3,但这涉及并发线程,并会导致各种 UI 同步和计时问题。
编辑:我向 GitHub 添加了一个示例项目: https://github.com/jerekapyaho/so54753738
它现在似乎可以在 iPadOS 13.7 中运行,但我认为我所做的与以前没有什么不同,除了它从包中加载 MIDI 文件,而不是从数据中动态生成它。
如果有人仍然使用 iOS 12,那么知道它是否已损坏但在 iOS 13.x (x = ?) 上工作会很有趣
最佳答案
如果您使用 AVAudioUnitSampler
作为音频单元乐器,当您停止并启动音频引擎而不重新加载预设时,会出现正弦音调。无论何时启动引擎,您都需要将任何乐器加载回采样器(例如 SoundFont),否则您可能会听到正弦波。这是 Apple AUSampler 的问题,而不是第 3 方仪器的问题。
顺便说一句,您可以使用模拟器在 iOS 12 下对其进行测试。
关于ios - 使用 AVAudioSequencer 将 MIDI 发送到第三方 AUv3 乐器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54753738/
我在使用 AVAudioSequencer(iOS 12.1.4、Swift 4.2、Xcode 10.1)通过 MIDI 控制第三方 AUv3 乐器时遇到问题,非常感谢您的帮助。 我目前在做什么:
只要对象被取消初始化(例如,执行展开转场回到另一个 ViewController 时),以下代码就会导致崩溃并出现以下错误: required condition is false: [AVAudio
我正在尝试使用 AVAudioEngine、AVAudioUnitSampler 和 AVAudioSequencer 创建和测试基本音频设置;但是,即使是这个最基本的代码版本也会引发以下错误,从而导
我是一名优秀的程序员,十分优秀!