从 IOS 到 swift 中的音频合成器获取音量输出

Getting Volume Output from AVAudioSynthesiser in IOS via swift

我想在我正在开发的游戏中添加一个类似 Siri 的按钮。我正在使用 AVSpeech Synthesizer,我正在尝试创建一个随语音输出音量移动的动画。

我没有看到获取 AVAudiosynthesiser 音量输出的方法。有没有办法通过另一个框架获取它?

一个简单的解决方案可能是通过注册 AVSpeechSynthesizerDelegate 并监听对 speechSynthesizer:willSpeakRangeOfSpeechString:utterance:

的调用来显示一些视觉效果

注意:这不是解决方案,而是根据经验提示可以做什么。

有点难做的设置是通过 AVFoundation 核心缓冲区路由声音并进行简单的傅里叶变换以获得振幅并将振幅用作 "Volume"。

我使用类似的技术实时可视化播放的音乐和我制作的卡拉 OK 应用的麦克风输入的现场录音。