问题描述
目标是在实时播放和录制时将 48KHz 音频接口适配到 44.1KHz 内部过程。 r8brain open source 项目用于重采样。令人担忧的是,从 48K 到 44.1K 再回到 48K 的流水线进程是否会总是为每个 48K 输入缓冲区产生一个完整的 48K 输出缓冲区。
这是整个过程中的数据流。
48K 输入 -> [48K 到 44.1K] -> [缓冲区] -> 处理 -> [44.1K 到 48K] -> [缓冲区] -> 48K 输出
在这种情况下,48K 输入和输出在同一时钟上,因此在此流水线用数据准备好之后,对于产生的每个输出样本,必须消耗一个输入样本。
使用 r8brain 重采样器进行的实验表明,这种“双向”或“全双工”样本转换稳定且不会滑动。尽管 44.1K 进程以较低的速率生成/消耗,但 48K 进程总是有一个输出缓冲区来为每个消耗的输入缓冲区生成。中间缓冲区是必要的,但绝不会下溢或上溢。该过程只需要用约 4K 个样本启动即可稳定。
此转换器及其设置的稳定性是否只是运气?不存在舍入错误的风险吗?或者标准重采样算法是否保证在返回到原始采样率时产生完全相同数量的样本输入和输出?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)