我有兴趣在 ios 上开发一个简单的测试应用程序(使用 Swift),根据连续网格上的浮点位置,从左到右移动鼠标光标来控制正在播放的声音的频率。我会寻找这样的东西:https ://www.szynalski.com/tone-generator/
我创建了指数频率曲线的基本可视化来帮助自己入门:
声音必须在运行时生成并连续播放,频率变化也应该是连续/瞬时的(如弯音)。AudioKit 似乎是一个很棒的 API,可以帮助我快速完成某些事情,但仔细研究它,看起来很多文档齐全的便利功能仅适用于预制音频。例如,网页上说弯音示例仅用于播放器声音,而不是生成的声音。
浏览教程,我没有看到我的用例被涵盖——可能是在复杂的音频合成器中。还有一个问题是我将如何使频率变化和音频处于优先级线程中,因为这是应用程序的重点。我记得读到使用 UI 事件循环是行不通的。
为了表明我已经努力寻找解决方案,我想链接我找到的几个页面:
这是 MIDI 音符输出的示例,但它不是连续的: https ://audiokit.io/playgrounds/Synthesis/Oscillator%20Bank/
我在 stackoverflow 上发现的唯一频率问题之一适用于使用麦克风进行音高检测,这并不真正相关: AudioKit (iOS) - Add observer for frequency/amplitude change
这谈到了连续振荡,但没有描述如何动态改变频率或产生声音 如何在 Audiokit 中不断改变 AKMorphinOscillatorBank 的频率?
我认为这是我发现的最接近的东西(产生声音,使用运行时参数来调整频率): AudioKit:根据陀螺数据改变声音/摆动手机?
如果最后一页有解决方案,那我该怎么办AKOperationGenerator
?我很想看到一个完整的例子。
简而言之:如何在 AudioKit 中创建一个简单的示例(或者我是否需要 CoreAudio 和 AudioUnits?),其中可以使用在运行时不断更新的浮点坐标来连续和瞬时地改变生成声音的频率?如何创建这样的声音(我想我不仅想合成正弦波,还想合成听起来更像真实乐器或 FM 合成器的东西),打开/关闭它,并以我的方式控制它需要?
我是 AudioKit 的初学者,但我已经设置好了开发环境。我能帮上忙吗?