两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于能量統(tǒng)計(jì)的語(yǔ)音音量自動(dòng)調(diào)整方法

文檔序號(hào):8380713閱讀:691來(lái)源:國(guó)知局
一種基于能量統(tǒng)計(jì)的語(yǔ)音音量自動(dòng)調(diào)整方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)數(shù)字語(yǔ)音處理通信領(lǐng)域,具體來(lái)說(shuō)是一種基于能量統(tǒng)計(jì)的語(yǔ)音音量自動(dòng)調(diào)整方法。
【背景技術(shù)】
[0002]在語(yǔ)音處理通信領(lǐng)域,比如在線教育系統(tǒng)、視頻會(huì)議系統(tǒng)等,從麥克風(fēng)輸入的語(yǔ)音數(shù)據(jù)由于各種情況的影響,語(yǔ)音有可能太小,也有可能太大,通過(guò)音量調(diào)整模塊對(duì)語(yǔ)音音量進(jìn)行相應(yīng)的增加或減少,可以維持音量大小的相對(duì)穩(wěn)定,讓人聽(tīng)起來(lái)比較舒適。
[0003]在各種語(yǔ)音處理通信系統(tǒng)中,大部分系統(tǒng)都有音量自動(dòng)調(diào)整的功能,實(shí)現(xiàn)方法主要有兩大類,一是通過(guò)調(diào)整系統(tǒng)麥克風(fēng)音量來(lái)改變從麥克風(fēng)采集到的源語(yǔ)音的音量來(lái)實(shí)現(xiàn),二是通過(guò)軟件對(duì)采集到的語(yǔ)音數(shù)據(jù)進(jìn)行放大和縮小來(lái)實(shí)現(xiàn),而第二種通過(guò)軟件來(lái)實(shí)現(xiàn)的方法又可以進(jìn)一步進(jìn)行細(xì)分為在時(shí)域和頻域中進(jìn)行實(shí)現(xiàn)。在通過(guò)調(diào)整系統(tǒng)麥克風(fēng)音量實(shí)現(xiàn)時(shí),當(dāng)判斷出音量需要增強(qiáng)或者減少時(shí),通過(guò)調(diào)用系統(tǒng)的麥克風(fēng)接口,對(duì)麥克風(fēng)的增益和音量進(jìn)行相應(yīng)的增加和減少來(lái)達(dá)到音量的自動(dòng)調(diào)整,優(yōu)點(diǎn)是可以降低軟件處理時(shí)需要的計(jì)算量,對(duì)語(yǔ)音音質(zhì)不會(huì)造成影響,缺點(diǎn)是會(huì)對(duì)系統(tǒng)音量進(jìn)行頻繁調(diào)整,會(huì)影響到用戶體驗(yàn);在通過(guò)軟件在時(shí)域中進(jìn)行處理時(shí),會(huì)直接對(duì)pcm語(yǔ)音數(shù)據(jù)進(jìn)行縮放運(yùn)算,其優(yōu)點(diǎn)是算法簡(jiǎn)單,計(jì)算量小,缺點(diǎn)是理論上會(huì)對(duì)一些語(yǔ)音中的噪音也進(jìn)行相應(yīng)的發(fā)大和縮小,但是實(shí)際使用過(guò)程中發(fā)現(xiàn)對(duì)用戶體驗(yàn)影響并不大,而在頻域中處理時(shí)需要先將pcm數(shù)據(jù)變換到頻域中,在頻域中進(jìn)行相應(yīng)的處理后再把頻域中的數(shù)據(jù)通過(guò)逆變換轉(zhuǎn)換為pcm數(shù)據(jù),在頻域中處理的優(yōu)點(diǎn)是可以對(duì)各個(gè)頻段的數(shù)據(jù)進(jìn)行控制,更有目的地對(duì)需要的頻段和數(shù)據(jù)進(jìn)行縮放,缺點(diǎn)是算法復(fù)雜度高,計(jì)算量比較大。通過(guò)軟件對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行音量調(diào)整時(shí),優(yōu)點(diǎn)是不需要對(duì)系統(tǒng)麥克風(fēng)音量進(jìn)行操作,對(duì)系統(tǒng)音量不會(huì)造成影響,缺點(diǎn)是需要一定的計(jì)算量,對(duì)音質(zhì)也會(huì)有些影響。
[0004]各個(gè)系統(tǒng)根據(jù)實(shí)際需求情況來(lái)決定使用哪種方法進(jìn)行自動(dòng)音量調(diào)整,一般都是在滿足需求的基礎(chǔ)上力求簡(jiǎn)單,從而達(dá)到節(jié)省資源的目的。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于能量統(tǒng)計(jì)的語(yǔ)音音量自動(dòng)調(diào)整方法。本發(fā)明對(duì)判定為語(yǔ)音的數(shù)據(jù)進(jìn)行處理,對(duì)噪聲等非語(yǔ)音數(shù)據(jù)不進(jìn)行處理,語(yǔ)音數(shù)據(jù)的判定通過(guò)vad算法進(jìn)行,本發(fā)明不對(duì)vad算法進(jìn)行討論。
[0006]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案包括如下步驟:
[0007]步驟⑴、統(tǒng)計(jì)每幀采樣點(diǎn)的能量平均值energy和該幀中所有采樣點(diǎn)能量值的絕對(duì)值中的最大值峰值peak,計(jì)算公式如下:
[0008]energy = (| sample [O] |+...+1 sample [count—1] |)+count ;
[0009]peak = max (|sample[0]|,..., |sample[count-1]|);
[0010]即能量平均值energy為每個(gè)采樣點(diǎn)的能量值的絕對(duì)值之和再除以該幀中總的采樣點(diǎn)個(gè)數(shù);sample[i]表示當(dāng)前語(yǔ)音數(shù)據(jù)幀中第i個(gè)采樣點(diǎn)的值,O ^ i ^ count-1,sample[i]數(shù)據(jù)類型為 16 位的 short 型,取值范圍為 32767 ^ sample[i] ^ -32768 ;
[0011]步驟(2)、計(jì)算O到frame_index幀中每幀采樣點(diǎn)的能量平均值energy的平均值energy_avg和最大值峰值peak的平均值peak_avg,計(jì)算公式如下:
[0012]energy_avg = (energy [O] +...+energy [frame_index]) +frame_count ;
[0013]即energy_avg為每幀的采樣點(diǎn)的能量平均值energy相加再除以總的幀數(shù)frame_count ;frame_count = time + frame_len,其中frame_len為語(yǔ)音數(shù)據(jù)幀的長(zhǎng)度,該長(zhǎng)度為10或20毫秒;
[0014]peak_avg = (peak[0]+...+peak [frame_index]) +frame_count ;
[0015]即peak_avg為每幀中采樣點(diǎn)的最大值峰值peak相加再除以總的幀數(shù)frame_count ;其中,frame_count為time時(shí)間內(nèi)總的幀數(shù),即時(shí)間段time內(nèi)要統(tǒng)計(jì)的幀數(shù);frame_index表示當(dāng)前處理的語(yǔ)音數(shù)據(jù)幀的索引;
[0016]步驟(3)、計(jì)算下個(gè)時(shí)間段time內(nèi)的放大因子factor_max'和縮小因子factor_min';所述的放大因子和縮小因子在最開(kāi)始的時(shí)間段time內(nèi)不進(jìn)行縮放操作,其初始值都均為I.0,當(dāng)frame_index> = frame_count時(shí)(即time時(shí)間內(nèi)統(tǒng)計(jì)結(jié)束),計(jì)算一次縮放因子;
[0017]所述的縮放判定條件和計(jì)算公式如下:
[0018]3-1.當(dāng)peak_avg < peak_max_threshold時(shí),預(yù)測(cè)下個(gè)時(shí)間段time內(nèi)的音量偏小,則下個(gè)時(shí)間段time內(nèi)的放大因子factor_max '和縮小因子factor_min'需如下操作:
[0019]factor—temp = peak—max_threshold + peak—avg ;
[0020]factor—max' = factor—maxX0.6+factor—tempX0.4 ;
[0021]factor—min' = factor—minX0.6+1.0X0.4 ;
[0022]其中,factor—temp為臨時(shí)因子,是計(jì)算下個(gè)時(shí)間段time內(nèi)放大因子factor—max'和縮小因子factor—min'的臨時(shí)變量;peak—max—threshold為最大峰值均值peak—avg的放大閾值(即峰值均值閾值下限)factor—max為當(dāng)前時(shí)間段time內(nèi)放大因子,factor—min為當(dāng)前時(shí)間段time內(nèi)縮小因子;
[0023]具體的,下個(gè)時(shí)間段time內(nèi)放大因子factor—max'通過(guò)臨時(shí)因子factor—temp的計(jì)算,盡量將語(yǔ)音數(shù)據(jù)幀的peak—avg放大到放大閾值peak—max—threshold的大小附近,下個(gè)時(shí)間段time內(nèi)放大因子factor—max'通過(guò)權(quán)重來(lái)分配當(dāng)前時(shí)間段time內(nèi)的放大因子factor—max和臨時(shí)因子factor—temp的比重,使下個(gè)時(shí)間段time內(nèi)的放大因子factor—max'平滑進(jìn)行增大最終穩(wěn)定在一個(gè)大于1.0的浮點(diǎn)值附近;由于此時(shí)是音量偏小,所以下個(gè)時(shí)間段time內(nèi)縮小因子factor—min'通過(guò)計(jì)算最終會(huì)趨向初始值1.0附近;
[0024]3-2.當(dāng)peak—avg > peak—min—threshold時(shí),預(yù)測(cè)下個(gè)時(shí)間段time內(nèi)的音量偏大,則下個(gè)時(shí)間段time內(nèi)的放大因子factor—max'和縮小因子factor—min'需如下操作:
[0025]factor—temp = peak—avg + peak—min_threshold ;
[0026]factor—min' = factor—minX0.6+factor—tempX0.4 ;
[0027]factor—max' = factor—maxX0.6+1.0X0.4 ;
[0028]其中,peak_min_threshold為語(yǔ)音數(shù)據(jù)幀的采樣點(diǎn)的峰值均值peak_avg的縮小閾值(即峰值均值閾值上限);
[0029]具體的,下個(gè)時(shí)間段time內(nèi)縮小因子factor_min'通過(guò)臨時(shí)因子factor_temp的計(jì)算,盡量將語(yǔ)音數(shù)據(jù)幀的peak_avg縮小到縮小閾值peak_min_threshold的大小附近,下個(gè)時(shí)間段time內(nèi)縮小因子factor_min'通過(guò)權(quán)重來(lái)分配當(dāng)前時(shí)間段time內(nèi)的縮小因子factor_min和臨時(shí)因子factor_temp的比重,使下個(gè)時(shí)間段time內(nèi)的縮小因子factor_min'平滑進(jìn)行增大最終穩(wěn)定在一個(gè)大于1.0的浮點(diǎn)值附近;由于此時(shí)是音量偏大,所以下個(gè)時(shí)間段time內(nèi)放大因子factor_max'通過(guò)計(jì)算最終會(huì)趨向初始值1.0附近;
[0030]3-3.當(dāng) peak_min_threshold peak_avg peak_max_threshoId 時(shí),預(yù)測(cè)下個(gè)時(shí)間段time內(nèi)音量正常,不需要對(duì)音量進(jìn)行縮小放大,則下個(gè)時(shí)間段time內(nèi)的放大因子factor_max'和縮小因子factor_min'需如下操作:
[0031]factor_min' = factor_minX0.6+1.0X0.4 ;
[0032]factor_max' = factor_maxX0.6+1.0 X 0.4 ;
[0033]其中,下個(gè)時(shí)間段time內(nèi)的放大因子factor_max'和縮小因子factor_min'通過(guò)上述公式計(jì)算最終會(huì)趨向初始值1.0附近。
[0034]步驟(4)、對(duì)下個(gè)時(shí)間段time內(nèi)的每幀語(yǔ)音數(shù)據(jù)進(jìn)行判定,當(dāng)需要縮放時(shí),通過(guò)縮放因子進(jìn)行放大或者縮小;
[0035]4-1.當(dāng) energy < energy_avg_max_threshold,或者 peak < peak_max_thresho I d時(shí),該語(yǔ)音數(shù)據(jù)幀需要放大;
[0036]其中,energy_avg_max_threshold為能量平均值energy的放大閾值(即能量均值閾值下限);
[0037]4-1-1.判斷是否需要修正放大因子factor_max',防止放大后的最大值峰值peak 超出其放大峰值上限 peak_max_volume ;若 factor_max' > factor_temp' > 1.0,則放大因子 factor_max'修正如下:放大因子 factor_max' = factor_temp';
[0038]其中,另一個(gè)臨時(shí)因子factor_temp' = peak_max_voIume+ peak ;
[0039]通過(guò)計(jì)算臨時(shí)因子factor_temp'來(lái)防止放大因子factor_max'過(guò)大,造成放大后的音量超過(guò)放大峰值上限peak_max_volume的情況發(fā)生;
[0040]4-1-2.對(duì)該語(yǔ)音數(shù)據(jù)幀中的每個(gè)采樣點(diǎn)的音量進(jìn)行如下放大:
[0041]sample [i] = sample [i] X factorjnax,;且 32767 ^ sample [i] ^ -32768 ;
[0042]4-2.當(dāng) energy > energy_avg_min_threshold 或者 p
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
萨嘎县| 东山县| 土默特左旗| 澎湖县| 锦屏县| 二连浩特市| 大关县| 繁昌县| 饶阳县| 普宁市| 阳城县| 宁阳县| 竹溪县| 马山县| 芮城县| 静乐县| 梅州市| 福鼎市| 攀枝花市| 宝应县| 长葛市| 蕲春县| 图木舒克市| 和平区| 桐庐县| 高阳县| 兴山县| 河北省| 清苑县| 上饶市| 两当县| 北宁市| 阜新| 遂昌县| 新疆| 彰武县| 满城县| 贵南县| 蒲城县| 无极县| 白山市|