?

一種自適應響度補償算法在音頻重放中的應用

2022-04-20 10:57黎國偉
無線互聯科技 2022年2期
關鍵詞:響度聲壓級頻帶

黎國偉

(廣東工業大學 信息工程學院,廣東 廣州 510006)

0 引言

音頻往往在制作的時候基于一個特定的響度水平,而此時低中高三頻均衡,聽感效果最佳[1],在實際的音頻重放應用中,音頻的播放音量往往會調低,此時重放音頻的響度會低于原始音頻制作響度水平。由于人耳對不同頻率感知的非線性性,尤其對低頻部分的敏感度要低于中頻,這意味著隨著音量的調低,用戶對音頻低頻部分的感知程度會比中頻下降得更快,從而降低用戶對音頻的整體聽覺感受。有些用戶為了獲得最佳的音頻聽感,往往把音量調得很高,長期以往,會對用戶的聽力造成損害。實驗表明[2]基于ISO 226∶2003等響度曲線[3]的自適應濾波器,在低音量重放音頻時,可以有效地對音頻的低頻部分進行自適應補償,該方法中所采用的是A計權[4]和K計權[5]的響度計算方法,無法直接計算和等響度曲線對應的響度級Phon值,需要煩瑣的校準過程,而且A計權和K計權均屬于單頻帶模型,并未考慮內耳機制的復雜感知特性。為了能夠在重放音頻的時候能較準確地計算出響度級Phon值并對音頻進行自適應響度補償,本文以Leonardo Fierro的自適應響度補償算法[2]為基礎,提出結合ISO 532-1∶2017中的Zwicker多頻帶響度計算模型,對原算法進行改進,并給出了Visual Studio仿真結果。

1 等響度曲線

等響度曲線是指通過對聽力功能正常的聽力測試人員進行主觀測試所得到的聲音響度級相等的一簇曲線。本文所使用的等響度曲線標準為ISO 226∶2003, 該標準定義了在自由場中以頻率為變量的聲壓級函數,且每個聲壓級在不同純音頻率下所對應的人耳感受響度級值的關系。

ISO226∶2003標準給出了通過響度級求得聲壓級的公式,頻率為f的純音的聲壓級Lp和其響度級Ln的關系如下:

其中Tf為聽閾,單位為dB ,Ln為響度級,單位為Phon,af為依賴于頻率的指數因子,Lu為1kHz處的歸一化線性傳輸函數的幅度。

從等響度曲線(見圖1)可以看出,曲線在低頻部分更加陡峭和密集,這意味著頻率越低,人耳的敏感度越低,而且在低頻部分,聲壓值的變化對響度的變化影響很大。比如在1 000 Hz,要達到60 Phon的響度級需要60 dB的聲壓級,而在63 Hz要達到相同的響度級,則需要86 dB的聲壓級,同時在1 000 Hz處,如果聲壓級從60 dB下降10個dB,響度級會下降10個Phon響度級,而在63 Hz處聲壓級從86 dB處下降10 dB,則響度下降了18個左右的Phon響度級。以上觀察均能充分體現了人耳對不同頻率感知的非線性,由于這種非線性,在音量調低時,對不同的頻率根據等響度曲線做出不同程度的補償,才能較好地維持人耳對音頻原有的頻率均衡感受。

圖1 ISO226∶2003等響度曲線[3]

2 響度補償方法

Leonardo Fierro提出的響度補償方法[2],主要原理是根據等響度曲線獲得一個和音頻重放音量相關的敏感函數S,然后根據敏感函數的值用于修正頻譜的不均衡。敏感函數S的表達式如下:

其中,Lp(f,Ln)為響度級為Ln以及頻率為f時在等響度曲線上對應的聲壓級。

假設音頻制作時在1kHz處聲壓級為LM,而此時由于音頻音量調低,音頻在1kHz處以聲壓級LL播放,通常LL小于LM。我們把以LM水平播放所對應的音頻頻譜均衡作為目標頻譜,對以LL水平播放所對應的音頻進行頻譜補償至和目標頻譜的頻譜均衡一致,定義了補償曲線:

其中,Nf=Lp(1000,LM)-Lp(1000,LL)=LM-LL。

本文主要研究1 kHz以下的響度補償,圖2畫出了在不同音頻播放水平LL下,為達到與以LM水平播放時的低中頻均衡一致時的補償曲線。

圖2 補償曲線H(f,LM,LL),LM=80dB

3 濾波器設計

從上節中獲得補償曲線H(f,LM,LL),下一步就是設計一個數字濾波器。該濾波器的幅度響應應能根據當前音頻播放水平LL和音頻制作水平LM,盡可能地接近補償曲線。這里選擇Shelving 濾波器,用于逼近補償曲線H(f,LM,LL)[2]。

Shelving 濾波器一般用于提高或衰減輸入信號在低頻或高頻的幅度,其與低通或高通濾波器不同,Shelving 濾波器并沒有濾除某些頻率,而僅僅是提高或衰減低頻或高頻響應幅值,按其工作所在頻率分為Low-Shelving或High-Shelving濾波器,前者工作在低頻,后者工作在高頻,本文中所用到的Shelving 濾波器為Low-Shelving濾波器。

上述分別為一階和二階low-shelving濾波器[7]。其中Ω=tan(wc/2),wc=2πfc/fs,wc=2πfc/fs。G為濾波器增益值,而fc為濾波器過渡頻率,wc為濾波器歸一化過渡角頻率,fs為音頻采樣率。

分別使用一階、二階、兩個一階級聯的Low-Shelving濾波器自適應跟蹤補償曲線H。

從圖3可以看出,兩個一階Low-Shelving濾波器串聯的頻率響應對補償曲線的跟蹤效果最佳,而一階Low-Shelving濾波器次之,二階Low-Shelving濾波器對補償曲線的跟蹤效果較差。對于單獨Low-Shelving濾波器補償,G選取20 Hz處的增益值,過渡頻率fc設置為122 Hz,對于兩個一階Low-Shelving濾波器補償,其中參數G1和G2分別為兩個一階濾波器在20 Hz處的增益值的1/2,過渡頻率fc1和fc2分別設置為61.1 Hz和242 Hz[2]。

圖3 當LL=60dB/LM=80dB時各種濾波器對補償曲線H的跟蹤

4 Zwicker多頻帶響度計算模型

人耳對聲音響度的感知不是簡單的線性關系,而是與人耳結構以及掩蔽效應相關的非線性關系。因此計算一個復音信號的響度,不能簡單地由其各次諧波的響度線性加權得到,而是要采用響度計算模型對復音進行計算得出其響度。在響度計算模型中按所采用的頻帶進行劃分,一般可以分為單頻帶計算模型和多頻帶計算模型。單頻帶計算模型中典型的代表為A計權[4]和K計權[5],由于其計算簡單而被廣泛使用,但是由于單頻帶計算模型并未考慮內耳機制的復雜感知特性,存在局限性,而多頻帶響度計算模型增加了對內耳機制的復雜感知特性的考慮,典型代表為Zwicker多頻帶計算模型和Moore-Glasberg多頻帶計算模型,本文算法將采用ISO 532-1∶2017 Zwicker多頻帶響度計算模型[6]。

在ISO 532-1∶2017 Zwicker平穩聲音響度計算方法中,對ISO 532∶1975 Method B中基于圖形的響度計算方法,依據DIN45631∶1991對低于300 Hz的低頻部分進行了修正,改進了響度計算的精準度,并提供了具體計算公式,有利于在計算機上直接進行計算。

對非平穩聲音信號,如果使用平穩聲音信號的計算方法進行計算,所得到的響度結果會相對較低,ISO 532-1∶2017 Zwicker非平穩聲音響度計算方法在平穩聲音響度計算方法的基礎上,根據人耳聽力系統感知非平穩聲音信號的特點,給出非平穩聲音響度的具體計算方法。

ISO 532-1∶2017 Zwicker非平穩聲音響度的計算如圖4所示。

圖4 ISO 532-1:2017 Zwicker非平穩聲音響度計算[6]

圖4中非虛框部分為平穩聲音響度計算部分,而非平穩聲音響度計算主要增加了圖4中3個虛框部分,主要分為5個步驟。

