本發明涉及智能語音技術領域,尤其涉及一種話者分離方法、裝置、電子設備和存儲介質。
背景技術:
話者分離是指將一段音頻文件中分屬于每一話者的音頻數據進行分割,將同一話者的音頻數據合并成一類,不同話者的音頻數據分開,并獲得每個話者音頻數據的時間位置信息,即解決什么話者在什么時候說的問題。根據事先是否掌握話者信息的情況,話者分離可細分為無源話者分離與有源話者分離。其中,無源話者分離是在事先不知道音頻文件所涉及的話者及人數的情況下執行的。
目前,對于電話信道獲取的音頻文件,無源話者分離默認話者人數為兩人,并在此基礎上將分割的語音片段聚成兩類。但對于人數不確定的多人對話場景,無法提前確定聚類的類別數。同時,由于不同話者的風格差異大、聚類片段的時長不固定等因素,很難通過一個統一的門限閾值來自動確定類別數,導致上述無源話者分離技術難以在話者人數不確定的場景下推廣應用。
技術實現要素:
本發明實施例提供一種話者分離方法、裝置、電子設備和存儲介質,用以解決話者人數不確定的場景下,無源話者分離技術難以應用的問題。
第一方面,本發明實施例提供一種話者分離方法,包括:
確定待分離音頻文件包含的多個語音片段的聲紋特征;其中,單一語音片段僅包含單一話者的語音;
對所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果;
基于任一候選話者數量對應的候選聚類結果,確定所述任一候選話者數量對應的聚類評估結果;
基于每一候選話者數量分別對應的候選聚類結果和聚類評估結果,確定話者分離結果。
優選地,所述確定待分離音頻文件包含的多個語音片段的聲紋特征,具體包括:
將任一語音片段輸入至聲紋提取模型,得到所述聲紋提取模型輸出的所述任一語音片段的聲紋特征;其中,所述聲紋提取模型用于提取所述任一語音片段的隱層特征,并基于所述隱層特征確定所述任一語音片段的聲紋特征。
優選地,所述聲紋提取模型是聯合話者分類模型和文本識別模型,基于樣本語音片段及其對應的話者標簽和文本標簽訓練得到的;
所述話者分類模型用于基于所述聲紋提取模型提取的所述樣本語音片段的樣本聲紋特征,對所述樣本語音片段進行話者分類,所述文本識別模型用于基于所述聲紋提取模型提取的所述樣本語音片段的樣本隱層特征,對所述樣本語音片段進行文本識別。
優選地,所述聲紋提取模型是聯合語音解碼模型和語音增強判別模型,基于干凈語音片段和帶噪語音片段進行對抗訓練得到的;
所述語音解碼模型用于將所述聲紋提取模型提取的所述帶噪語音片段的隱層特征解碼為增強語音片段,所述語音增強判別模型用于區分所述干凈語音片段和所述增強語音片段。
優選地,所述基于任一候選話者數量對應的候選聚類結果,確定所述任一候選話者數量對應的聚類評估結果,具體包括:
基于任一候選話者數量對應的候選聚類結果,確定每個語音片段的聲紋特征分別屬于所述候選聚類結果中每個類別的概率;
基于每個語音片段的聲紋特征分別屬于所述候選聚類結果中每個類別的概率,確定所述候選聚類結果的信息熵值,作為所述任一候選話者數量對應的聚類評估結果。
優選地,所述對所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果,具體包括:
基于任一語音片段的聲紋特征與聲紋庫中每一庫內聲紋特征之間的相似度,確定所述任一語音片段的聲紋在庫狀態;
對聲紋在庫狀態為不在庫的所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果。
優選地,所述基于每一候選話者數量分別對應的候選聚類結果和聚類評估結果,確定話者分離結果,之后還包括:
基于所述話者分離結果,更新所述聲紋庫。
第二方面,本發明實施例提供一種話者分離裝置,包括:
片段聲紋提取單元,用于確定待分離音頻文件包含的多個語音片段的聲紋特征;其中,單一語音片段僅包含單一話者的語音;
片段聲紋聚類單元,用于對所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果;
聚類參數評估單元,用于基于任一候選話者數量對應的候選聚類結果,確定所述任一候選話者數量對應的聚類評估結果;
話者分離單元,用于基于每一候選話者數量分別對應的候選聚類結果和聚類評估結果,確定話者分離結果。
第三方面,本發明實施例提供一種電子設備,包括處理器、通信接口、存儲器和總線,其中,處理器,通信接口,存儲器通過總線完成相互間的通信,處理器可以調用存儲器中的邏輯命令,以執行如第一方面所提供的方法的步驟。
第四方面,本發明實施例提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執行時實現如第一方面所提供的方法的步驟。
本發明實施例提供的一種話者分離方法、裝置、電子設備和存儲介質,通過多個候選話者數量分別對應的候選聚類結果,分別得到多個候選話者數量的聚類評估結果,并基于此確定話者分離結果,實現了不確定話者數量情況下的無源話者分割,避免了固定話者數量或通過固定閾值來確定話者數量導致話者數量不符合實際情況,影響無源話者分離準確性的問題,有利于無源話者分離在話者人數不確定的場景下推廣應用。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的話者分離方法的流程示意圖;
圖2為本發明實施例提供的多任務聯合訓練示意圖;
圖3為本發明實施例提供的對抗訓練示意圖;
圖4為本發明實施例提供的聚類評估結果確定方法的流程示意圖;
圖5為本發明實施例提供的聚類方法的流程示意圖;
圖6為本發明實施例提供的聲紋提取模型的訓練示意圖;
圖7為本發明實施例提供的話者分離裝置的結構示意圖;
圖8為本發明實施例提供的電子設備的結構示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
目前無源話者分離技術主要應用于電話信道聲紋識別的前端處理,具體通過分割與聚類兩個階段實現,詳細的實現步驟包括:將待分離的音頻文件分割為多個語音片段,目標是使得每個語音片段中均只包含一個話者的語音;隨即,對多個語音片段進行聚類,直至聚成兩類為止。在此過程中,待分割的音頻文件中是否只包含兩個話者的語音,會直接影響話者分離的效果,如果待分割的音頻文件中只包含一個話者的語音,上述方法也會強制將一個話者的語音切割兩個部分,如果待分割的音頻文件中包含多于兩個話者的語音,那么聚類純度會嚴重受損。由此可見,在不確定話者數量的情況下,如何實現準確的無源話者分割,仍然是話者分割領域亟待解決的問題。
對此,本發明實施例提供了一種話者分離方法。圖1為本發明實施例提供的話者分離方法的流程示意圖,如圖1所示,該方法包括:
步驟110,確定待分離音頻文件所包含的多個語音片段的聲紋特征;其中,單一語音片段僅包含單一話者的語音。
此處,待分離音頻文件即需要進行話者分離的音頻文件,待分離音頻文件可以包含多個語音片段。在同一時刻僅一個話者發言,不存在多個話者同時發言的場景下,后一話者在前一話者發言結束后發言,兩段發言之間存在間隔,待分離音頻文件中包含的多個語音片段可以通過語音端點檢測(voiceactivitydetection,vad)進行分割得到。又或者,可以基于bic(bayesianinformationcriterion,貝葉斯信息準則)對待分離音頻文件進行話者變化點檢測,依據檢測的結果進行音頻分割,得到多個語音片段。
在得到多個語音片段后,可以分別獲取每個語音片段的聲紋特征。任一語音片段的聲紋特征具體是指該語音片段中話者所體現的聲音特征。語音片段的聲紋特征可以通過將語音片段輸入到預先訓練好的聲紋特征提取模型得到。
步驟120,對所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果。
具體地,候選話者數量有多個,可以是預先設定的待分離音頻文件中可能包含的話者數量,候選話者數量的設定可以與待分離音頻文件的獲取場景相關聯,例如飛航過程中飛行員和相關人員進行通話的場景下,話者數量可能在3至6人之間,對應的候選話者數量分別為3、4、5、6;又例如待分離音頻文件是在小型會客室錄制的,小型會客室設置有4個座位,則話者數量可能在2至4人之間,對應的候選話者數量分別為2、3、4。
經過步驟110得到所有語音片段的聲紋特征后,可以對所有聲紋特征進行聚類,此處應用的聚類算法可以是em算法(expectation-maximizationalgorithm,最大期望值算法),也可以是k-means(k均值)聚類算法或層次聚類算法等,本發明實施例對此不作具體限定。需要說明的是,通過聚類所得到的并不是傳統聚類算法最終輸出的唯一的聚類結果,而是分別對應于多個候選話者數量的多個候選聚類結果。此處,每個候選話者數量均對應一個候選聚類結果,候選聚類結果中的類別數即對應的候選話者數量。例如,候選話者數量為3時,對應的候選聚類結果中包含3個類別,候選話者數量為4時,對應的候選聚類結果中包含4個類別。
步驟130,基于任一候選話者數量對應的候選聚類結果,確定該候選話者數量對應的聚類評估結果。
具體地,聚類評估結果即對候選話者數量的候選聚類結果進行評估的得到的評估結果,聚類評估結果用于表征對應候選聚類結果的質量,具體可以表示為候選聚類結果中各個類別的類內聚集程度、類間離散程度等,還可以表示為候選聚類結果可能發生的概率,本發明實施例對此不做具體限定。
步驟140,基于每一候選話者數量分別對應的候選聚類結果和聚類評估結果,確定話者分離結果。
具體地,在得到每一候選話者數量的聚類評估結果后,可以基于每一候選話者數量的聚類評估結果,對每一候選話者數量分別對應的候選聚類結果的質量進行比對,進而從中挑選出聚類評估結果最優的候選聚類結果,將聚類評估結果最優的候選聚類結果作為待分離音頻文件的話者分離結果,將其對應的候選話者數量作為待分離音頻文件中實際包含的話者數量。
進一步地,在基于每一候選話者數量分別對應的候選聚類結果和聚類評估結果確定話者分離結果時,針對任一聚類評估結果,候選聚類結果中各個類別的類內聚集程度和類間離散程度越高,則候選聚類結果的質量越高,越可能被選為話者分離結果;候選聚類結果可能發生的概率越高,則候選聚類結果的質量越高,越可能被選為話者分離結果。
本發明實施例提供的方法,通過多個候選話者數量分別對應的候選聚類結果,分別得到多個候選話者數量的聚類評估結果,并基于此確定話者分離結果,實現了不確定話者數量情況下的無源話者分割,避免了固定話者數量或通過固定閾值來確定話者數量導致話者數量不符合實際情況,影響無源話者分離準確性的問題,有利于無源話者分離在話者人數不確定的場景下推廣應用。
基于上述實施例,步驟110具體包括:將任一語音片段輸入至聲紋提取模型,得到聲紋提取模型輸出的該語音片段的聲紋特征;其中,聲紋提取模型用于提取該語音片段的隱層特征,并基于隱層特征確定該語音片段的聲紋特征。
具體地,可以將待分離音頻文件中的任一語音片段輸入到預先訓練好的聲紋提取模型中,由聲紋提取模型對該語音片段進行編碼并提取該語音片段編碼后的隱層特征,并在此基礎上,對該語音片段的隱層特征進行聲紋特征提取,輸出該語音片段的聲紋特征。
進一步地,聲紋提取模型可以包括隱層特征提取層和聲紋特征提取層;其中,隱層特征提取層用于對輸入的語音片段進行編碼并提取該語音片段編碼后的隱層特征,聲紋特征提取層用于對隱層特征提取層輸出的隱層特征進行聲紋特征提取,并輸出聲紋特征。
在執行步驟110之前,還可以預先訓練得到聲紋提取模型,例如可以通過如下方法訓練得到聲紋提取模型:首先,收集大量樣本語音片段及其對應的樣本聲紋特征,應用樣本語音片段和樣本聲紋特征對初始模型進行訓練,從而得到聲紋提取模型。
考慮到在一些特定的場景,例如飛航過程中飛行員和相關人員進行通話的場景,主題明確的會議討論場景等,待分離音頻文件中包含語音所對應的文本內容實際上十分有限,多為行業術語,其中存在相同文本的概率較高,且文本內容可以形成相對穩定的閉集。
基于上述任一實施例,圖2為本發明實施例提供的多任務聯合訓練示意圖,如圖2所示,聲紋提取模型是聯合話者分類模型和文本識別模型,基于樣本語音片段及其對應的話者標簽和文本標簽訓練得到的;話者分類模型用于基于聲紋提取模型提取的樣本語音片段的樣本聲紋特征,對樣本語音片段進行話者分類,文本識別模型用于基于聲紋提取模型提取的樣本語音片段的樣本隱層特征,對樣本語音片段進行文本識別。
具體地,訓練過程中,將樣本語音片段輸入至聲紋提取模型,由聲紋提取模型對樣本語音片段進行編碼,提取樣本語音片段編碼后的樣本隱層特征,并對樣本隱層特征進行聲紋特征提取,輸出樣本語音片段的樣本聲紋特征。
將聲紋提取模型輸出的樣本聲紋特征輸入至話者分類模型,由話者分類模型預測樣本聲紋特征所對應的話者身份并輸出。此外,將聲紋提取模型中間產生的樣本隱層特征輸入至文本識別模型,由文本識別模型基于樣本隱層特征對樣本語音片段進行文本識別,并輸出識別文本。
在得到話者分類模型輸出的話者身份和文本識別模型輸出的識別文本后,可以將話者身份和識別文本分別與樣本語音片段對應的話者標簽和文本標簽進行比對,從而更新聲紋提取模型、話者分類模型與文本識別模型的模型參數,實現針對聲紋提取模型的多目標訓練。
參考圖2示出的模型結構,話者分類模型和文本識別模型在分別進行話者分類和文本識別時,共用了聲紋提取模型中用于提取隱層特征的部分,即圖2中的隱層特征提取層,隱層特征提取層的共用使得多目標訓練過程中話者分類模型和文本識別模型能夠實現信息共享,從而充分利用特定場景下待分離音頻文件中包含語音所對應的文本內容相對固定的優勢,使得聲紋提取模型能夠更好地區分相同文本內容下不同話者的音頻片段所表征的聲紋特征,提高聲紋提取模型輸出聲紋特征的準確性。
本發明實施例提供的方法,聯合話者分類模型和文本識別模型實現聲紋提取模型的多目標訓練,優化聲紋提取模型針對相同文本內容的不同話者聲紋特征的區分性,從而提高輸出聲紋特征的可靠性,進而實現準確可靠的話者分離。
待分離音頻文件中可能包含大量的環境噪聲,如果不進行降噪處理,基于語音片段提取的聲紋特征中必然也會包含噪聲帶來的影響,嚴重影響話者分離的聚類純度。針對這一問題,基于上述任一實施例,圖3為本發明實施例提供的對抗訓練示意圖,如圖3所示,聲紋提取模型是聯合語音解碼模型和語音增強判別模型,基于干凈語音片段和帶噪語音片段進行對抗訓練得到的;語音解碼模型用于將聲紋提取模型提取的帶噪語音片段的隱層特征解碼為增強語音片段,語音增強判別模型用于區分干凈語音片段和增強語音片段。
具體地,可以預先收集干凈語音片段和帶噪語音片段。此處,干凈語音片段是指不包含環境噪聲的語音片段,帶噪語音片段即包含環境噪聲的語音片段,帶噪語音片段可以通過對干凈語音片段進行加噪處理得到。
在訓練過程中,將帶噪語音片段輸入至聲紋提取模型,由聲紋提取模型對帶噪語音片段進行編碼,提取帶噪語音片段編碼后的樣本隱層特征。隨即將帶噪語音片段對應的樣本隱層特征輸入至語音解碼模型,由語音解碼模型對樣本隱層特征進行解碼還原,得到并輸出帶噪語音片段對應的增強語音片段。然后將增強語音片段輸入至語音增強判別模型,由語音增強判別模型判別輸入的語音片段是干凈語音片段還是增強語音片段。
將聲紋提取模型聯合語音解碼模型和語音增強判別模型進行對抗訓練的目的,在于通過聲紋提取模型和語音解碼模型得到的增強語音片段能夠無限接近真實的干凈語音片段,使得語音增強判別模型無法區分輸入的語音片段是真實的干凈語音片段,還是經過聲紋提取模型和語音解碼模型得到的增強語音片段。經過對抗訓練后的聲紋提取模型中用于提取隱層特征的部分,即圖3示出的隱層特征提取層,具備在提取隱層特征的同時盡量濾除語音片段中包含的環境噪聲的能力。
本發明實施例提供的方法,通過對抗訓練在實現聲紋提取功能的同時,實現了語音增強功能,從而保證聲紋提取模型在進行語音片段的聲紋提取時,能夠有效抑制語音片段中裹挾的環境噪聲干擾,提高輸出聲紋特征的準確性,從而實現準確可靠的話者分離。
基于上述任一實施例,圖4為本發明實施例提供的聚類評估結果確定方法的流程示意圖,如圖4所示,步驟130具體包括:
步驟131,基于任一候選話者數量對應的候選聚類結果,確定每個語音片段的聲紋特征分別屬于候選聚類結果中每個類別的概率。
具體地,任一候選話者數量對應的候選聚類結果包括該候選話者數量個類別。在得到候選聚類結果后,可以計算每個語音片段的聲紋特征分別屬于候選聚類結果中每個類別的概率。
例如,候選話者數量為3,對應的候選聚類結果包括3個類別,分別表示為c1、c2和c3,假設待分離音頻文件共包含n個語音片段,則其中第i個語音片段的聲紋特征屬于3個類別的概率可以表示為picm3=(pic1,pic2,pic3)′,式中pic1、pic2和pic3分別為第i個語音片段的聲紋特征屬于類別c1、c2和c3的概率。
在此基礎上,可以得到每個語音片段的聲紋特征分別屬于候選聚類結果中每個類別的概率,具體表示為p3={p1cm3,p2cm3,...,picm3,...,pncm3}n*3。
步驟132,基于每個語音片段的聲紋特征分別屬于候選聚類結果中每個類別的概率,確定候選聚類結果的信息熵值,作為該候選話者數量對應的聚類評估結果。
具體地,在得到每個語音片段的聲紋特征分別屬于候選聚類結果中每個類別的概率后,即可計算該候選聚類結果的信息熵值。此處,候選聚類結果的信息熵值可以反映該候選聚類結果的發生概率,信息熵值越小,則該候選聚類結果發生的概率越大,該候選聚類結果越穩定。
本發明實施例提供的方法,將候選聚類結果的信息熵值作為候選話者數量對應的聚類評估結果用于確定話者數量和話者分離,從而解決了待分離音頻文件所包含的話者數量不確定的問題,有利于無源話者分離在話者人數不確定的場景下推廣應用。
基于上述任一實施例,步驟140具體包括:將最小信息熵值對應的候選話者數量作為所述最終話者數量。
具體地,將候選聚類結果的信息熵值作為對應候選話者數量的聚類評估結果后,在確定話者分離結果時,僅需要比較各個候選話者數量對應的信息熵值大小,可以將信息熵值最小的候選話者數量作為最終的話者數量。此處,信息熵值最小的候選話者數量,其對應的候選聚類結果即多個候選聚類結果中最穩定、發生概率最高的聚類結果,由此可以確定話者分離結果。
此外,還可以在得到多個候選話者數量的信息熵值的最小值之后,還可以將最小值與預先設定的信息熵值閾值進行比較,如果最小值小于信息熵值閾值,則將最小值對應的候選話者數量作為最終的話者數量,將最小值對應的候選聚類結果作為話者分離結果;如果最小值大于信息熵值閾值,則確認每個候選話者數量均不是最終的話者數量,可以重新設置候選話者數量可以聚類。
基于上述任一實施例,步驟120中的聲紋特征聚類可以通過em算法實現的,對n個音頻片段的聲紋特征xi進行無監督聚類,對應得到聚類的結果為一個高斯混合模型
候選話者數量m=3時,可以通過如下公式計算第i個音頻片段的聲紋特征xi屬于3個類別中任一類別中心λc的高斯占用率,作為xi屬于3個類別中任一類別的概率p(xi|λc):
例如,可以通過如下公式計算xi屬于3個類別中第1個類別c1的概率pic1:
式中,λc1為類別c1的中心,λj為第j個類別的類別中心。
通過上述公式即可得到m=3時n個語音片段的聲紋特征分別屬于候選聚類結果中每個類別的概率p3={p1cm3,p2cm3,...,picm3,...,pncm3}n*3,其中picm3為xi分別屬于候選結果中每個類別的概率,picm3=(pic1,pic2,pic3)′。
在此基礎上,可以將p3代入信息熵值公式,從而得到m=3時的信息熵值作為候選話者數量為3時的聚類評估結果,信息熵值公式如下:
式中,p(xi|λc)即xi屬于任一類別的概率。
由此可得m=3時的信息熵值公式具體為:
式中,ecm3即候選話者數量為3時的信息熵值,pic1*log(pic1)、pic2*log(pic2)和pic3*log(pic3)分別為xi對應于三個類別的信息熵,ecm3即每個語音片段的聲紋特征分別對應三個類別的信息熵的總和。
基于上述任一實施例,圖5為本發明實施例提供的聚類方法的流程示意圖,如圖5所示,步驟120具體包括:
步驟121,基于任一語音片段的聲紋特征與聲紋庫中每一庫內聲紋特征之間的相似度,確定該語音片段的聲紋在庫狀態。
具體地,在得到任一語音片段的聲紋特征之后,可以將該語音片段的聲紋特征和聲紋庫中已有的聲紋特征,即庫內聲紋特征進行匹配。
在將該語音片段的聲紋特征和庫內聲紋特征進行匹配時,可以計算得到該語音片段的聲紋特征和每一庫內聲紋特征之間的相似度,若該語音片段的聲紋特征和任一庫內聲紋特征之間相似度大于等于預先設定的相似度閾值,則確定該語音片段的聲紋特征與該庫內聲紋特征屬于同一話者;若語音片段的聲紋特征和每一庫內聲紋特征之間相似度均小于相似度閾值,則確定該語音片段的聲紋特征不同于任何庫內聲紋特征。此處,語音片段的聲紋在庫狀態可以是在庫或不在庫。
步驟122,對聲紋在庫狀態為不在庫的所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果。
具體地,根據步驟121的判斷,若已經確定任一語音片段屬于庫內的已有的聲紋特征,則無需再對該語音片段進行聚類。步驟122中,僅對于聲紋在庫狀態為不在庫,即不屬于庫內的已存儲的聲紋特征所屬話者的聲紋特征進行聚類,從而減小聚類的語音片段數,提高聚類精度,避免聚類后形成的新的話者對應的聲紋特征與聲紋庫中的已知話者重合造成數據混亂。
基于上述任一實施例,步驟140之后還包括:基于所述話者分離結果,更新所述聲紋庫。
具體地,在得到話者分離結果后,將話者分離結果中不同類別的聲紋特征分別存儲到聲紋庫中,從而不斷充實聲紋庫,以減小話者分離中的不確定性,逐漸將無源話者分離問題轉化為有源話者分離問題,以降低話者分離的解決難度,從而實現更加高效、準確的話者分離。
基于上述任一實施例,一種話者分離方法,包括如下步驟:
確定待分離音頻文件,此處的待分離音頻文件包括l個語音片段,其中每個語音片段的持續時長為0.5-3秒,只含一個話者的語音,信噪比低,語音對應的文本內容相對固定,且片段之間存在長度不一的時間間隔。
首先,采用vad算法剔除上述l個語音片段中的噪聲數據,得到l′個純人聲的語音片段。
其次,利用預先訓練好的聲紋提取模型,將l′個語音片段映射成l′個512維的聲紋特征向量集,此處記為j-vector向量集x={x1,x2,...xi,...,xl,}。圖6為本發明實施例提供的聲紋提取模型的訓練示意圖,如圖6所示,針對場景特點,此處的聲紋提取模型是多目標學習優化后的模型,同時考慮了語音增強、文本識別及聲紋識別三個目標,充分抑制了噪聲干擾,并利用文本信息,使得聲紋識別任務中的聲紋特征提取層的輸出向量能夠更好的表征場景所述的聲紋信息,有利于后續的說話人無監督聚類。
圖6中,聲紋提取模型的隱層特征提取層與語音解碼模型相結合以實現帶噪音頻片段的自動編碼和語音增強,隱層特征提取層與語音解碼模型作為生成器,與作為判別器的語音增強判別模型構成生成對抗網絡,其目的在于通過聲紋提取模型和語音解碼模型得到的增強語音片段能夠無限接近真實的干凈語音片段,使得語音增強判別模型無法區分輸入的語音片段是真實的干凈語音片段,還是經過聲紋提取模型和語音解碼模型得到的增強語音片段,從而抑制噪聲干擾。同時,話者分類模型和文本識別模型在分別進行話者分類和文本識別時,共用聲紋提取模型中的隱層特征提取層,使得話者分類模型和文本識別模型能夠實現信息共享,從而充分利用特定場景下待分離音頻文件中包含語音所對應的文本內容相對固定的優勢,使得聲紋提取模型能夠更好地區分相同文本內容下不同話者的音頻片段所表征的聲紋特征。
隨后,將聲紋特征向量集中的l′個聲紋特征分別與聲紋庫中的已有聲紋進行比對,剔除相似度超過相似度閾值的語音片段對應的聲紋特征,減小聚類的語音片段數,從而提高聚類精度。剔除超過相似度閾值后,得到n個聲紋特征,記為x′={x1,x2,...xi,...,xn}。
接著,利用em算法,對x′進行無監督聚類,分別計算多個候選話者數量下n個語音片段的聲紋特征在不同類別中的概率,通過信息熵公式進一步計算得到不同候選話者數量分別對應的信息熵值,以熵值最小者為最終話者數量,將最終話者數量下的聚類結果作為話者分離結果。
基于上述任一實施例,圖7為本發明實施例提供的話者分離裝置的結構示意圖,如圖7所示,話者分離裝置包括片段聲紋提取單元710、片段聲紋聚類單元720、聚類參數評估單元730和話者分離單元740;
片段聲紋提取單元710用于確定待分離音頻文件包含的多個語音片段的聲紋特征;其中,單一語音片段僅包含單一話者的語音;
片段聲紋聚類單元720用于對所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果;
聚類參數評估單元730用于基于任一候選話者數量對應的候選聚類結果,確定所述任一候選話者數量對應的聚類評估結果;
話者分離單元740用于基于每一候選話者數量分別對應的候選聚類結果和聚類評估結果,確定話者分離結果。
本發明實施例提供的裝置,通過多個候選話者數量分別對應的候選聚類結果,分別得到多個候選話者數量的聚類評估結果,并基于此確定話者分離結果,實現了不確定話者數量情況下的無源話者分割,避免了固定話者數量或通過固定閾值來確定話者數量導致話者數量不符合實際情況,影響無源話者分離準確性的問題,有利于無源話者分離在話者人數不確定的場景下推廣應用。
基于上述任一實施例,片段聲紋提取單元710具體用于:
將任一語音片段輸入至聲紋提取模型,得到所述聲紋提取模型輸出的所述任一語音片段的聲紋特征;其中,所述聲紋提取模型用于提取所述任一語音片段的隱層特征,并基于所述隱層特征確定所述任一語音片段的聲紋特征。
基于上述任一實施例,所述聲紋提取模型是聯合話者分類模型和文本識別模型,基于樣本語音片段及其對應的話者標簽和文本標簽訓練得到的;
所述話者分類模型用于基于所述聲紋提取模型提取的所述樣本語音片段的樣本聲紋特征,對所述樣本語音片段進行話者分類,所述文本識別模型用于基于所述聲紋提取模型提取的所述樣本語音片段的樣本隱層特征,對所述樣本語音片段進行文本識別。
基于上述任一實施例,所述聲紋提取模型是聯合語音解碼模型和語音增強判別模型,基于干凈語音片段和帶噪語音片段進行對抗訓練得到的;
所述語音解碼模型用于將所述聲紋提取模型提取的所述帶噪語音片段的隱層特征解碼為增強語音片段,所述語音增強判別模型用于區分所述干凈語音片段和所述增強語音片段。
基于上述任一實施例,聚類參數評估單元730具體用于:
基于任一候選話者數量對應的候選聚類結果,確定每個語音片段的聲紋特征分別屬于所述候選聚類結果中每個類別的概率;
基于每個語音片段的聲紋特征分別屬于所述候選聚類結果中每個類別的概率,確定所述候選聚類結果的信息熵值,作為所述任一候選話者數量對應的聚類評估結果。
基于上述任一實施例,片段聲紋聚類單元720具體用于:
基于任一語音片段的聲紋特征與聲紋庫中每一庫內聲紋特征之間的相似度,確定所述任一語音片段的聲紋在庫狀態;
對聲紋在庫狀態為不在庫的所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果。
基于上述任一實施例,該裝置還包括聲紋庫更新單元,所述聲紋庫更新單元用于基于所述話者分離結果,更新所述聲紋庫。
圖8為本發明實施例提供的電子設備的結構示意圖,如圖8所示,該電子設備可以包括:處理器(processor)810、通信接口(communicationsinterface)820、存儲器(memory)830和通信總線840,其中,處理器810,通信接口820,存儲器830通過通信總線840完成相互間的通信。處理器810可以調用存儲器830中的邏輯命令,以執行如下方法:確定待分離音頻文件包含的多個語音片段的聲紋特征;其中,單一語音片段僅包含單一話者的語音;對所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果;基于任一候選話者數量對應的候選聚類結果,確定所述任一候選話者數量對應的聚類評估結果;基于每一候選話者數量分別對應的候選聚類結果和聚類評估結果,確定話者分離結果。
此外,上述的存儲器830中的邏輯命令可以通過軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干命令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
本發明實施例還提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執行時實現以執行上述各實施例提供的方法,例如包括:確定待分離音頻文件包含的多個語音片段的聲紋特征;其中,單一語音片段僅包含單一話者的語音;對所有語音片段的聲紋特征進行聚類,得到多個候選話者數量分別對應的候選聚類結果;基于任一候選話者數量對應的候選聚類結果,確定所述任一候選話者數量對應的聚類評估結果;基于每一候選話者數量分別對應的候選聚類結果和聚類評估結果,確定話者分離結果。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件。基于這樣的理解,上述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如rom/ram、磁碟、光盤等,包括若干命令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行各個實施例或者實施例的某些部分所述的方法。
最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和范圍。