簡體   English   中英

即使使用AVAudioTimePitchAlgorithmSpectral,使用AVPlayer緩慢播放的音質也不夠好

[英]The sound quality of slow playback using AVPlayer is not good enough even when using AVAudioTimePitchAlgorithmSpectral

在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 App相同的質量。

是否有iOS API來提高聲音質量遠高於AVAudioTimePitchAlgorithmSpectral

如果沒有,為什么Apple不提供它,即使他們在自己的播客應用程序中使用它?

或者我應該使用第三方庫? 是否有免費或低價的好圖書館,許多人用它來改變播放速度?

我在增加/降低速度的同時遇到了同樣的問題,同時保持了一定的質量水平。 我使用Apples API無法正常工作。 最后我發現值得一看這個優秀的第三方框架:

https://github.com/AudioKit/AudioKit

這使您能夠以直截了當的方式完成更多工作。 希望這可以幫助

我一直在尋找並嘗試學習AudioKit和音頻單元,甚至考慮購買第三方時間延長音頻處理庫來解決過去3周內慢速播放的質量問題。

現在終於找到了一個超級簡單的解決方案

通過將AVPlayerItem.audioTimePitchAlgorithm設置為AVAudioTimePitchAlgorithm.timeDomain而不是AVAudioTimePitchAlgorithm.spectral AVPlayer可以以非常好的質量降低音頻速度。

文件說:

timeDomain是一種適度的質量音調算法,計算密集度較低。 適合聲音

這意味着spectral適合音樂 timeDomain適合語音

這就是為什么我的應用程序使用的語音文件得到了回應。

這就是為什么Apple的Podcasts App降低音頻質量的原因非常高。 它還必須使用此時域算法。

這就是為什么AudioKit,它似乎是為音樂使用而開發的,它播放質量差的語音音頻。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM