gpt4 book ai didi

ios - 如何同时录制、修改和回放?

转载 作者:行者123 更新时间:2023-11-29 12:13:13 25 4
gpt4 key购买 nike

我正在开发 iOS 应用程序。该应用程序旨在模拟助听器。它应该能够先录制声音,然后修改声音(如过滤或频谱增强),最后回放。整个过程要实时完成,即录音和回放之间的延迟应在1秒以内。看过aurioTouch的示例代码,发现有一个回调函数,是在录音的时候调用的。我可以只修改那个回调中的声音吗?我担心的是修改过程有点耗时(大约 0.3 秒)。我可以在回调中做吗?如果不是,为什么?我该怎么办?

最佳答案

您的问题“录制和播放之间的延迟应在 1 秒内”可能有错字(一秒对于音频应用程序来说是非常高的延迟......尤其是对于助听器而言。嘴唇运动和音频会不同步)

无需任何处理,您可以在 5 毫秒到 10 毫秒的范围内将音频从麦克风传输到扬声器/耳机,具体取决于您如何设置 RemoteIO。

您的系统非常简单。它只是一个环回系统,但您想在两者之间插入一些信号处理。 (例如均衡器或其他增强功能,例如背景噪声消除、回声抑制等)。

您需要决定是手动进行信号处理,还是要使用 iOS 当前可用的信号处理音频单元。如果你想在 ios 中使用现有的音频单元,方法是创建一个包含以下项目的音频图- 远程 io(连接到输入总线 1 上的麦克风,输出总线 1 上的扬声器)- 音频单元效果

如果你想自己编写所有 DSP 的东西,你只需要一个 remoteIO 单元。
回答你的问题“我可以只修改那个回调中的声音吗”

是的 - 您可以在麦克风的回调中编写信号处理代码。但是,您必须在下一次回调发生之前完成所有处理。如果您的音频处理时间过长,您需要通过使用 AudioSessionSetProperty(kAudioSessionProperty_PreferredHardwareIOBufferDuration,...

你提到你的处理需要很长时间“(比如大约 0.3 秒)”
那是 300 毫秒,绝对不被认为是音频世界中的“近实时”或“低延迟”。但是,您给出的测量结果是开放式的,因为您没有说明处理了多少音频?处理5秒的音频需要0.3秒吗?处理0.1s的音频需要0.3s吗?

关于ios - 如何同时录制、修改和回放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32722580/

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