本發(fā)明涉及一種基于改進(jìn)卷積循環(huán)網(wǎng)絡(luò)的單通道語(yǔ)音增強(qiáng)方法,具體涉及一種新型的、高效的、輕量級(jí)的卷積遞歸網(wǎng)絡(luò)(crnv2)用于單通道語(yǔ)音增強(qiáng),屬于語(yǔ)音增強(qiáng)。
背景技術(shù):
1、在現(xiàn)代社會(huì)中,清晰的語(yǔ)音是有效溝通的基礎(chǔ)。然而,背景噪聲和混響等不利因素經(jīng)常損害語(yǔ)音信號(hào)的可理解性和質(zhì)量,影響我們?nèi)粘5恼Z(yǔ)音通信質(zhì)量。因此,研究解決噪聲干擾的語(yǔ)音增強(qiáng)(se)技術(shù)至關(guān)重要。語(yǔ)音增強(qiáng)技術(shù)旨在提高語(yǔ)音信號(hào)的質(zhì)量和清晰度,使其更易于理解和識(shí)別。近年來(lái),隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的語(yǔ)音增強(qiáng)方法逐漸成為研究的熱點(diǎn)。深度學(xué)習(xí)通過(guò)大規(guī)模數(shù)據(jù)的訓(xùn)練,能夠自動(dòng)學(xué)習(xí)語(yǔ)音信號(hào)中的特征和模式,從而使模型能夠更準(zhǔn)確地分析和重建受損的語(yǔ)音信號(hào)。深度學(xué)習(xí)的一些常見(jiàn)模型如卷積神經(jīng)網(wǎng)絡(luò)(convolutional?neural?network,cnn)、遞歸神經(jīng)網(wǎng)絡(luò)(recurrent?neuralnetwork,rnn)在語(yǔ)音增強(qiáng)領(lǐng)域展現(xiàn)了顯著的效果。其中,卷積遞歸網(wǎng)絡(luò)(convolutionalrecurrent?network,crn),它整合了cnn和rnn的優(yōu)勢(shì),已被證明在語(yǔ)音增強(qiáng)方面非常有效,并且衍生自crn的一些模型如dccrn、frcrn等也在語(yǔ)音增強(qiáng)領(lǐng)域展現(xiàn)出了很強(qiáng)的競(jìng)爭(zhēng)力。
2、然而,這些模型通常參數(shù)量較大,訓(xùn)練所需的時(shí)間較長(zhǎng),這些特點(diǎn)限制了模型在實(shí)際中的應(yīng)用場(chǎng)景。例如,在需要即時(shí)響應(yīng)的實(shí)時(shí)語(yǔ)音識(shí)別等領(lǐng)域,長(zhǎng)時(shí)間的訓(xùn)練以及模型的高計(jì)算復(fù)雜度可能會(huì)導(dǎo)致系統(tǒng)無(wú)法滿足用戶的即時(shí)需求。此外,在資源受限的環(huán)境下,如移動(dòng)設(shè)備或嵌入式系統(tǒng)中,這些模型的存儲(chǔ)和計(jì)算需求可能超出設(shè)備的承載能力。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明目的在于針對(duì)上述現(xiàn)有技術(shù)的缺陷和不足,提出了一種基于改進(jìn)卷積循環(huán)網(wǎng)絡(luò)的單通道語(yǔ)音增強(qiáng)方法,通過(guò)改進(jìn)經(jīng)典的卷積遞歸網(wǎng)絡(luò)(crn),在降低模型的參數(shù)量和計(jì)算量的同時(shí),確保其降噪性能優(yōu)于傳統(tǒng)crn模型,本發(fā)明提出了一種新型的輕量化卷積遞歸網(wǎng)絡(luò)crnv2,通過(guò)對(duì)模型結(jié)構(gòu)和損失函數(shù)的優(yōu)化,實(shí)現(xiàn)了更高效的語(yǔ)音增強(qiáng)效果。
2、本發(fā)明為解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:一種基于改進(jìn)卷積循環(huán)網(wǎng)絡(luò)的單通道語(yǔ)音增強(qiáng)方法,所述該方法包括如下步驟:
3、步驟1:下載模型訓(xùn)練和測(cè)試所用的數(shù)據(jù)集,通過(guò)采用voicebank+demand數(shù)據(jù)集對(duì)數(shù)據(jù)集的語(yǔ)音進(jìn)行預(yù)處理,并通過(guò)短時(shí)傅里葉變換(stft)提取語(yǔ)音信號(hào)的幅度譜;
4、步驟2:將幅度譜輸入到編碼器中,從幅度譜中提取高維特征;
5、步驟3:使用channel-s4d?block作為模型的遞歸模塊,針對(duì)語(yǔ)音信號(hào)的時(shí)序依賴性進(jìn)行有效建模,channel-s4d?block輸出的結(jié)果會(huì)輸入到解碼器中,被恢復(fù)到原始的維度;
6、步驟4:構(gòu)造聯(lián)合損失函數(shù),為了在時(shí)域和頻域?qū)υ鰪?qiáng)語(yǔ)音與干凈語(yǔ)音之間的差異進(jìn)行聯(lián)合約束,采用了時(shí)域加權(quán)信號(hào)失真比(weighted-sdr)損失和頻域均方誤差(mse)損失的聯(lián)合損失函數(shù),首先,計(jì)算增強(qiáng)語(yǔ)音和干凈語(yǔ)音在時(shí)域上的加權(quán)信號(hào)失真比(weighted-sdr)損失,其次,計(jì)算增強(qiáng)語(yǔ)音和干凈語(yǔ)音在頻域上的均方誤差(mse)損失,將上述兩種損失加權(quán)求和,二者的約束力通過(guò)權(quán)值超參數(shù)動(dòng)態(tài)調(diào)整,構(gòu)成最終的聯(lián)合損失函數(shù),然后,通過(guò)反向傳播算法,利用該聯(lián)合損失函數(shù)的約束對(duì)模型參數(shù)進(jìn)行更新,從而優(yōu)化模型;
7、步驟5:重建和評(píng)估增強(qiáng)語(yǔ)音信號(hào),基于訓(xùn)練好的模型得到增強(qiáng)后的語(yǔ)音信號(hào)幅度譜,結(jié)合原信號(hào)的相位,通過(guò)短時(shí)傅里葉逆變換(istft)重建為時(shí)域的增強(qiáng)后語(yǔ)音信號(hào),對(duì)重建后的增強(qiáng)語(yǔ)音信號(hào)進(jìn)行評(píng)估,主要使用寬帶語(yǔ)音感知質(zhì)量(wb-pesq)和短時(shí)客觀可懂度(stoi)指標(biāo)來(lái)衡量增強(qiáng)語(yǔ)音的質(zhì)量和可懂度,并在測(cè)試階段根據(jù)這些指標(biāo)的結(jié)果選出最優(yōu)的模型,以確保最終模型在實(shí)際應(yīng)用中能夠提供最佳的語(yǔ)音增強(qiáng)效果。
8、進(jìn)一步地,所述步驟1具體包括:
9、步驟1-1:在所使用的voicebank-demand數(shù)據(jù)集中,含噪聲的部分源自demand數(shù)據(jù)集,而清晰的語(yǔ)音部分則取自voicebank,其音頻文件的采樣頻率為48khz,為了構(gòu)建用于訓(xùn)練的混合語(yǔ)音數(shù)據(jù),選取了10種不同類型的噪聲——其中包括兩種人造合成噪聲和8種直接來(lái)自demand數(shù)據(jù)集,混合語(yǔ)音是按照四個(gè)信噪比級(jí)別(分別為15db、10db、5db、0db)進(jìn)行合成的,當(dāng)構(gòu)建測(cè)試集時(shí),則選取了demand中剩余的5種噪聲,并結(jié)合voicebank中的兩位講話者的錄音,依據(jù)與訓(xùn)練集不同的信噪比水平(分別為17.5db、12.5db、7.5db、2.5db)創(chuàng)建輸入數(shù)據(jù);
10、步驟1-2:將數(shù)據(jù)集中的語(yǔ)音信號(hào)重采樣為16khz,語(yǔ)音長(zhǎng)度統(tǒng)一為3s,具體來(lái)說(shuō),對(duì)長(zhǎng)度大于3s的語(yǔ)音進(jìn)行截?cái)啵L(zhǎng)度小于3s的語(yǔ)音在末尾補(bǔ)零;
11、步驟1-3:通過(guò)短時(shí)傅里葉變換,提取語(yǔ)音信號(hào)的幅度譜特征,具體來(lái)說(shuō),我們?cè)O(shè)置窗長(zhǎng)為25ms,幀移為6.25ms,fft點(diǎn)數(shù)為400,以確??梢愿咝Р蹲降叫盘?hào)的頻譜特征。
12、進(jìn)一步地,所述步驟2具體包括:
13、步驟2-1:編碼器由6層卷積層組成,每一層的輸出維度依次是16、32、64、128、256、256,均采用了二維卷積,其中卷積核的大小設(shè)置為3×2,步長(zhǎng)選用了(2,1)配置,而填充(padding)則為(0,1),編碼器的每一層采用配有batchnorm2d正則化的elu激活函數(shù),以優(yōu)化訓(xùn)練過(guò)程并提高模型泛化能力;
14、步驟2-2:每一個(gè)二維卷積層后配有batchnorm2d正則化用于歸一化;
15、步驟2-3:歸一化后采用elu激活函數(shù)進(jìn)行非線性激活。
16、進(jìn)一步地,所述步驟3具體包括:
17、步驟3-1:引入專門設(shè)計(jì)的channel-s4d?block,它通過(guò)整合殘差連接、高效通道注意力層(eca?layer)、對(duì)角化狀態(tài)空間模型層、門控線性單元、一維卷積層、dropout以及通道歸一化層來(lái)增強(qiáng)模型處理長(zhǎng)序列時(shí)的穩(wěn)定性,eca?layer主要根據(jù)特征的重要性進(jìn)行加權(quán),從而增強(qiáng)模型對(duì)關(guān)鍵信息的捕捉能力,使用通道歸一化替代傳統(tǒng)的層歸一化方法,使模型在處理不同通道的特征時(shí)能夠更有效地進(jìn)行歸一化,從而提升訓(xùn)練穩(wěn)定性和模型性能,有助于模型更好地提高各通道特征的敏感性,從而提升語(yǔ)音增強(qiáng)效果和模型的適應(yīng)性,通過(guò)引入channel-s4d模塊,模型在處理長(zhǎng)序列信號(hào)時(shí)表現(xiàn)出更高的穩(wěn)定性和性能,提升了語(yǔ)音增強(qiáng)的整體效果以及模型并行處理和建模長(zhǎng)期時(shí)間依賴方面的性能;
18、步驟3-2:解碼器模塊由6層反卷積層構(gòu)成,每一層與對(duì)應(yīng)的編碼器卷積層的輸出通過(guò)跳躍連接(skip?connection)進(jìn)行信息流的增強(qiáng),從而獲得多層次多尺度的特征,卷積層每層的輸入維度依次為512、512、256、128、64、32,卷積核大小與步長(zhǎng)的設(shè)置都和編碼器相同,解碼器每一層同樣配有batchnorm2d正則化,激活函數(shù)方面,前5層采用elu激活函數(shù),最后一層的激活函數(shù)為softplus,目的是確保最終輸出的幅度譜保持非負(fù),促進(jìn)高質(zhì)量的語(yǔ)音重建,這種混合激活函數(shù)的使用策略是為了在整個(gè)解碼過(guò)程中均衡模型的表示能力和輸出的質(zhì)量。
19、進(jìn)一步地,所述步驟3-1具體包括:
20、步驟3-1-1:定義對(duì)角化狀態(tài)空間層的hidden?layer大小為256,state?space大小為64,并將編碼器輸出的張量維度調(diào)整到與channel-s4d匹配的形狀;
21、步驟3-1-2:在將特征輸入到對(duì)角化狀態(tài)空間層之前,通過(guò)高效通道注意力層,根據(jù)特征的重要性進(jìn)行加權(quán),從而增強(qiáng)模型對(duì)關(guān)鍵信息的捕捉能力;
22、步驟3-1-3:使用殘差連接將輸入特征與通過(guò)channel-s4d塊處理后的輸出特征進(jìn)行結(jié)合,以提高訓(xùn)練的穩(wěn)定性和模型的表達(dá)能力;
23、步驟3-1-4:為進(jìn)一步優(yōu)化特征處理,加入門控線性單元(glu),增強(qiáng)非線性變換能力,使模型更好地適應(yīng)復(fù)雜的語(yǔ)音信號(hào);
24、步驟3-1-5:在特征處理的過(guò)程中,加入一維卷積層,以捕捉不同時(shí)間步長(zhǎng)的局部特征,并通過(guò)dropout層防止過(guò)擬合;
25、步驟3-1-6:為了防止出現(xiàn)梯度爆炸的情況,使用通道歸一化替代傳統(tǒng)的層歸一化,使模型在處理不同通道的特征時(shí)能夠更有效地進(jìn)行歸一化,從而提升訓(xùn)練穩(wěn)定性和模型性能。
26、進(jìn)一步地,所述步驟4具體包括:
27、步驟4-1:構(gòu)造聯(lián)合損失函數(shù),模型訓(xùn)練過(guò)程中采用的損失函數(shù)是由均方誤差(mse)損失和加權(quán)信號(hào)失真比(wsdr)損失加權(quán)得到的,權(quán)重因子設(shè)置為10,以確保兩種損失在訓(xùn)練過(guò)程中均衡影響模型優(yōu)化;
28、步驟4-2:計(jì)算均方誤差(mse)損失,mse損失用于衡量增強(qiáng)語(yǔ)音和干凈語(yǔ)音之間在頻域上的差異,通過(guò)計(jì)算增強(qiáng)語(yǔ)音與目標(biāo)語(yǔ)音信號(hào)之間的均方誤差,反映模型的頻域增強(qiáng)效果,模型的頻域損失選擇用均方誤差(mse)損失函數(shù)lmse計(jì)算,其定義如下:
29、
30、其中,和分別表示模型估計(jì)語(yǔ)音信號(hào)的頻譜和干凈語(yǔ)音信號(hào)的頻譜;
31、步驟4-3:計(jì)算加權(quán)信號(hào)失真比(wsdr)損失,wsdr損失用于衡量增強(qiáng)語(yǔ)音和干凈語(yǔ)音之間在時(shí)域上的差異,通過(guò)計(jì)算增強(qiáng)語(yǔ)音與目標(biāo)語(yǔ)音信號(hào)之間的加權(quán)信號(hào)失真比,反映模型的時(shí)域增強(qiáng)效果,模型的時(shí)域損失選擇加權(quán)信號(hào)失真比損失函數(shù)計(jì)算,通過(guò)計(jì)算噪聲和干凈語(yǔ)音的占比進(jìn)行加權(quán)計(jì)算,以便計(jì)算出更精確的損失,其定義如下:
32、
33、其中,y和分別表示干凈語(yǔ)音信號(hào)和預(yù)測(cè)的語(yǔ)音信號(hào),z和分別表示含噪語(yǔ)音中的噪聲和預(yù)測(cè)語(yǔ)音中的噪聲,α=||y||2/(||x||2+||y||2),表示噪聲z和干凈語(yǔ)音y的能量比;
34、步驟4-4:將mse損失和wsdr損失加權(quán)求和,構(gòu)成最終的聯(lián)合損失函數(shù)。聯(lián)合損失函數(shù)可以在頻域和時(shí)域同時(shí)對(duì)模型的預(yù)測(cè)結(jié)果進(jìn)行約束,確保模型在兩方面均能有效提升語(yǔ)音增強(qiáng)效果,模型訓(xùn)練采用聯(lián)合損失函數(shù)ljoint,由均方誤差損失和加權(quán)信號(hào)失真比損失加權(quán)得到,設(shè)置β為權(quán)重因子,其定義為:
35、ljoint=lmse+βlwsdr
36、其中,超參數(shù)權(quán)重因子β通過(guò)多次實(shí)驗(yàn)采用最優(yōu)值,用來(lái)平衡這兩種損失的約束力。
37、進(jìn)一步地,所述步驟5具體包括:
38、步驟5-1:在訓(xùn)練過(guò)程中,每個(gè)訓(xùn)練輪次中模型輸出的幅值信號(hào),結(jié)合原信號(hào)相位,通過(guò)短時(shí)傅里葉逆變換重建為時(shí)域的增強(qiáng)語(yǔ)音信號(hào),然后對(duì)該訓(xùn)練輪次中的增強(qiáng)語(yǔ)音信號(hào)計(jì)算損失,確保模型訓(xùn)練過(guò)程中損失是正常下降的;
39、步驟5-2:測(cè)試過(guò)程中,主要使用寬帶語(yǔ)音感知質(zhì)量(wb-pesq)和短時(shí)客觀可懂度(stoi)兩個(gè)指標(biāo)來(lái)評(píng)估增強(qiáng)語(yǔ)音的質(zhì)量和可懂度,wb-pesq的取值范圍為-0.5到4.5,stoi的取值范圍為0至1,兩個(gè)指標(biāo)的值越大,說(shuō)明語(yǔ)音質(zhì)量和可懂度越高;
40、步驟5-3:在每個(gè)訓(xùn)練輪次結(jié)束后,計(jì)算增強(qiáng)語(yǔ)音信號(hào)的wb-pesq和stoi值,記錄評(píng)估結(jié)果,通過(guò)對(duì)多個(gè)輪次的訓(xùn)練結(jié)果進(jìn)行比較,監(jiān)控指標(biāo)的變化趨勢(shì),確保模型性能的持續(xù)提升。
41、步驟5-4:考慮到深度學(xué)習(xí)的隨機(jī)性,會(huì)對(duì)模型進(jìn)行多組訓(xùn)練,找到最優(yōu)的模型參數(shù),根據(jù)wb-pesq和stoi的評(píng)估結(jié)果,選出指標(biāo)值最高的模型作為最優(yōu)模型,這一過(guò)程中,需要監(jiān)控指標(biāo)的變化趨勢(shì),以確保最終保存的模型在實(shí)際應(yīng)用中能夠提供最佳的語(yǔ)音增強(qiáng)效果,最優(yōu)模型的選擇基于其在驗(yàn)證集上的表現(xiàn),以確保其在實(shí)際應(yīng)用中的效果最佳;
42、步驟5-5:保存最優(yōu)模型,以備后續(xù)使用和部署,通過(guò)這種系統(tǒng)化的訓(xùn)練和評(píng)估流程,保證了最終得到的crnv2模型在語(yǔ)音增強(qiáng)任務(wù)中具有優(yōu)越的性能。
43、有益效果:
44、1、本發(fā)明通過(guò)改進(jìn)現(xiàn)有的crn(convolutional?recurrent?network)模型結(jié)構(gòu)和損失函數(shù),開(kāi)發(fā)出了一種新型的crnv2模型。crnv2模型采用了編碼器—解碼器結(jié)構(gòu),能夠充分利用輸入的幅度譜中的信息。通過(guò)引入channel-s4d塊,不僅解決了crn模型在語(yǔ)音增強(qiáng)任務(wù)中對(duì)復(fù)雜噪聲環(huán)境適應(yīng)性不足的問(wèn)題,還在建模語(yǔ)音信號(hào)的時(shí)間依賴關(guān)系方面取得了顯著進(jìn)步,使得在處理噪聲和說(shuō)話人無(wú)關(guān)的語(yǔ)音增強(qiáng)時(shí),能夠更加有效地提取和保留語(yǔ)音特征,從而顯著提升了語(yǔ)音增強(qiáng)效果。
45、2、本發(fā)明crnv2模型相比于crn模型在提升性能的同時(shí),顯著減少了模型的參數(shù)量。crnv2模型的參數(shù)量?jī)H為2.23m,僅為原crn模型參數(shù)量的八分之一。這種顯著的參數(shù)量減少不僅降低了計(jì)算和存儲(chǔ)成本,還提高了模型的實(shí)際應(yīng)用價(jià)值。由于crnv2模型參數(shù)量的大幅減少,所需的計(jì)算資源顯著降低,使得模型在訓(xùn)練和推理過(guò)程中更為高效,能夠在較短時(shí)間內(nèi)完成同樣的任務(wù),提升了整體計(jì)算效率。同時(shí),較少的參數(shù)量意味著模型文件的大小也隨之減小,對(duì)于存儲(chǔ)資源有限的設(shè)備(如嵌入式系統(tǒng)、移動(dòng)設(shè)備等)來(lái)說(shuō),crnv2模型的存儲(chǔ)需求大幅減少,使其更適合在這些環(huán)境中應(yīng)用。較低的計(jì)算和存儲(chǔ)成本使crnv2模型在實(shí)際應(yīng)用中更具優(yōu)勢(shì),無(wú)論是在云端處理還是在邊緣設(shè)備上部署,crnv2模型都能以更低的資源消耗提供高質(zhì)量的語(yǔ)音增強(qiáng)效果。
46、3、本發(fā)明在voicebank-demand數(shù)據(jù)集上的測(cè)試結(jié)果表明,crnv2模型在客觀評(píng)價(jià)指標(biāo)上表現(xiàn)出色。具體而言,crnv2模型的寬帶客觀語(yǔ)音質(zhì)量評(píng)估(wb-pseq)得分為2.76,比傳統(tǒng)crn模型提高了0.37。同時(shí),crnv2模型的短時(shí)客觀可懂度指標(biāo)(stoi)得分為0.94,比crn模型提高了0.02。這些指標(biāo)的提升,證明了crnv2模型在語(yǔ)音增強(qiáng)任務(wù)中具備更好的性能和更高的魯棒性。