步驟1: 將頻帶從25 Hz到12.5 kHz分解成1/3倍頻程,輸入聲音經過IEC61260-1∶2014標準的計算1/3倍頻程聲壓級的3個二階IIR濾波器,求得1/3倍頻程聲壓級后,需要通過3個級聯一階低通濾波器實現平方及平滑過程,從而獲得聲壓級LT,為了降低計算量,LT之后要進行采樣??紤]到人耳系統對低于300 Hz的信號敏感度相對其他頻率要低,在計算響度前,對低于300 Hz的1/3倍頻程的聲壓級水平做計權衰減的修正。

步驟2:在300 Hz以上可以使用1/3倍頻程近似臨界頻帶,但是在300 Hz以下,1/3倍頻程比臨界頻帶要窄,需要整合2個或者更多的1/3倍頻程來近似一個臨界頻帶,并計算出每個臨界頻帶程的聲壓級水平LCB′。

步驟3:依據人耳傳輸特性以及自由場或擴散場場景,還有每個1/3倍頻程帶寬的不同,對每個臨界頻帶的聲壓級水平進行水平校正,校正之后計算獲得每個臨界頻帶的特征響度N′C。

步驟4:依據聽力系統的非線性時間衰減特性,即在短信號之后響度下降要比長信號要快,在臨界頻帶的特征響度N′C之后添加NL模塊進行模擬。

步驟5:在將24個臨界頻帶的響度值進行積分求和獲得總響度之后,引入兩個1階低通濾波器模擬信號長度對響度感知的影響,最終求得非平穩聲音總響度值。

5 算法的Visual Studio仿真實現和結果

使用C語言實現本文提出的自適應響度補償算法,開發環境為Visual Studio 2019,并使用Matlab對原始音頻信號、調低音量后的音頻信號和自適應響度補償后的音頻信號進行頻譜分析。

(1)選取一段低頻豐富的音頻信號作為輸入。

(2)程序讀入整段音頻文件,利用ISO 532-1∶2017 Zwicker非平穩聲音響度計算模型計算整段音頻的總響度值。

(3)模擬音頻重放音量調節,調低音量值為kdB。

(4)根據調低音量值kdB,使用兩個一階Low-Shelving串聯濾波器對調節音量后的音頻進行自適應響度補償,并輸出保存補償后的音頻信號。

(5)使用Matlab對原始音頻信號、調低音量后的音頻信號和自適應響度補償后的音頻信號進行頻譜分析,結果如圖5所示。

圖5 輸入原始音頻信號,調低音量-12dB的音頻信號和自適應響度補償后的音頻信號頻譜分析

從圖5結果中可以看出,調低音量后的音頻信號,其頻譜幅度相對于原始音頻信號幅度整體下降12 dB,根據等響度曲線和實際聽感,此時低頻部分比中頻丟失更快更嚴重,對調低音量后的音頻信號利用本文的自適應響度補償算法進行補償后,從圖5中可以看出,補償后的音頻信號在1 kHz以下頻率部分得到顯著補償,而實際聽感上,自適應響度補償后的音頻信號中的低中頻均衡相比補償前更接近于原始音頻信號。

本文提出的基于ISO 532-1∶2017 Zwicker響度計算模型的自適應響度補償算法,能更加精確地計算音頻信號的響度和響度級,并根據調低的音量值,對調低音量后的音頻信號進行兩個一階Low-Shelving串聯濾波器的自適應響度補償,使得音頻在1kHz以下的低中頻均衡更接近原始音頻,改善在音頻重放中低頻丟失嚴重現象。由于本文算法使用的是基于Visual Studio平臺的C語言仿真,這為后續移植到DSP系統或嵌入式系統進行真實的在線音頻重放自適應響度補償打下良好的基礎。

猜你喜歡
響度聲壓級頻帶
Wi-Fi網絡中5G和2.4G是什么?有何區別?
一種計算消聲室聲壓級的新方法
揚聲器陣列輻射聲壓級自動控制裝置設計
單音及部分頻帶干擾下DSSS系統性能分析
響度在節目制作和播出中的應用
雙頻帶隔板極化器
數字時代中節目響度平衡淺析
臺內音頻響度控制方式
調諧放大器通頻帶的計算及應用
Diodes1.9W D類音頻放大器提供高聲壓級水平并延長電池壽命
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合