gpt4 book ai didi

ios - 即使使用AVAudioTimePitchAlgorithmSpectral,使用AVPlayer慢速播放的音质也不够好

转载 作者:搜寻专家 更新时间:2023-10-30 22:13:22 24 4
gpt4 key购买 nike

在 iOS 中,可以通过设置 AVPlayer.rate 来改变播放速率。当AVPlayback rate设置为0.5时,播放变慢。

默认情况下,0.5 播放速率播放的音质很糟糕。要提高质量,您需要设置 AVPlayerItem.audioTimePitchAlgorithm

根据API文档,将AVPlayerItem.audioTimePitchAlgorithm设置为AVAudioTimePitchAlgorithmSpectral可使音质最高。

快速代码是:

AVPlayerItem.audioTimePitchAlgorithm = AVAudioTimePitchAlgorithm.spectral // AVAudioTimePitchAlgorithmSpectral

AVAudioTimePitchAlgorithmSpectral 比默认质量提高了质量。但是 AVAudioTimePitchAlgorithmSpectral 的音质不够好。声音还在回荡,听着有压力。

在Apple的Podcast App中,当我将播放速度设置为1/2时,播放变慢,音质非常高,完全没有回声。

我希望我的应用程序提供与 Apple 的 Podcast 应用程序相同的质量。

是否有比 AVAudioTimePitchAlgorithmSpectral 更高的 iOS API 来提高音质?

如果没有,为什么 Apple 不提供它,即使他们在自己的 Podcast 应用程序中使用它?

还是应该使用第三方库?是否有很多人用来改变播放速度的免费或低价的好库?

最佳答案

我一直在寻找和尝试学习 AudioKit 和 Audio Unit,甚至考虑购买第三方时间拉伸(stretch)音频处理库来解决过去 3 周播放缓慢的质量问题。

现在我终于找到了一个 super 简单的解决方案。

AVPlayer 可以通过设置 AVPlayerItem.audioTimePitchAlgorithm 来降低质量非常好的音频 到 AVAudioTimePitchAlgorithm.timeDomain 而不是 AVAudioTimePitchAlgorithm.spectral

文档说:

timeDomain is a modest quality pitch algorithm that is less computationally intensive. Suitable for voice.

这意味着 spectral 适用于音乐timeDomain 适用于语音

这就是我的应用程序使用的语音文件被回显的原因。

这就是为什么 Apple 的播客应用程序的慢速音频质量非常高。它也必须使用这种时域算法。

这就是为什么似乎是为音乐用途而开发的 AudioKit 播放质量很差的语音音频的原因。

关于ios - 即使使用AVAudioTimePitchAlgorithmSpectral,使用AVPlayer慢速播放的音质也不够好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52462881/

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