TW202347318A - 模型訓練方法及裝置、非暫態性電腦可讀儲存媒體 - Google Patents

模型訓練方法及裝置、非暫態性電腦可讀儲存媒體 Download PDF

Info

Publication number
TW202347318A
TW202347318A TW111133851A TW111133851A TW202347318A TW 202347318 A TW202347318 A TW 202347318A TW 111133851 A TW111133851 A TW 111133851A TW 111133851 A TW111133851 A TW 111133851A TW 202347318 A TW202347318 A TW 202347318A
Authority
TW
Taiwan
Prior art keywords
audio signal
audio
signal
error
control instruction
Prior art date
Application number
TW111133851A
Other languages
English (en)
Inventor
林功藝
Original Assignee
神盾股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 神盾股份有限公司 filed Critical 神盾股份有限公司
Publication of TW202347318A publication Critical patent/TW202347318A/zh

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K11/00Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/16Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/175Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K11/00Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/16Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/175Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
    • G10K11/178Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K11/00Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/16Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/175Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
    • G10K11/178Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
    • G10K11/1781Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase characterised by the analysis of input or output signals, e.g. frequency range, modes, transfer functions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K11/00Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/16Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/175Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
    • G10K11/178Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
    • G10K11/1785Methods, e.g. algorithms; Devices

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Stereophonic System (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
  • Soundproofing, Sound Blocking, And Sound Damping (AREA)

Abstract

一種模型訓練方法、模型訓練裝置和非暫態性電腦可讀儲存媒體。該模型訓練方法包括:基於預測模型,對第一音訊信號進行處理以生成第一控制指令;基於第一控制指令,生成與第一控制指令對應的音訊信號作為第二音訊信號;輸出第二音訊信號,以抑制第三音訊信號,其中,第一音訊信號出現的時間早於第三音訊信號出現的時間;基於第二音訊信號和第三音訊信號,確定音訊誤差信號;回應於音訊誤差信號不滿足誤差條件,對預測模型進行調整,基於預測模型再次對第一音訊信號進行處理,直到音訊誤差信號滿足誤差條件;回應於音訊誤差信號滿足誤差條件,保持預測模型不變。

Description

模型訓練方法及裝置、非暫態性電腦可讀儲存媒體
本公開的實施例涉及一種模型訓練方法、模型訓練裝置和非暫態性電腦可讀儲存媒體。
目前,降噪方法主要包括主動式降噪和被動式降噪。主動式降噪是通過降噪系統產生與外界噪音相等的反相信號以將噪音中和,從而實現降噪的效果。被動式降噪主要通過在對象周圍形成封閉空間或者採用隔音材料來阻擋外界雜訊,從而實現降噪的效果。
主動式降噪可以利用消音模型以實現採用落後的反相音訊跟原本收到的音訊(例如,雜訊)進行破壞性疊加以達到抑制音訊的效果。一種主動式降噪的消音流程如下:首先,通過麥克風接收聲音源產生的音訊Vn,並將接收的音訊Vn發送到處理器,然後,處理器對音訊Vn進行反相處理以生成反相音訊Vn’並輸出該反相音訊Vn’至揚聲器,揚聲器發出該反相音訊Vn’。人的耳朵可以接收反相音訊Vn’和音訊Vn,並且反相音訊Vn’與音訊Vn可以進行破壞性疊加從而達到抑制音訊的效果。在該主動式降噪中,由於信號處理和信號傳輸等需要花費時間,揚聲器輸出的反相音訊Vn’的時間必然是落後於麥克風原本收到的音訊Vn的時間,由此,人的耳朵接收到反相音訊Vn’的時間也必然落後於人的耳朵接收到音訊Vn的時間,消音效果較差,甚至可能無法實現消音。輸入端(即麥克風)到輸出端(即揚聲器)必然有延遲,輸入端對輸出端的延遲越低,則人的耳朵接收到反相音訊Vn’和接收到音訊Vn之間的時間差越小,消音效果越好。因此,主動式降噪對於端對端延遲要求極其嚴苛,使得該主動消音系統的架構必須使用高速的類比數位轉換器以及高速運算硬體等,才能達到低延遲,實現較好的抑制音訊的效果,從而導致其開發成本過高且架構較無彈性。因此,如何避免端對端延遲對主動式降噪的影響,如何實現更好的抑制音訊的效果等成為需要解決的問題。
目前,可以預先對消音模型進行訓練,然後將消音模型應用到實際場景中,然而,由於不同場景下的音訊信號多種多樣,用於訓練消音模型的訓練樣本的數量有限且無法完全類比真實環境中的音訊信號,訓練樣本中的音訊信號可能與真實環境產生的音訊信號不會完全相同,從而導致消音模型可能無法實現消音功能。因此,如何使得消音模型能夠更加適用於真實環境,使得消音模型能夠更好地實現抑制音訊的效果,用於訓練消音模型的樣本的數量不足等成為需要解決的問題。
針對上述問題,本公開至少一個實施例提供一種模型訓練方法,包括:基於預測模型,對第一音訊信號進行處理以生成第一控制指令;基於所述第一控制指令,生成與所述第一控制指令對應的音訊信號作為第二音訊信號;輸出所述第二音訊信號,以抑制第三音訊信號,其中,所述第一音訊信號出現的時間早於所述第三音訊信號出現的時間;基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號;回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整,基於所述預測模型再次對所述第一音訊信號進行處理,直到所述音訊誤差信號滿足所述誤差條件;回應於所述音訊誤差信號滿足所述誤差條件,保持所述預測模型不變。
例如,在本公開至少一個實施例提供的模型訓練方法中,所述預測模型包括神經網路,所述基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號,包括:基於所述第二音訊信號和所述第三音訊信號,通過所述神經網路的損失函數計算損失值,其中,所述音訊誤差信號包括所述損失值。
例如,在本公開至少一個實施例提供的模型訓練方法中,所述回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整,包括:回應於所述損失值不滿足所述誤差條件,利用所述損失值對所述神經網路的參數進行調整。
例如,在本公開至少一個實施例提供的模型訓練方法中,所述基於所述預測模型再次對所述第一音訊信號進行處理,包括:回應於所述音訊誤差信號不滿足所述誤差條件,基於所述神經網路,再次對所述第一音訊信號進行處理以生成第二控制指令,其中,所述第二控制指令與所述第一控制指令不相同;基於所述第二控制指令,生成並輸出與所述第二控制指令對應的音訊信號作為所述第二音訊信號。
例如,在本公開至少一個實施例提供的模型訓練方法中,所述預測模型包括查找表,所述回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整,包括:回應於所述音訊誤差信號不滿足所述誤差條件,基於所述第一音訊信號和所述第三音訊信號生成音訊特徵編碼;基於所述音訊特徵編碼調整所述查找表。
例如,在本公開至少一個實施例提供的模型訓練方法中,所述預測模型包括查找表,所述基於所述預測模型再次對所述第一音訊信號進行處理,包括:回應於所述音訊誤差信號不滿足所述誤差條件,基於所述查找表,再次對所述第一音訊信號進行處理以生成第二控制指令,其中,所述第二控制指令與所述第一控制指令不相同;基於所述第二控制指令,生成並輸出與所述第二控制指令對應的音訊信號作為所述第二音訊信號。
例如,在本公開至少一個實施例提供的模型訓練方法中,所述基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號,包括:計算所述第二音訊信號和所述第三音訊信號之間的均方根誤差,以得到所述音訊誤差信號。
例如,在本公開至少一個實施例提供的模型訓練方法中,所述基於預測模型,對第一音訊信號進行處理以生成第一控制指令,包括:獲取所述第一音訊信號;基於所述預測模型對所述第一音訊信號進行處理以預測得到第四音訊信號;基於所述第四音訊信號,生成所述第一控制指令。
例如,在本公開至少一個實施例提供的模型訓練方法中,所述預測模型包括查找表,所述基於所述預測模型對所述第一音訊信號進行處理以預測得到第四音訊信號,包括:基於所述第一音訊信號生成第一音訊特徵編碼;基於所述第一音訊特徵編碼查詢所述查找表,以得到第二音訊特徵編碼;基於所述第二音訊特徵編碼,預測得到所述第四音訊信號。
例如,在本公開至少一個實施例提供的模型訓練方法中,所述第二音訊信號的相位與所述第四音訊信號的相位相反。
例如,在本公開至少一個實施例提供的模型訓練方法中,輸出與所述第一控制指令對應的音訊信號的時刻和所述第三音訊信號開始出現的時刻之間的時間差的絕對值小於時間閾值。
本公開至少一個實施例還提供一種模型訓練裝置,包括:指令生成模組,被配置為基於預測模型,對第一音訊信號進行處理以生成第一控制指令;音訊生成模組,被配置為基於所述第一控制指令,生成與所述第一控制指令對應的音訊信號作為第二音訊信號;輸出模組,被配置為輸出所述第二音訊信號,以抑制第三音訊信號,其中,所述第一音訊信號出現的時間早於所述第三音訊信號出現的時間;誤差計算模組,被配置為基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號;調整模組,被配置為回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整;回應於所述音訊誤差信號滿足所述誤差條件,保持所述預測模型不變;其中,所述指令生成模組還被配置為回應於所述音訊誤差信號不滿足誤差條件,基於所述預測模型再次對所述第一音訊信號進行處理,直到所述音訊誤差信號滿足所述誤差條件。
例如,在本公開至少一個實施例提供的模型訓練裝置中,所述預測模型包括神經網路,在執行所述基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號的操作時,所述誤差計算模組被配置為基於所述第二音訊信號和所述第三音訊信號,通過所述神經網路的損失函數計算損失值,其中,所述音訊誤差信號包括所述損失值。
例如,在本公開至少一個實施例提供的模型訓練裝置中,在執行所述回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整的操作時,所述調整模組被配置為:回應於所述損失值不滿足所述誤差條件,利用所述損失值對所述神經網路的參數進行調整。
例如,在本公開至少一個實施例提供的模型訓練裝置中,在執行所述基於所述預測模型再次對所述第一音訊信號進行處理的操作時,所述指令生成模組被配置為:回應於所述音訊誤差信號不滿足所述誤差條件,基於所述神經網路,再次對所述第一音訊信號進行處理以生成第二控制指令,其中,所述第二控制指令與所述第一控制指令不相同;所述音訊生成模組還被配置為基於所述第二控制指令,生成並輸出與所述第二控制指令對應的音訊信號作為所述第二音訊信號。
例如,在本公開至少一個實施例提供的模型訓練裝置中,所述預測模型包括查找表,所述調整模組包括特徵編碼生成子模組和查找表調整子模組,所述特徵編碼生成子模組被配置為:回應於所述音訊誤差信號不滿足所述誤差條件,基於所述第一音訊信號和所述第三音訊信號生成音訊特徵編碼;所述查找表調整子模組被配置為基於所述音訊特徵編碼調整所述查找表。
例如,在本公開至少一個實施例提供的模型訓練裝置中,所述預測模型包括查找表,在執行所述基於所述預測模型再次對所述第一音訊信號進行處理的操作時,所述指令生成模組被配置為:回應於所述音訊誤差信號不滿足所述誤差條件,基於所述查找表,再次對所述第一音訊信號進行處理以生成第二控制指令,其中,所述第二控制指令與所述第一控制指令不相同;所述音訊生成模組還被配置為基於所述第二控制指令,生成並輸出與所述第二控制指令對應的音訊信號作為所述第二音訊信號。
例如,在本公開至少一個實施例提供的模型訓練裝置中,在執行所述基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號的操作時,所述誤差計算模組被配置為:計算所述第二音訊信號和所述第三音訊信號之間的均方根誤差,以得到所述音訊誤差信號。
例如,在本公開至少一個實施例提供的模型訓練裝置中,所述指令生成模組包括音訊獲取子模組、預測子模組和生成子模組,所述音訊獲取子模組被配置為獲取所述第一音訊信號;所述預測子模組被配置為基於所述預測模型對所述第一音訊信號進行處理以預測得到第四音訊信號;所述生成子模組被配置為基於所述第四音訊信號,生成所述第一控制指令。
例如,在本公開至少一個實施例提供的模型訓練裝置中,所述預測模型包括查找表,所述預測子模組包括查詢單元和預測單元,所述查詢單元被配置為基於所述第一音訊信號生成第一音訊特徵編碼;基於所述第一音訊特徵編碼查詢所述查找表,以得到第二音訊特徵編碼;所述預測單元被配置為基於所述第二音訊特徵編碼,預測得到所述第四音訊信號。
例如,在本公開至少一個實施例提供的模型訓練裝置中,所述第二音訊信號的相位與所述第四音訊信號的相位相反。
例如,在本公開至少一個實施例提供的模型訓練裝置中,輸出與所述第一控制指令對應的音訊信號的時刻和所述第三音訊信號開始出現的時刻之間的時間差的絕對值小於時間閾值。
本公開至少一個實施例還提供一種模型訓練裝置,包括:一個或多個記憶體,非暫態性地儲存有電腦可執行指令;一個或多個處理器,配置為運行所述電腦可執行指令,其中,所述電腦可執行指令被所述一個或多個處理器運行時實現根據本公開任一個實施例所述的模型訓練方法。
本公開至少一個實施例還提供一種非暫態性電腦可讀儲存媒體,其中,所述非暫態性電腦可讀儲存媒體儲存有電腦可執行指令,所述電腦可執行指令被處理器執行時實現根據本公開任一個實施例所述的模型訓練方法。
根據本公開的任一實施例提供的模型訓練方法、模型訓練裝置和非暫態性電腦可讀儲存媒體,利用當前音訊信號(即,第一音訊信號)和未來音訊信號(即,第三音訊信號)對預測模型進行即時訓練,提升預測模型輸出的預測結果的準確度,避免基於預測模型輸出的預測結果無法實現對未來音訊信號進行抑制的問題,提升基於預測模型進行消音的效果。
此外,本公開至少一個實施例提供一種音訊處理方法,包括:基於第一音訊信號,生成控制指令;基於所述控制指令,生成第二音訊信號;輸出所述第二音訊信號,以抑制第三音訊信號,其中,所述第二音訊信號的相位與所述第三音訊信號的相位之和小於相位閾值,所述第一音訊信號出現的時間早於所述第三音訊信號出現的時間。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述輸出所述第二音訊信號,以抑制第三音訊信號,包括:基於所述控制指令,確定輸出所述第二音訊信號的第一時刻;在所述第一時刻輸出所述第二音訊信號,其中,所述第三音訊信號從第二時刻開始出現,所述第一時刻和所述第二時刻之間的時間差的絕對值小於時間閾值。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述第一時刻和所述第二時刻之間的時間差為0。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述基於第一音訊信號,生成控制指令,包括:獲取所述第一音訊信號;對所述第一音訊信號進行處理以預測得到第四音訊信號;基於所述第四音訊信號,生成所述控制指令。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述第二音訊信號和/或所述第三音訊信號和/或所述第四音訊信號是週期性的或間歇性的時域信號。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述對所述第一音訊信號進行處理以預測得到第四音訊信號,包括:基於所述第一音訊信號生成第一音訊特徵編碼;基於所述第一音訊特徵編碼查詢查找表,以得到第二音訊特徵編碼;基於所述第二音訊特徵編碼,預測得到所述第四音訊信號。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述查找表包括至少一個第一編碼字段。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述查找表還包括至少一個第二編碼字段,多個所述第一編碼字段組成一個所述第二編碼字段。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述第二音訊特徵編碼包括至少一個所述第一編碼字段和/或至少一個所述第二編碼字段。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述獲取所述第一音訊信號,包括:採集初始音訊信號;對所述初始音訊信號進行降取樣處理以得到所述第一音訊信號。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述獲取所述第一音訊信號,包括:採集初始音訊信號;對所述初始音訊信號進行濾波處理以得到所述第一音訊信號。
例如,在本公開至少一個實施例提供的音訊處理方法中,所述第二音訊信號的相位與所述第三音訊信號的相位相反。
本公開至少一個實施例還提供一種音訊處理裝置,包括:指令生成模組,被配置為基於第一音訊信號,生成控制指令;音訊生成模組,被配置為基於所述控制指令,生成第二音訊信號;輸出模組,被配置為輸出所述第二音訊信號,以抑制第三音訊信號;其中,所述第二音訊信號的相位與所述第三音訊信號的相位之和小於相位閾值,所述第一音訊信號出現的時間早於所述第三音訊信號出現的時間。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述輸出模組包括時刻確定子模組和輸出子模組,所述時刻確定子模組被配置為基於所述控制指令,確定輸出所述第二音訊信號的第一時刻;所述輸出子模組被配置為在所述第一時刻輸出所述第二音訊信號,其中,所述第三音訊信號從第二時刻開始出現,所述第一時刻和所述第二時刻之間的時間差的絕對值小於時間閾值。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述第一時刻和所述第二時刻之間的時間差為0。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述指令生成模組包括音訊獲取子模組、預測子模組和生成子模組,所述音訊獲取子模組被配置為獲取所述第一音訊信號;所述預測子模組被配置為對所述第一音訊信號進行處理以預測得到第四音訊信號;所述生成子模組被配置為基於所述第四音訊信號,生成所述控制指令。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述第二音訊信號和/或所述第三音訊信號和/或所述第四音訊信號是週期性的或間歇性的時域信號。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述預測子模組包括查詢單元和預測單元,所述查詢單元被配置為基於所述第一音訊信號生成第一音訊特徵編碼以及基於所述第一音訊特徵編碼查詢查找表,以得到第二音訊特徵編碼;所述預測單元被配置為基於所述第二音訊特徵編碼,預測得到所述第四音訊信號。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述查找表包括至少一個第一編碼字段。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述查找表還包括至少一個第二編碼字段,多個所述第一編碼字段組成一個所述第二編碼字段。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述第二音訊特徵編碼包括至少一個所述第一編碼字段和/或至少一個所述第二編碼字段。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述音訊獲取子模組包括採集單元和降取樣處理單元,所述採集單元被配置為採集初始音訊信號;所述降取樣處理單元被配置為對所述初始音訊信號進行降取樣處理以得到所述第一音訊信號。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述音訊獲取子模組包括採集單元和濾波單元,所述採集單元被配置為採集初始音訊信號;所述濾波單元被配置為對所述初始音訊信號進行濾波處理以得到所述第一音訊信號。
例如,在本公開至少一個實施例提供的音訊處理裝置中,所述第二音訊信號的相位與所述第三音訊信號的相位相反。
本公開至少一個實施例還提供一種音訊處理裝置,包括:一個或多個記憶體,非暫態性地儲存有電腦可執行指令;一個或多個處理器,配置為運行所述電腦可執行指令,其中,所述電腦可執行指令被所述一個或多個處理器運行時實現根據本公開任一個實施例所述的音訊處理方法。
本公開至少一個實施例還提供一種非暫態性電腦可讀儲存媒體,其中,所述非暫態性電腦可讀儲存媒體存儲有電腦可執行指令,所述電腦可執行指令被處理器執行時實現根據本公開任一個實施例所述的音訊處理方法。
根據本公開的任一實施例提供的音訊處理方法、音訊處理裝置和非暫態性電腦可讀儲存媒體,通過學習當前音訊信號(即,第一音訊信號)的特徵,產生未來音訊信號的反相音訊信號(即,第二音訊信號)以抑制未來音訊信號(即,第三音訊信號),避免由於輸入端和輸出端之間的延遲導致的反相音訊信號和需要抑制的音訊信號不同步的問題,提升消音效果,可大幅降低或甚至消除輸入端對輸出端的延遲對消音的影響,抑制音訊的效果比業界常用的落後式的主動消音系統的抑制音訊的效果更好。
為了使得本公開實施例的目的、技術方案和優點更加清楚,下面將結合本公開實施例的附圖,對本公開實施例的技術方案進行清楚、完整地描述。顯然,所描述的實施例是本公開的一部分實施例,而不是全部的實施例。基於所描述的本公開的實施例,本領域普通技術人員在無需創造性勞動的前提下所獲得的所有其他實施例,都屬於本公開保護的範圍。
除非另外定義,本公開使用的技術術語或者科學術語應當為本公開所屬領域內具有一般技能的人士所理解的通常意義。本公開中使用的“第一”、“第二”以及類似的詞語並不表示任何順序、數量或者重要性,而只是用來區分不同的組成部分。“包括”或者“包含”等類似的詞語意指出現該詞前面的元件或者物件涵蓋出現在該詞後面列舉的元件或者物件及其等同,而不排除其他元件或者物件。“連接”或者“相連”等類似的詞語並非限定於物理的或者機械的連接,而是可以包括電性的連接,不管是直接的還是間接的。
為了保持本公開實施例的以下說明清楚且簡明,本公開省略了部分已知功能和已知部件的詳細說明。
本公開至少一個實施例提供一種音訊處理方法。該音訊處理方法包括:基於第一音訊信號,生成控制指令;基於控制指令,生成第二音訊信號;輸出第二音訊信號,以抑制第三音訊信號。第二音訊信號的相位與第三音訊信號的相位之和小於相位閾值,第一音訊信號出現的時間早於第三音訊信號出現的時間。
在本公開的實施例提供的音訊處理方法中,通過學習當前音訊信號(即,第一音訊信號)的特徵,產生未來音訊信號的反相音訊信號(即,第二音訊信號)以抑制未來音訊信號(即,第三音訊信號),避免由於輸入端和輸出端之間的延遲導致的反相音訊信號和需要抑制的音訊信號不同步的問題,提升消音效果,可大幅降低或甚至消除輸入端對輸出端的延遲對消音的影響,抑制音訊的效果比業界常用的落後式的主動消音系統的抑制音訊的效果更好。
本公開的實施例還提供一種音訊處理裝置和非暫態性電腦可讀儲存媒體。該音訊處理方法可應用於本公開實施例提供的音訊處理裝置,該音訊處理裝置可被配置於電子設備上。該電子設備可以是個人電腦、移動終端、汽車頭枕等,該移動終端可以是手機、耳機、平板電腦等硬體設備。
下面結合附圖對本公開的實施例進行詳細說明,但是本公開並不限於這些具體的實施例。
第1圖為本公開至少一個實施例提供的一種音訊處理系統的示意性框圖,第2A圖為本公開至少一個實施例提供的一種音訊處理方法的示意性流程圖,第2B圖為第2A圖所示的步驟S10的示意性流程圖,第2C圖為第2B圖所示的步驟S102的示意性流程圖,第3圖為本公開至少一個實施例提供的一種第一音訊信號和第三音訊信號的示意圖。
第1圖所示的音訊處理系統可以用於實現本公開任一實施例提供的音訊處理方法,例如,第2A圖所示的音訊處理方法。如第1圖所示,音訊處理系統可以包括音訊接收部分、音訊處理部分和音訊輸出部分。音訊接收部分可以接收聲音源在時刻tt1發出的音訊信號Sn1,然後將音訊信號Sn1傳輸至音訊處理部分,音訊處理部分對音訊信號Sn1進行處理,以預測得到未來音訊信號Sn3的反相音訊信號Sn2;然後該反相音訊信號Sn2通過音訊輸出部分輸出。反相音訊信號Sn2可以用於抑制聲音源在晚於時刻tt1的時刻tt2產生的未來音訊信號Sn3。例如,目標對象(例如,人的耳朵等)可以同時接收到反相音訊信號Sn2和未來音訊信號Sn3,以使得反相音訊信號Sn2和未來音訊信號Sn3可以進行破壞性疊加,從而實現消音。
例如,音訊接收部分可以包括麥克風、放大器(例如,麥克風放大器)、類比數位轉換器(analog to digital converter,ADC)、降取樣器(downsampler)等,音訊處理部分可以包括AI引擎和/或數位訊號處理器(Digital Signal Processing,DSP)等,音訊輸出部分可以包括升取樣器(Upsampler)、數位類比轉換器(digital to analog converter,DAC)、放大器(例如,揚聲器放大器)以及揚聲器等。
如第2A圖所示,本公開的一個實施例提供的音訊處理方法包括步驟S10至S12。在步驟S10,基於第一音訊信號,生成控制指令;在步驟S11,基於控制指令,生成第二音訊信號;在步驟S12,輸出第二音訊信號,以抑制第三音訊信號。
例如,第一音訊信號可以為第1圖所示的音訊信號Sn1,第二音訊信號可以為第1圖所示的反相音訊信號Sn2,第三音訊信號可以為第1圖所示的未來音訊信號Sn3。
例如,音訊接收部分可以接收第一音訊信號;音訊處理部分可以對第一音訊信號進行處理以生成控制指令,並基於控制指令生成第二音訊信號;音訊輸出部分可以輸出第二音訊信號,從而實現抑制第三音訊信號。
例如,第一音訊信號出現的時間早於第三音訊信號出現的時間。如第3圖所示,第一音訊信號開始出現的時刻為t11,第三音訊信號開始出現的時刻為t21,在時間軸t上,時刻t11早於時刻t21。例如,第一音訊信號存在的時間段可以為時刻t11到時刻t12之間的時間段,第三音訊信號存在的時間段為時刻t21到時刻t22之間的時間段。考慮到信號處理過程的時間等因素,時刻t12和時刻t21可以不是同一時刻,時刻t12早於時刻t21。
需要說明的是,在本公開的實施例中,“音訊信號存在的時間段或出現的時間”表示該音訊信號對應的音訊存在的時間段或出現的時間。
例如,第二音訊信號的相位與第三音訊信號的相位之和小於相位閾值,相位閾值可以根據實際情況設置,本公開對此不作具體限制。例如,在一些實施例中,第二音訊信號的相位與第三音訊信號的相位相反,從而可以實現完全消音,即完全抑制第三音訊信號,此時,當第二音訊信號和第三音訊信號由音訊採集裝置(例如,麥克風等)接收時,音訊採集裝置所接收到的音訊信號的誤差能量為0;若第二音訊信號和第三音訊信號被人耳接收,相當於人沒有聽到聲音。
例如,在一些實施例中,第一音訊信號可以為時刻t11到時刻t12之間的最大聲量(振幅最大)的時域音訊信號,第一音訊信號不是特定頻率的音訊信號,從而本公開的實施例提供的音訊處理方法不需要從音訊信號中提取頻譜特徵來產生頻譜圖,由此可以簡化音訊信號的處理過程,節省處理時間。
例如,第一音訊信號和第三音訊信號可以為外界環境、機器等產生的音訊信號,機器運轉的聲音、裝修過程的電鑽聲和電鋸聲等。例如,機器可以包括家用電器(空調、抽油煙機、洗衣機等)等。
例如,在一些實施例中,如第2B圖所示,步驟S10可以包括步驟S101~步驟103,在步驟S101中,獲取第一音訊信號;在步驟S102中,對第一音訊信號進行處理以預測得到第四音訊信號;在步驟S103中,基於第四音訊信號,生成控制指令。在本公開的實施例提供的音訊處理方法中,通過學習當前音訊信號(即第一音訊信號)的特徵,預測得到音訊信號(即第四音訊信號)。
例如,第四音訊信號是預測得到的未來的音訊信號,例如,在時間軸上,第四音訊信號存在的時間段落後於第一音訊信號存在的時間段,例如,第四音訊信號存在的時間段與第三音訊信號存在的時間段相同,從而第四音訊信號存在的時間段也可以為第3圖所示的時刻t21到時刻t22之間的時間段。
第4圖為本公開至少一個實施例提供的一種第三音訊信號和第四音訊信號的示意圖。在第4圖所示的示例中,橫軸表示時間(Time),縱軸表示幅度(Amplitude),幅度可以表示為電壓值。如第4圖所示,在一個實施例中,預測得到的第四音訊信號與第三音訊信號大致相同。
例如,在一實施例中,第三音訊信號和第四音訊信號可以完全相同,此時,基於第四音訊信號最終生成的第二音訊信號的相位與第三音訊信號的相位相反,從而實現完全消音。
例如,在步驟S102中,對第一音訊信號進行處理以預測第四音訊信號可以包括通過神經網路對第一音訊信號進行處理以預測得到第四音訊信號。
例如,神經網路可以包括遞歸神經網路、長短期記憶網路或生成對抗網路等。在本公開的實施例中,可以基於人工智慧學習音訊信號的特徵,從而預測尚未發生的未來某個時間段的音訊信號,據此產生未來的該時間段的反相音訊信號,用以抑制該時間段的音訊信號。
例如,在一些實施例中,如第2C圖所示,步驟S102可以包括步驟S1021~步驟1023,在步驟S1021中,基於第一音訊信號生成第一音訊特徵編碼;在步驟S1022中,基於第一音訊特徵編碼查詢查找表,以得到第二音訊特徵編碼;在步驟S1023中,基於第二音訊特徵編碼,預測得到第四音訊信號。
例如,第一音訊信號可以為類比信號,可以通過類比數位轉換器對第一音訊信號進行處理,以得到處理後的第一音訊信號,處理後的第一音訊信號為數位信號,基於該處理後的第一音訊信號可以生成第一音訊特徵編碼。
又例如,第一音訊信號可以為數位信號,例如,PDM(Pulse-density-modulation,脈衝密度調變)信號,此時,可以直接基於第一音訊信號生成第一音訊特徵編碼。PDM信號可以採用二進位數字0和1表示。
例如,可以採用任何合適的編碼方式實現第一音訊特徵編碼。例如,在一些實施例中,在表示一個音訊信號時,可以採用音訊信號的變化狀態來描述該音訊信號,可以採用多位元(multi-bits)來表示一個音訊信號的變化狀態。例如,可以採用兩位元(2bits)表示音訊信號的變化狀態,在一些示例中,如下述表格1所示,00表示音訊信號變大,01表示音訊信號變小,10表示沒有音訊信號,11表示音訊信號不變。
位元 音訊信號的變化狀態
00 音訊信號變大
01 音訊信號變小
10 沒有音訊信號
11 音訊信號不變
表1
“音訊信號變大”表示單位時間段(每個時間步(time step))中的音訊信號的振幅隨著時間變大,“音訊信號變小”表示單位時間段中的音訊信號的振幅隨著時間變小,“音訊信號不變”表示單位時間段中的音訊信號的振幅隨著時間不變,“沒有音訊信號”表示在單位時間段中沒有音訊信號,即音訊信號的振幅為0。
第5A圖為本公開一些實施例提供的一種音訊信號的示意圖,第5B圖為第5A圖中的虛線矩形框P1中的音訊信號的放大示意圖。
在第5A圖中,橫坐標為時間(ms,毫秒),縱坐標為音訊信號的振幅(volts,伏特)。如第5A圖所示,音訊信號V是週期性變化的信號,音訊信號V的週期性的模式(pattern)為虛線矩形框P2所示的模式。
如第5B圖所示,波形段30所表示的音訊信號的振幅隨著時間t不變,波形段30對應的時間為一個單位時間段,則波形段30可以表示為音訊特徵編碼(11);類似地,波形段31所表示的音訊信號的振幅隨著時間t逐漸變大,波形段31對應的時間為四個單位時間段,則波形段31可以表示為音訊特徵編碼(00,00,00,00);波形段32所表示的音訊信號的振幅隨著時間t不變,波形段32對應的時間為一個單位時間段,波形段32可以表示為音訊特徵編碼(11);波形段33所表示的音訊信號的振幅隨著時間t逐漸變小,波形段33對應的時間為六個單位時間段,則波形段33可以表示為音訊特徵編碼(01,01,01,01,01,01);波形段34所表示的音訊信號的振幅隨著時間t不變,波形段34對應的時間為一個單位時間段,則波形段34可以表示為音訊特徵編碼(11);波形段35所表示的音訊信號的振幅隨著時間t逐漸變大,波形段35對應的時間為八個單位時間段,則波形段35可以表示為音訊特徵編碼(00,00,00,00,00,00,00,00);以此類推,波形段36可以表示為音訊特徵編碼(01,01,01,01,01,01,01,01,01,01,01,01),波形段37可以表示為音訊特徵編碼(11),波形段38可以表示為音訊特徵編碼(00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00)。因此,第5B圖所示的音訊信號對應的音訊特徵編碼可以表示為{11,00,00,00,00,11,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,…}。
例如,在一些實施例中,查找表(codebook)包括至少一個第一編碼字段。例如,在另一些實施例中,查找表還包括至少一個第二編碼字段,多個第一編碼字段組成一個第二編碼字段,從而可以實現從低級特徵組合而形成降維的高階特徵。例如,查找表中的編碼字段(codeword,例如,codeword可以包括第一編碼字段和第二編碼字段)的編碼方式可以與上述第一音訊特徵編碼的編碼方式相同。
例如,在一些實施例中,當採用兩位元表示音訊信號的變化狀態,從而實現特徵編碼時,第一編碼字段可以為00、01、10和11之一。可以由00、01、10和11進行組合以構成第二編碼字段。例如,一個第二編碼字段可以表示為{00,00,00,01,01,01,11,11,01,…},其由00、01和11組合構成。
例如,當查找表包括多個第二編碼字段時,多個第二編碼字段分別包括的第一編碼字段的數量可以各不相同。
需要說明的是,當採用更多位元(例如,3位元、4位元等)表示音訊信號的變化狀態,從而實現特徵編碼時,第一編碼字段的種類可以更多,例如,當採用3位元表示音訊信號的變化狀態時,第一編碼字段的種類最多可以為8種,此時,第一編碼字段可以為000、001、010、011,100、101、110和111中的部分或全部。
例如,一個或多個第二編碼字段還可以進行組合以得到第三編碼字段,或一個或多個第二編碼字段以及一個或多個第一編碼字段可以進行組合以得到第三編碼字段,類似地,一個或多個第三編碼字段可以進行組合或一個或多個第三編碼字段與第一編碼字段和/或第二編碼字段可以進行組合,以得到更高階的編碼字段。在本公開的實施例中,低階的特徵編碼可以進行組合以得到高階的特徵編碼,從而實現更高效且更長時間的預測。
例如,第二音訊特徵編碼包括至少一個第一編碼字段和/或至少一個第二編碼字段。例如,在一些實施例中,第二音訊特徵編碼可以包括完整的一個或多個第二編碼字段,或者,第二音訊特徵編碼可以包括一個第二編碼字段中的部分第一編碼字段。
需要說明的是,當查找表中包括第三編碼字段時,第二音訊特徵編碼可以包括至少一個第一編碼字段和/或至少一個第二編碼字段和/或至少一個第三編碼字段。
例如,在一實施例中,查找表包括第二編碼字段W1、第二編碼字段W2和第二編碼字段W3,且W1={11,00,00,00,00,11,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,….},W2={11,01,00,00,01,01,01,01,01,01,01,….},W3={11,00,01,00,00,01,01,01,11,00,00,00,01,01,01,01,01,01,01,01,01,….}。
在一個實施例中,如第5B圖所示,從時刻t31開始,音訊採集裝置持續採集第一音訊信號,當音訊採集裝置採集到的第一音訊信號對應的第一個特徵編碼字段表示為{11},對應於波形段30,則基於查找表進行查詢,以確定查找表中是否存在某個編碼字段(包括第一編碼字段和第二編碼字段)包括{11},在上述示例中,查詢到查找表中的第二編碼字段W1、第二編碼字段W2和第二編碼字段W3均包括{11},此時,第二編碼字段W1、第二編碼字段W2和第二編碼字段W3均作為待輸出編碼字段清單中的待輸出編碼字段。
然後,如第5B圖所示,當音訊採集裝置採集到的第一音訊信號對應的第二個特徵編碼字段表示為{00},對應於波形段31中的第一個單位時間段,繼續對查找表進行查詢(此時可以僅對待輸出編碼字段列中的待輸出編碼字段進行查詢,從而可以節省查詢時間,然而,也可以對整個查找表進行查詢),以確定查找表中是否存在某個編碼字段包括{11,00},在上述示例中,查詢到查找表中的第二編碼字段W1和第二編碼字段W3均包括{11,00},由於第二編碼字段W2包括{11,01},而不包括{11,00},從而不滿足音訊採集裝置採集到的第一音訊信號的特徵,因此,可以將第二編碼字段W2從待輸出編碼字段清單中刪除,此時,第二編碼字段W1和第二編碼字段W3作為待輸出編碼字段清單中的待輸出編碼字段。
然後,當音訊採集裝置採集到的第一音訊信號對應的第三個特徵編碼字段表示為{00},對應於波形段31中的第二個單位時間段,繼續對查找表進行查詢,以確定查找表中是否存在某個編碼字段包括{11,00,00},在上述示例中,查詢到查找表中的第二編碼字段W1包括{11,00,00}。那麼,可以預測接下來的音訊信號應該就是第二編碼字段W1這個模式。對於第二編碼字段W1中的前三個編碼字段{11,00,00},由於其在時間上,其對應的音訊信號已經過去,從而可以輸出從第二編碼字段W1中的第四個字段(即{00})開始的所有後續編碼字段作為預測得到的第二音訊編碼特徵,此時,第二音訊特徵編碼表示為{00,00,11,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,…….}。
需要說明的是,在實際應用中,當匹配多少個特徵編碼字段才確定第二音訊特徵編碼可以根據實際應用場景、設計需求等因素調整,例如,在上述示例中,當匹配3個(在實際應用中,可以匹配10、20、50個等)特徵編碼字段,則可以確定第二音訊特徵編碼。
例如,在上述示例中,第一音訊信號對應的第一音訊特徵編碼包括3個特徵編碼字段,且表示為{11,00,00},如第5B圖所示,第一音訊信號對應的時間段為時刻t31至時刻t32。當考慮到系統處理信號的時間等因素,實際上系統需要在時刻t33才能輸出第二音訊信號,時刻t33晚於時刻t32,此時,第二音訊特徵編碼中的前兩個特徵編碼字段{00,00}對應的時間段(即時刻t32至時刻t33之間的時間段)已經過去,從而實際上預測得到的第四音訊信號對應的音訊特徵編碼表示為{11,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,….}。
例如,若第三音訊信號和第四音訊信號完全相同,則第三音訊信號對應的音訊特徵編碼也表示為{11,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,….}。
例如,第二音訊信號為對第四音訊信號進行反相處理得到的信號,即第二音訊信號可以為{11,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,11,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,….}這個模式的反相音訊信號。
例如,在一些實施例中,第二音訊信號的時間長度、第三音訊信號的時間長度和第四音訊信號的時間長度是大致相同的,例如,完全相同。
例如,在一些實施例中,可以針對查找表中的至少部分第一編碼字段和/或第二編碼字段設置前導特徵編碼字段,例如,可以為第二編碼字段W1設置前導特徵編碼{11,00,00},當檢測到該前導特徵編碼字段,則將第二編碼字段W1輸出作為第二音訊特徵編碼。在此情況下,當檢測到第一音訊信號對應的第一音訊特徵編碼為{11,00,00},該第一音訊信號對應的第一音訊特徵編碼與前導特徵編碼字段{11,00,00}匹配,從而可以將第二編碼字段W1輸出作為第二音訊特徵編碼。
又例如,可以為第二編碼字段W1設置前導特徵編碼字段{11,00,00,01,01},當檢測到該前導特徵編碼字段中的部分字段,則將第二編碼字段W1和該前導特徵編碼字段中的剩餘字段輸出作為第二音訊特徵編碼,在此情況下,當檢測到第一音訊信號對應的第一音訊特徵編碼為{11,00,00},該第一音訊信號對應的第一音訊特徵編碼與前導特徵編碼字段中的前三個字段{11,00,00}匹配,從而可以將前導特徵編碼字段中的剩餘字段{01,01}和第二編碼字段W1輸出作為第二音訊特徵編碼。此時,第二音訊特徵編碼中的前兩個特徵編碼字段{01,01}(即前導特徵編碼字段中的剩餘字段)對應的時間可以為系統處理信號的時間,從而實際上預測得到的第四音訊信號對應的音訊特徵編碼可以為完整的第二編碼字段W1。
需要說明的是,前導特徵編碼字段的長度可以根據實際情況調整,本公開對此不作限制。
值得注意的是,對於查找表而言,當用於儲存查找表的記憶體足夠大,查找表儲存的內容夠豐富(即查找表中的編碼字段的組合夠多),則可消除用戶想要消除的所有類型的音訊信號。而對於神經網路而言,當用於訓練神經網路的樣本足夠豐富,樣本的類型足夠豐富,則也可以基於神經網路預測得到使用者想要消除的任何類型的音訊信號。
例如,查找表可以以表格等形式儲存在記憶體中,本公開的實施例對查找表的具體形式不作限制。
例如,通過查找表的方式可以實現神經網路中的預測。
例如,第二音訊信號和/或第三音訊信號和/或第四音訊信號是週期性的或間歇性的時域信號,第二音訊信號和/或第三音訊信號和/或第四音訊信號的信號特徵是週期性或間歇性的時域振幅變化,即第二音訊信號和/或第三音訊信號和/或第四音訊信號具有連續重複、間歇重複的特質,具有固定的模式。對於間歇性的音訊信號,由於在該間歇性的音訊信號的停歇期間不存在音訊信號,因此在停歇期間沒有頻譜特徵可供提取,而停歇期間卻可以成為該間歇性的音訊信號的時域特徵之一。
例如,在一些實施例中,步驟S101可以包括:採集初始音訊信號;對初始音訊信號進行降取樣處理(downsampling)以得到第一音訊信號。
由於音訊採集裝置採集得到的初始音訊信號的取樣速率(sample rate)較高,不利於後端的音訊信號處理裝置(例如,人工智慧引擎(AI(Artificial Intelligence) Engine)、數位訊號處理器(Digital Signal Processing,簡稱DSP)等的處理,因此,可以對初始音訊信號進行降取樣處理以實現降頻,便於音訊信號處理裝置處理,例如可以降頻至48K赫茲甚至更低。
例如,在另一些實施例中,步驟S101可以包括:採集初始音訊信號;對初始音訊信號進行濾波處理以得到第一音訊信號。
在一些應用場景下,太安靜並不安全,因此,還可以通過頻寬控制器(Bandwidth controller)進行濾波處理,以針對特定頻率範圍內的音訊信號進行抑制。針對連續性及間歇性的音訊信號(例如,敲擊或滴水噪音等),將第一音訊信號的有效頻寬設定在該需要被抑制的音訊信號對應的頻率範圍,例如,1K~6K赫茲,從而確保使用者還能聽到較為重要的聲音,例如,當應用在汽車領域時,必須確保駕駛員能夠聽到喇叭聲等,以提升駕駛安全性。
例如,在一些實施例中,濾波處理和降取樣處理還可以結合使用,本公開對濾波處理和降取樣處理的處理順序不作限制。例如,在一些實施例中,獲取第一音訊信號可以包括:採集初始音訊信號;對初始音訊信號進行濾波處理以得到預定頻率範圍內的音訊信號;對在預定頻率範圍內的音訊信號進行降取樣處理以得到第一音訊信號;或者,獲取第一音訊信號可以包括:採集初始音訊信號;對初始音訊信號進行降取樣處理;對降取樣處理後的音訊信號進行濾波處理以得到第一音訊信號。
例如,控制指令可以包括第二音訊信號輸出的時刻、第四音訊信號和指示對第四音訊信號進行反相的控制信號等。
例如,在一些實施例中,步驟S11可以包括:基於控制指令,確定第四音訊信號和指示對第四音訊信號進行反相的控制信號;基於該控制信號,對該第四音訊信號進行反相處理,以生成第二音訊信號。
例如,在一些實施例中,步驟S12可以包括:基於控制指令,確定輸出第二音訊信號的第一時刻;在第一時刻輸出第二音訊信號。
例如,第三音訊信號從第二時刻開始出現,第一時刻和第二時刻之間的時間差的絕對值小於時間閾值。需要說明的是,時間閾值可以根據實際情況具體設置,本公開對此不作限制,時間閾值越小,則消音效果越好。
例如,在一些實施例中,第一時刻和第二時刻之間的時間差為0,即第二音訊信號的開始輸出的時刻和第三音訊信號開始出現的時刻相同,在第3圖所示的示例中,第二音訊信號的開始輸出的時刻和第三音訊信號開始出現的時刻均為時刻t21。
例如,第一時刻和第二時刻之間的時間差可以根據實際情況設置,例如,可以設置第一時刻和第二時刻以保證第二音訊信號和第三音訊信號同時被傳輸至目標對象,從而避免音訊信號的傳輸而導致第二音訊信號和第三音訊信號不同步的問題,進一步提升消音效果。例如,目標對象可以為人的耳朵、麥克風等。
例如,第二音訊信號可以通過揚聲器等可以將電信號轉換為聲音信號進行輸出的裝置進行輸出。
需要說明的是,當音訊採集裝置沒有採集到音訊信號,則可以不執行本公開提供的音訊處理方法,直到音訊採集裝置採集到音訊信號為止,從而可以節省功耗。
在本公開的實施例中,音訊處理方法可以將環境音訊信號中的週期性的音訊信號(例如,雜訊)降低或消除,例如,在圖書館這樣的應用場景中,消除旁邊建築工地施工的聲音等。這類的場景不需要特別知道想留下來的音訊信號,單純的降低需要消除的環境中的目標待消音聲音,而這些目標待消音聲音通常具有連續重複、間歇重複的特質,因此可以通過預測方式預測得到。需要說明的是,“目標待消音聲音”可以根據實際情況確定,例如,對於圖書館這樣的應用場景,當圖書館周圍具有建築工地時,外界環境音訊信號可以包括兩種音訊信號,第一種音訊信號可以為工地鑽地聲,第二種音訊信號可以為周圍人的討論聲。通常,工地鑽地聲具有週期性的特點,且通常具有固定的模式,而討論聲高機率不具固定模式,也不具有週期性的特點,此時,目標待消音聲音則為工地鑽地聲,通過本公開的實施例提供的音訊處理方法,則可以實現對工地鑽地聲的預測,從而消除或降低工地鑽地聲。
本公開的實施例提供的音訊處理方法可以應用於汽車駕駛頭枕,從而在駕駛員的耳朵附近創造靜音區,避免外界非必要的音訊信號(例如,發動機噪音、路噪、風噪和胎噪等汽車行駛過程中的雜訊信號)對駕駛員產生干擾。又例如,該音訊處理方法還可以應用於吹風機、排油煙機、吸塵器、非變頻式空調等設備中,以降低這些設備發出的運轉聲音,使得用戶可以待在吵雜的環境,而不受到周圍環境雜訊的影響。該音訊處理方法還可以應用於耳機等,以降低或消除外界聲音,使得用戶可以更好地接收耳機發出的聲音(音樂聲或通話聲等)。
本公開至少一個實施例還提供一種音訊處理裝置。第6圖為本公開至少一個實施例提供的一種音訊處理裝置的示意性框圖。
如第6圖所示,音訊處理裝置600包括指令生成模組601、音訊生成模組602和輸出模組603。第6圖所示的音訊處理裝置600的元件和結構只是示例性的,而非限制性的,根據需要,該音訊處理裝置600還可以包括其他元件和結構。
指令生成模組601被配置為基於第一音訊信號,生成控制指令。指令生成模組601用於執行第2A圖所示的步驟S10。
音訊生成模組602被配置為基於控制指令,生成第二音訊信號。音訊生成模組602用於執行第2A圖所示的步驟S11。
輸出模組603被配置為輸出第二音訊信號,以抑制第三音訊信號。輸出模組603用於執行第2A圖所示的步驟S12。
關於指令生成模組601所實現的功能的具體說明可以參考上述音訊處理方法的實施例中的第2A圖所示的步驟S10的相關描述,關於音訊生成模組602所實現的功能的具體說明可以參考上述音訊處理方法的實施例中的第2A圖所示的步驟S11的相關描述,關於輸出模組603所實現的功能的具體說明可以參考上述音訊處理方法的實施例中的第2A圖所示的步驟S12的相關描述。音訊處理裝置可以實現與前述音訊處理方法相似或相同的技術效果,在此不再贅述。
例如,第一音訊信號出現的時間早於第三音訊信號出現的時間。
例如,第二音訊信號的相位與第三音訊信號的相位之和小於相位閾值,在一些實施例中,第二音訊信號的相位與第三音訊信號的相位相反,從而可以完全抑制第三音訊信號。
例如,在一些實施例中,指令生成模組601可以包括音訊獲取子模組、預測子模組和生成子模組。音訊獲取子模組被配置為獲取第一音訊信號;預測子模組被配置為對第一音訊信號進行處理以預測得到第四音訊信號;生成子模組被配置為基於第四音訊信號,生成控制指令。
例如,第二音訊信號和/或第三音訊信號和/或第四音訊信號是週期性的或間歇性的時域信號。
例如,第三音訊信號和第四音訊信號可以完全相同。
例如,在一些實施例中,預測子模組可以基於神經網路對第一音訊信號進行處理以預測得到第四音訊信號。例如,預測子模組可以包括第1圖所示的音訊處理部分中的AI引擎和/或數位訊號處理器等,AI引擎可以包括神經網路,例如,AI引擎可以包括遞歸神經網路、長短期記憶網路或生成對抗網路等中的至少一個神經網路。
例如,在一些實施中,預測子模組包括查詢單元和預測單元。查詢單元被配置為基於第一音訊信號生成第一音訊特徵編碼以及基於第一音訊特徵編碼查詢查找表,以得到第二音訊特徵編碼。預測單元被配置為基於第二音訊特徵編碼,預測得到第四音訊信號。
例如,查詢單元可以包括記憶體以用於儲存查找表。
例如,在一些實施例中,查找表可以包括至少一個第一編碼字段。例如,在另一些實施例中,查找表還包括至少一個第二編碼字段,多個第一編碼字段組成一個第二編碼字段。關於查找表的具體內容可以參考上述音訊處理方法的實施例中的相關描述,重複之處不再贅述。
例如,第二音訊特徵編碼包括至少一個第一編碼字段和/或至少一個第二編碼字段。
例如,在一些實施例中,音訊獲取子模組包括採集單元和降取樣處理單元。採集單元被配置為採集初始音訊信號;降取樣處理單元被配置為對初始音訊信號進行降取樣處理以得到第一音訊信號。
例如,在一些實施例中,音訊獲取子模組包括採集單元和濾波單元,採集單元被配置為採集初始音訊信號;濾波單元被配置為對初始音訊信號進行濾波處理以得到第一音訊信號。
例如,音訊獲取子模組可以實現為第1圖所示的音訊接收部分。例如,採集單元可以包括音訊採集裝置,例如,第1圖所示的音訊接收部分中的麥克風等。例如,採集單元還可以包括放大器、類比數位轉換器等。
例如,在一些實施例中,輸出模組603可以包括時刻確定子模組和輸出子模組。時刻確定子模組被配置為基於控制指令,確定輸出第二音訊信號的第一時刻;輸出子模組被配置為在第一時刻輸出第二音訊信號。
例如,輸出模組603可以實現為第1圖所示的音訊輸出部分。
例如,第三音訊信號從第二時刻開始出現,第一時刻和第二時刻之間的時間差的絕對值小於時間閾值。
例如,第一時刻和所述第二時刻之間的時間差可以為0。
例如,輸出子模組可以包括揚聲器等音訊輸出裝置。例如,輸出子模組還可以包括數位類比轉換器等。
例如,指令生成模組601、音訊生成模組602和/或輸出模組603可以為硬體、軟體、韌體以及它們的任意可行的組合。例如,指令生成模組601、音訊生成模組602和/或輸出模組603可以為專用或通用的電路、晶片或裝置等,也可以為處理器和記憶體的結合。本公開的實施例不對上述各個模組、子模組和單元的具體實現形式進行限制。
本公開至少一個實施例還提供一種音訊處理裝置,第7圖為本公開至少一個實施例提供的另一種音訊處理裝置的示意性框圖。
例如,如第7圖所示,音訊處理裝置700包括一個或多個記憶體701和一個或多個處理器702。一個或多個記憶體701被配置為非暫態性地儲存有電腦可執行指令;一個或多個處理器702配置為運行電腦可執行指令。電腦可執行指令被一個或多個處理器702運行時實現根據上述任一實施例所述的音訊處理方法。關於該音訊處理方法的各個步驟的具體實現以及相關解釋內容可以參見上述音訊處理方法的實施例的描述,在此不做贅述。
例如,在一些實施例中,音訊處理裝置700還可以包括通信介面和通信匯流排。記憶體701、處理器702和通信介面可以通過通信匯流排實現相互通信,記憶體701、處理器6702和通信介面等元件之間也可以通過網路連接進行通信。本公開對網路的類型和功能在此不作限制。
例如,通信匯流排可以是周邊組件互連標準(PCI)匯流排或延伸工業標準架構(EISA)匯流排等。該通信匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。
例如,通信介面用於實現音訊處理裝置700與其他設備之間的通信。通信介面可以為通用序列匯流排(Universal Serial Bus,USB)介面等。
例如,處理器702和記憶體701可以設置在伺服器端(或雲端)。
例如,處理器702可以控制音訊處理裝置700中的其它元件以執行期望的功能。處理器702可以是中央處理器(CPU)、網路處理器(NP)等;還可以是數位訊號處理器(DSP)、專用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件。中央處理元(CPU)可以為X86或ARM架構等。
例如,記憶體701可以包括一個或多個電腦程式產品的任意組合,電腦程式產品可以包括各種形式的電腦可讀儲存媒體,例如揮發性記憶體和/或非揮發性記憶體。揮發性記憶體例如可以包括隨機存取記憶體(RAM)和/或高速緩衝記憶體(cache)等。非揮發性記憶體例如可以包括唯讀記憶體(ROM)、硬碟、可擦除可程式設計唯讀記憶體(EPROM)、可擕式光碟唯讀記憶體(CD-ROM)、USB記憶體、快閃記憶體等。在所述電腦可讀儲存媒體上可以儲存一個或多個電腦可執行指令,處理器702可以運行所述電腦可執行指令,以實現音訊處理裝置700的各種功能。在儲存媒體中還可以儲存各種應用程式和各種資料等。
例如,關於音訊處理裝置700執行音訊處理的過程的詳細說明可以參考音訊處理方法的實施例中的相關描述,重複之處不再贅述。
例如,在一些實施例中,音訊處理裝置700可以通過晶片、小型裝置/設備等形式呈現。
第8圖為本公開至少一個實施例提供的一種非暫態性電腦可讀儲存媒體的示意圖。例如,如第8圖所示,在非暫態性電腦可讀儲存媒體1000上可以非暫時性地儲存一個或多個電腦可執行指令1001。例如,當電腦可執行指令1001由處理器執行時可以執行根據上文所述的音訊處理方法中的一個或多個步驟。
例如,該非暫態性電腦可讀儲存媒體1000可以應用於上述音訊處理裝置700中,例如,其可以包括音訊處理裝置700中的記憶體701。
關於非暫態性電腦可讀儲存媒體1000的說明可以參考第7圖所示的音訊處理裝置600的實施例中對於記憶體701的描述,重複之處不再贅述。
本公開的至少一個實施例提供一種音訊處理方法、音訊處理裝置和非暫態性電腦可讀儲存媒體,通過學習當前音訊信號的特徵,預測得到音訊信號(即第四音訊信號),據此預測得到的音訊信號產生未來音訊信號的反相音訊信號以抑制未來音訊信號,避免由於輸入端和輸出端之間的延遲導致的反相音訊信號和需要抑制的音訊信號不同步的問題,提升消音效果,可大幅降低或甚至消除輸入端對輸出端的延遲對消音的影響,抑制音訊的效果比業界常用的落後式的主動消音系統的抑制音訊的效果更好;由於第一音訊信號為時域信號,第一音訊信號不是特定頻率的音訊信號,從而本公開的實施例提供的音訊處理方法不需要從音訊信號中提取頻譜特徵來產生頻譜圖,由此可以簡化音訊信號的處理過程,節省處理時間;在查找表中,低階的特徵編碼可以進行組合以得到高階的特徵編碼,從而實現更高效率且更長時間的預測;並且在該音訊處理方法中,還可以通過頻寬控制器進行濾波處理,從而實現針對特定頻率範圍內的音訊信號進行抑制,確保使用者還能聽到較為重要的聲音,例如,當應用在汽車領域時,必須確保駕駛員能夠聽到喇叭聲等,以提升駕駛安全性;此外,當沒有採集到音訊信號,則可以不執行本公開提供的音訊處理方法,直到採集到音訊信號為止,從而可以節省功耗。
本公開至少一個實施例提供一種模型訓練方法。該模型訓練方法包括:基於預測模型,對第一音訊信號進行處理以生成第一控制指令;基於第一控制指令,生成與第一控制指令對應的音訊信號作為第二音訊信號;輸出第二音訊信號,以抑制第三音訊信號,其中,第一音訊信號出現的時間早於第三音訊信號出現的時間;基於第二音訊信號和第三音訊信號,確定音訊誤差信號;回應於音訊誤差信號不滿足誤差條件,對預測模型進行調整,基於預測模型再次對第一音訊信號進行處理,直到音訊誤差信號滿足誤差條件;回應於音訊誤差信號滿足誤差條件,保持預測模型不變。
需要說明的是,在下述參照附圖的模型訓練方法描述中,“第一”、“第二”、“第三”等序數詞的限定僅僅是為了區別同一實施例中的多個信號(例如,第一音訊信號、第二音訊信號、第三音訊信號、第四音訊信號),在本公開中,不同實施例中同一序數詞限定的信號(例如,上述音訊處理方法描述中的“第一音訊信號”與模型訓練方法中的“第一音訊信號”)並不必定相同。
在本公開的實施例提供的模型訓練方法中,利用當前音訊信號(即,第一音訊信號)和未來音訊信號(即,第三音訊信號)對預測模型進行即時訓練,提升預測模型輸出的預測結果的準確度,避免基於預測模型輸出的預測結果無法實現對未來音訊信號進行抑制的問題,提升基於預測模型進行消音的效果。
本公開的實施例還提供一種模型訓練裝置和非暫態性電腦可讀儲存媒體。該模型訓練方法可應用於本公開實施例提供的模型訓練裝置,該模型訓練裝置可被配置於電子設備上。該電子設備可以是個人電腦、移動終端、汽車頭枕等,該移動終端可以是手機、耳機、平板電腦等硬體設備。
第9圖為本公開至少一個實施例提供的一種模型訓練系統的示意性框圖,第10A圖為本公開至少一個實施例提供的一種模型訓練方法的示意性流程圖,第10B圖為第10A圖所示的步驟S200的示意性流程圖,第10C圖為第10B圖所示的步驟S2002的示意性流程圖,第11圖為本公開至少一個實施例提供的一種第一音訊信號和第三音訊信號的示意圖。
在本公開的實施例中,可以採用預先訓練的方式和/或現場訓練的方式對預測模型進行訓練,預先訓練的方式表示基於預先得到的訓練集中的訓練音訊樣本對預測模型進行訓練;現場訓練的方式表示基於實際應用場景中採集到音訊信號對預測模型進行訓練。
第9圖所示的模型訓練系統可以用於實現本公開任一實施例提供的模型訓練方法,例如,第10A圖所示的模型訓練方法。第9圖所示的模型訓練系統可以適用於現場訓練的方式,也可以適用於預先訓練的方式。
如第9圖所示,模型訓練系統可以包括音訊獲取部分、誤差計算部分、預測部分和音訊輸出部分。音訊獲取部分可以獲取音訊信號Sn11,然後將音訊信號Sn11傳輸至預測部分;預測部分對音訊信號Sn11進行處理,以預測得到未來音訊信號Sn13的反相音訊信號Sn12。該反相音訊信號Sn12可以通過音訊輸出部分輸出,以抑制未來音訊信號Sn13,例如,目標對象Ta(例如,人的耳朵等)可以同時接收到反相音訊信號Sn12和未來音訊信號Sn13,以使得反相音訊信號Sn12和未來音訊信號Sn13可以進行破壞性疊加。此時,音訊獲取部分還可以採集當前應用場景中的音訊信號,該採集的音訊信號為反相音訊信號Sn12與出現時間晚於音訊信號Sn11的未來音訊信號Sn13進行破壞性疊加之後的疊加結果Sr,例如,當反相音訊信號Sn12能夠用於完全對未來音訊信號Sn13進行消音,那麼該疊加結果Sr可能是靜音信號,即沒有音訊信號。然後,音訊獲取部分可以將該疊加結果Sr傳輸至誤差計算部分;誤差計算部分可以基於該疊加結果Sr生成誤差音訊信號ES。最後,誤差計算部分可以將誤差音訊信號ES傳輸至預測部分,在誤差音訊信號不滿足條件時,預測部分可以回應誤差音訊信號對預測模型進行調整,在誤差音訊信號滿足條件時,預測部分可以不對預測模型進行調整,從而使得預測模型保持不變。
在一實施例中,音訊獲取部分還可以從預測部分獲取反相音訊信號Sn12以及採集當前應用場景中的音訊信號(即第9圖所示的疊加結果Sr)。然後,音訊獲取部分可以將反相音訊信號Sn12和該疊加結果Sr傳輸至誤差計算部分;誤差計算部分可以基於反相音訊信號Sn12和該疊加結果Sr得到未來音訊信號Sn13,並且對反相音訊信號Sn12和未來音訊信號Sn13進行處理,以生成誤差音訊信號ES。
在一實施例中,對於預先訓練的方式,音訊獲取部分還可以從預測部分獲取反相音訊信號Sn12,還可以獲取出現時間晚於音訊信號Sn11的未來音訊信號Sn13,然後,並將反相音訊信號Sn12和未來音訊信號Sn13傳輸至誤差計算部分;誤差計算部分可以對反相音訊信號Sn12和未來音訊信號Sn13進行處理,以生成誤差音訊信號ES。
例如,音訊獲取部分可以包括麥克風、放大器(例如,麥克風放大器)、類比數位轉換器(analog to digital converter,ADC)、降取樣器(downsampler)等,誤差計算部分可以包括處理器等;預測部分可以包括AI引擎和/或數位訊號處理器(Digital Signal Processing,DSP)等,音訊輸出部分可以包括升取樣器(Upsampler)、數位類比轉換器(digital to analog converter,DAC)、放大器(例如,揚聲器放大器)以及揚聲器等。
如第10A圖所示,本公開的一個實施例提供的模型訓練方法包括步驟S200至步驟S207。在步驟S200,基於預測模型,對第一音訊信號進行處理以生成第一控制指令;在步驟S201,基於第一控制指令,生成與第一控制指令對應的音訊信號作為第二音訊信號;在步驟S202,輸出第二音訊信號,以抑制第三音訊信號;在步驟S203,基於第二音訊信號和第三音訊信號,確定音訊誤差信號;在步驟S204,判斷音訊誤差信號是否滿足誤差條件;回應於音訊誤差信號不滿足誤差條件,對應於第10A圖的N分支,則執行步驟S205和步驟S207,在步驟S205,對預測模型進行調整,在步驟S207,基於預測模型再次對第一音訊信號進行處理,直到音訊誤差信號滿足誤差條件;回應於音訊誤差信號滿足誤差條件,對應於第10A圖的Y分支,則執行步驟S206,在步驟S206,保持預測模型不變。
例如,第一音訊信號出現的時間早於第三音訊信號出現的時間,也就是說,相對於第一音訊信號而言,第三音訊信號屬於未來的音訊信號。
例如,第一音訊信號可以為第9圖所示的音訊信號Sn11,第二音訊信號可以為第9圖所示的反相音訊信號Sn12,第三音訊信號可以為第9圖所示的未來音訊信號Sn13。音訊獲取部分可以獲取第一音訊信號;預測部分可以基於預測模型對第一音訊信號進行處理以生成第一控制指令,並基於第一控制指令生成第二音訊信號;然後誤差計算部分可以對第二音訊信號和第三音訊信號進行處理,以得到誤差音訊信號,預測部分可以基於該誤差音訊信號確定是否對預測模型進行調整,從而實現對預測模型進行訓練。
需要說明的是,在本公開的模型訓練方法的實施例中,“第一音訊信號”表示由預測模型進行處理以生成第二音訊信號的一類音訊信號,例如,步驟S200中的第一音訊信號和步驟S207中的第一音訊信號可以不相同;“第二音訊信號”表示生成的用於抑制未來音訊信號的一類音訊信號。“第三音訊信號”表示需要被抑制的一類音訊信號。“第一控制指令”表示預測模型首次對第一音訊信號進行處理得到的控制指令。
例如,在一實施例中,可以採用預先訓練的方式對預測模型進行訓練,訓練集中的每個訓練音訊樣本可以包括第一訓練音訊信號和第二訓練音訊信號,第一訓練音訊信號出現的時間早於第二訓練音訊信號出現的時間,相對於第一訓練音訊信號,第二訓練音訊信號為未來的音訊信號。在預先訓練中,利用訓練集對預測模型進行訓練直到該預測模型對第一訓練音訊信號進行處理得到的預測結果與第二訓練音訊信號相符。訓練音訊樣本中的第一訓練音訊信號即為上述第一音訊信號,訓練音訊樣本中的第二訓練音訊信號即為上述第三音訊信號。
對於預先訓練的方式,因為訓練集中的訓練音訊樣本中的音訊為預先錄音得到的,與真實應用場景中的音訊可能不會完全相同,訓練集中的訓練音訊樣本沒辦法像真實應用場景中的音訊那麼真實,由此可能使得當訓練得到的預測模型應用到實際應用場景中,出現無法消音的問題。因此,在本公開的實施例中,可以進一步採用現場訓練的方式對預測模型進行訓練。在現場訓練的方式中,一開始需要一段時間進行模型訓練,但一段時間後,預測模型的訓練結果會越來越佳。由於通過實際應用場景中的音訊信號進行現場即時訓練,訓練出的預測模型的準確性會比利用訓練集中的訓練音訊樣本訓練得到的預測模型的準確性更高,基於現場訓練的方式得到的預測模型可以更加適用於實際應用場景,避免預測模型無法實現對實際應用場景中的音訊信號進行抑制的問題,提高預測模型對不同應用場景的適應能力,使得預測模型可以適應不同的應用場景,且在不同的應用場景下預測模型的預測準確度均較高,提高實際應用場景中的消音效果。此外,由於可以基於實際應用場景中的音訊信號對預測模型進行訓練,可以降低對用於訓練預測模型的樣本量的需求。
例如,在另一實施例中,可以基於在當前應用場景中即時採集到的音訊信號執行第10A圖所示的模型訓練方法。此時,音訊獲取部分可以採集在當前應用場景中的聲音源從當前時刻開始發出的音訊信號以得到第一音訊信號,音訊獲取部分可以採集聲音源在當前時刻之後的某個時刻開始發出的音訊信號作為第三音訊信號。例如,如第11圖所示,在一個實施例中,在當前應用場景中,音訊信號A開始出現的時刻為t100且存在的時間段可以為時刻t100到時刻t101之間的時間段,音訊信號B開始出現的時刻為t200且存在的時間段可以為時刻t200到時刻t201之間的時間段,音訊信號C開始出現的時刻為t300且存在的時間段可以為時刻t300到時刻t301之間的時間段,音訊信號D開始出現的時刻為t400且存在的時間段可以為時刻t400到時刻t401之間的時間段。在時間軸t上,時刻t101早於時刻t200,時刻t201早於時刻t300,時刻t301早於時刻t400。如第11圖所示,若當前時刻為t100,音訊獲取部分可以採集音訊信號A以作為第一音訊信號,音訊獲取部分可以採集音訊信號B以作為第三音訊信號。
需要說明的是,預先訓練的方式和現場訓練的方式可以結合以實現對預測模型進行訓練。例如,可以採用預先訓練的方式對預測模型進行預訓練,然後在將預訓練後的預測模型應用到實際應用場景中,再採用現場訓練的方式繼續對預測模型進行訓練,從而可以節省模型在實際應用場景中的現場訓練的時間。
在下面的描述中,除非特別說明,以第一音訊信號和第三音訊信號為在當前實際應用場景中採集到的音訊信號為例進行描述。
例如,第一音訊信號和第三音訊信號可以為當前實際應用場景中的外界環境、機器等產生的音訊信號,機器運轉的聲音、裝修過程的電鑽聲和電鋸聲等。例如,機器可以包括家用電器(空調、抽油煙機、洗衣機等)等。
例如,在一些實施例中,第一音訊信號可以為第一音訊信號存在的時間段內在當前實際應用場景中的最大聲量(振幅最大)的時域音訊信號,第一音訊信號不是特定頻率的音訊信號,從而本公開的實施例提供的模型訓練方法不需要從音訊信號中提取頻譜特徵來產生頻譜圖,由此可以簡化音訊信號的處理過程,節省處理時間。
例如,在一些實施例中,如第10B圖所示,步驟S200可以包括步驟S2001~步驟S2003,在步驟S2001中,獲取第一音訊信號;在步驟S2002中,基於預測模型對第一音訊信號進行處理以預測得到第四音訊信號;在步驟S2003中,基於第四音訊信號,生成第一控制指令。在本公開的實施例提供的模型訓練方法中,預測模型可以學習當前音訊信號(即第一音訊信號)的特徵,以預測得到音訊信號(即第四音訊信號)。
例如,第四音訊信號是預測得到的未來的音訊信號。例如,在時間軸上,第四音訊信號存在的時間段落後於第一音訊信號存在的時間段。例如,第四音訊信號存在的時間段與第三音訊信號存在的時間段相同。
例如,在一些實施例中,步驟S2001可以包括:採集初始音訊信號;對初始音訊信號進行降取樣處理以得到第一音訊信號。
例如,在另一些實施例中,步驟S2001可以包括:採集初始音訊信號;對初始音訊信號進行濾波處理以得到第一音訊信號。
例如,在一些實施例中,濾波處理和降取樣處理還可以結合使用,即可以對初始音訊信號進行濾波處理和降取樣處理以得到第一音訊信號,本公開對濾波處理和降取樣處理的處理順序不作限制。
例如,在一實施例中,預測模型包括查找表,如第10C圖所示,步驟S2002可以包括步驟S2012~步驟S2032,在步驟S2012中,基於第一音訊信號生成第一音訊特徵編碼;在步驟S2022中,基於第一音訊特徵編碼查詢查找表,以得到第二音訊特徵編碼;在步驟S2032中,基於第二音訊特徵編碼,預測得到第四音訊信號。
例如,第一音訊信號可以為類比信號,可以通過類比數位轉換器對第一音訊信號進行處理,以得到處理後的第一音訊信號,處理後的第一音訊信號為數位信號,基於該處理後的第一音訊信號可以生成第一音訊特徵編碼。
又例如,第一音訊信號可以為數位信號,例如,PDM信號,此時,可以直接基於第一音訊信號生成第一音訊特徵編碼。PDM信號可以採用二進位數字0和1表示。
例如,可以採用任何合適的編碼方式實現第一音訊特徵編碼。例如,在一些實施例中,在表示一個音訊信號時,可以採用音訊信號的變化狀態來描述該音訊信號,可以採用多位元來表示一個音訊信號的變化狀態。例如,可以採用兩位元表示音訊信號的變化狀態,關於採用兩位元表示音訊信號的變化狀態的相關描述可以參考上面音訊處理方法的實施例中的相關描述,重複之處不再贅述。
例如,在一些實施例中,查找表(codebook)包括至少一個第一編碼字段。例如,在另一些實施例中,查找表還包括至少一個第二編碼字段,多個第一編碼字段組成一個第二編碼字段,從而可以實現從低級特徵組合而形成降維的高階特徵。例如,第二音訊特徵編碼包括至少一個第一編碼字段和/或至少一個第二編碼字段。
例如,在一些實施例中,第二音訊特徵編碼可以包括完整的一個或多個第二編碼字段,或者,第二音訊特徵編碼可以包括一個第二編碼字段中的部分第一編碼字段。
需要說明的是,關於查找表的具體說明可以參考上面關於音訊處理方法的實施例中的相關描述,重複之處不再贅述。
例如,在一實施例中,預測模型包括神經網路,在步驟S2002中,可以通過神經網路對第一音訊信號進行處理以預測得到第四音訊信號。例如,神經網路可以包括遞歸神經網路、長短期記憶網路或生成對抗網路等。
例如,通過查找表的方式可以實現神經網路中的預測。
例如,第一控制指令可以包括第二音訊信號輸出的時刻、第四音訊信號和指示對第四音訊信號進行反相的控制信號等。
例如,步驟S201可以包括:基於第一控制指令,確定第四音訊信號和指示對第四音訊信號進行反相的控制信號;基於該控制信號,對該第四音訊信號進行反相處理,以生成第二音訊信號。
例如,第二音訊信號的相位與第四音訊信號的相位相反。
例如,在步驟S202中,第二音訊信號可以被輸出至音訊獲取部分,音訊獲取部分可以將第二音訊信號傳輸至誤差計算部分以供誤差計算部分進行計算。
例如,在步驟S202中,第二音訊信號還可以被輸出至音訊輸出部分,音訊輸出部分可以輸出該第二音訊信號,從而可以對第三音訊信號進行抑制,此時,音訊獲取部分可以採集第二音訊信號和第三音訊信號進行疊加之後的疊加結果,並將該疊加結果傳輸至誤差計算部分進行計算。
例如,輸出與第一控制指令對應的音訊信號(即第二音訊信號)的時刻和第三音訊信號開始出現的時刻之間的時間差的絕對值小於時間閾值,在一個實施例中,輸出與第一控制指令對應的音訊信號的時刻和第三音訊信號開始出現的時刻之間的時間差可以為0。輸出與第一控制指令對應的音訊信號的時刻可以基於第一控制指令確定。
需要說明的是,時間閾值可以根據實際情況具體設置,本公開對此不作限制,時間閾值越小,則訓練得到的預測模型所實現的消音效果越好。
例如,在一實施例中,步驟S203可以包括:計算第二音訊信號和第三音訊信號之間的均方根誤差,以得到音訊誤差信號。例如,在一實施例中,在執行計算第二音訊信號和第三音訊信號之間的均方根誤差之前,對於預先訓練的方式,可以首先通過音訊獲取部分獲取第二音訊信號和第三音訊信號,然後將該第二音訊信號和第三音訊信號傳輸至誤差計算部分以進行計算;對於現場訓練的方式,首先,可以通過音訊獲取部分獲取第二音訊信號,並通過音訊獲取部分採集第二音訊信號與第三音訊信號進行破壞性疊加之後的疊加結果;然後,音訊獲取部分可以將第二音訊信號和該疊加結果傳輸至誤差計算部分;然後,誤差計算部分可以基於第二音訊信號和該疊加結果得到第三音訊信號,並對該第二音訊信號和第三音訊信號進行計算。
第12A圖為本公開至少一個實施例提供的一種音訊誤差信號與訓練疊代運算次數之間的示意圖。如第12A圖所示,音訊誤差信號為第二音訊信號和第三音訊信號之間的均方根誤差,在對預測模型進行疊代運算訓練大約100次之後,第二音訊信號和第三音訊信號之間的均方根誤差降低到接近0。
例如,在一實施例中,預測模型包括神經網路,此時,由於第二音訊信號是基於預測的第四音訊信號確定的,從而可以將第二音訊信號作為神經網路對應的輸出,利用神經網路的輸出(體現為第二音訊信號)和第一音訊信號對應的標籤資料groudtruth(體現為第三音訊信號)構建神經網路的損失函數並基於該損失函數計算損失值。此時,步驟S203可以包括:基於第二音訊信號和第三音訊信號,通過神經網路的損失函數計算損失值。音訊誤差信號包括損失值。
第12B圖為本公開至少一個實施例提供的另一種音訊誤差信號與訓練疊代運算次數之間的示意圖。如第12B圖所示,音訊誤差信號為通過神經網路的損失函數計算得到的損失值,在對預測模型進行疊代運算訓練大約50次之後損失值降低為接近0。
例如,當第二音訊信號對第三音訊信號的抑制效果越好,則音訊誤差信號越小。當第二音訊信號的相位與第三音訊信號的相位相反,則可以實現完全消音,此時,音訊誤差信號可以為最小,例如,為0。
例如,在步驟S204中,判斷音訊誤差信號是否滿足誤差條件,當音訊誤差信號滿足誤差條件,其表示基於第二音訊信號可以較好地實現對第三音訊信號的抑制,從而實現消音,此時,預測模型的預測效果較好,從而可以保持預測模型不變;當音訊誤差信號不滿足誤差條件,其表示基於第二音訊信號可能無法實現對第三音訊信號的抑制,甚至由於第二音訊信號的產生導致當前環境中的音訊信號更大,此時,預測模型的預測效果較差,需要對預測模型進行調整。
例如,在一實施例中,預測模型包括神經網路,回應於音訊誤差信號不滿足誤差條件,在步驟S205中,對預測模型進行調整包括:回應於損失值不滿足誤差條件,利用損失值對神經網路的參數進行調整。基於預測模型再次對第一音訊信號進行處理,包括:回應於音訊誤差信號不滿足誤差條件,基於神經網路,再次對第一音訊信號進行處理以生成第二控制指令;基於第二控制指令,生成並輸出與第二控制指令對應的音訊信號作為第二音訊信號。
例如,可以基於進行參數調整之後的神經網路再次對第一音訊信號進行處理以生成第二控制指令。
例如,在另一實施例中,預測模型包括查找表,回應於音訊誤差信號不滿足誤差條件,在步驟S205中,對預測模型進行調整包括:回應於音訊誤差信號不滿足誤差條件,基於第一音訊信號和第三音訊信號生成音訊特徵編碼;基於音訊特徵編碼調整查找表。基於預測模型再次對第一音訊信號進行處理,包括:回應於音訊誤差信號不滿足誤差條件,基於查找表,再次對第一音訊信號進行處理以生成第二控制指令;基於第二控制指令,生成並輸出與第二控制指令對應的音訊信號作為第二音訊信號。
例如,第二控制指令與第一控制指令不相同。
需要說明的是,在本公開的模型訓練方法的實施例中,“第二控制指令”表示對預測模型進行重複疊代運算訓練時得到的控制指令。
例如,當基於第二音訊信號(基於第一音訊信號(第11圖所示的音訊信號A)生成的第一控制指令對應的音訊信號)和第三音訊信號(第11圖所示的音訊信號B)確定的音訊誤差信號不滿足誤差條件,則可以基於第一音訊信號(第11圖所示的音訊信號A)和第三音訊信號(第11圖所示的音訊信號B)生成音訊特徵編碼F,然後基於音訊特徵編碼F調整查找表。
例如,基於音訊特徵編碼F調整查找表可以包括:將音訊特徵編碼F與查找表中的所有編碼字段進行比較,當音訊特徵編碼F與查找表中的任一編碼字段均不相同,則將音訊特徵編碼F加入查找表中以更新查找表,以得到更新後的查找表;當音訊特徵編碼F與查找表中的某個編碼字段相同,則保持查找表不變,即不對查找表進行更新。例如,在一實施例中,調整前的查找表可以包括編碼字段A、編碼字段B和編碼字段C,若音訊特徵編碼F與編碼字段A、編碼字段B和編碼字段C中的任一個均不同,此時,調整後的查找表可以包括編碼字段A、編碼字段B、編碼字段C和音訊特徵編碼F;當音訊特徵編碼F與編碼字段A相同,此時,保持查找表不變,調整後的查找表和調整前的查找表相同,即調整後的查找表可以包括編碼字段A、編碼字段B和編碼字段C。
例如,在一實施例中,可以基於更新前的查找表,再次對第一音訊信號進行處理以生成第二控制指令;在另一實施例中,可以基於更新後的查找表,再次對第一音訊信號進行處理以生成第二控制指令。
需要說明的是,在將音訊特徵編碼F加入查找表之前,當查找表中的編碼字段的數量達到最大值,即查找表的儲存空間已滿,則可以從查找表中選擇使用頻率低於頻率閾值的一個編碼字段,並將該編碼字段刪除,然後,再將音訊特徵編碼F加入查找表以更新查找表,從而避免無法儲存音訊特徵編碼F的問題,還可以避免查找表所需的儲存空間過大。
例如,誤差條件可以根據實際情況設置。
下面基於預先訓練和現場訓練的一個示例簡單描述本公開的實施例提供的模型訓練方法的整體流程。
在預先訓練的一個示例中,首先,可以通過例如音訊獲取部分從訓練集中獲取第一個訓練音訊樣本,基於第一個訓練音訊樣本對預測模型執行一次訓練過程(包括步驟S200~S206),在該訓練過程中,該第一個訓練音訊樣本中的第一訓練音訊信號作為第一音訊信號,該第一個訓練音訊樣本中的第二訓練音訊信號作為第三音訊信號,在步驟S204中,當該訓練過程中的音訊誤差信號滿足誤差條件,則執行步驟S206,即保持預測模型不變;當該訓練過程中的音訊誤差信號不滿足誤差條件,則執行步驟S205和步驟S207,在步驟S205中,對預測模型進行調整,然後在步驟S207中,可以通過音訊獲取部分從訓練集中獲取第二個訓練音訊樣本,基於第二個訓練音訊樣本對預測模型執行下一次訓練過程(重複執行步驟S200~S206),在該下一次訓練過程中,該第二個訓練音訊樣本中的第一訓練音訊信號作為第一音訊信號,該第二個訓練音訊樣本中的第二訓練音訊信號作為第三音訊信號。以此類推,在預先訓練中,對預測模型進行疊代運算訓練。
例如,第一個訓練音訊樣本和第二個訓練音訊樣本可以為同一個訓練音訊樣本,也就是說,可以利用同一個訓練音訊樣本對預測模型進行多次疊代運算訓練,此時,步驟S200中的第一音訊信號和步驟S207中的第一音訊信號相同;第一個訓練音訊樣本和第二個訓練音訊樣本也可以為不同的訓練音訊樣本,此時,步驟S200中的第一音訊信號和步驟S207中的第一音訊信號不相同。
需要說明的是,在預先訓練的方式中,當執行到步驟S206時,該模型訓練方法還可以包括:查看訓練集是否包括沒有用於對預測模型進行訓練的訓練音訊樣本,當訓練集包括尚未用於對預測模型進行訓練的訓練音訊樣本,則獲取尚未用於對預測模型進行訓練的訓練音訊樣本以對預測模型進行訓練,直到訓練集中的所有訓練音訊樣本均用於對預測模型進行訓練。
在現場訓練的一個示例中,如第11圖所示,若當前時刻為t100,可以通過例如音訊獲取部分採集音訊信號A以作為第一音訊信號以對預測模型執行一次訓練過程,在該訓練過程中的步驟S200~S201中,基於第一音訊信號(即音訊信號A)生成第二音訊信號;在該訓練過程的步驟S202中,可以通過音訊獲取部分採集音訊信號B以作為與第一音訊信號(即音訊信號A)對應的第三音訊信號;在步驟S203中,確定基於第一音訊信號(即音訊信號A)得到的第二音訊信號和第三音訊信號(即音訊信號B)之間的音訊誤差信號;在該訓練過程的步驟S204中,當基於第一音訊信號(即音訊信號A)得到的第二音訊信號和第三音訊信號(即音訊信號B)之間的音訊誤差信號滿足誤差條件,則執行步驟S206,即保持預測模型不變;當基於第一音訊信號(即音訊信號A)得到的第二音訊信號和第三音訊信號(即音訊信號B)之間的音訊誤差信號不滿足誤差條件,則執行步驟S205,對預測模型進行調整;然後執行步驟S207,在執行步驟S207時,時刻t201已經過去,音訊獲取部分需要再次採集當前時刻(晚於時刻t201)開始出現的音訊信號作為第一音訊信號,如第11圖所示,若當前時刻變為時刻t300,則在步驟S207中,音訊獲取部分可以採集音訊信號C以作為第一音訊信號對預測模型執行下一次訓練過程(重複執行步驟S200~S206),在該下一次訓練過程中,音訊獲取部分採集音訊信號D以作為與第一音訊信號(即音訊信號C)對應的第三音訊信號。以此類推,在現場訓練中,對預測模型進行疊代運算訓練。
本公開至少一個實施例還提供一種模型訓練裝置。第13圖為本公開至少一個實施例提供的一種模型訓練裝置的示意性框圖。
如第13圖所示,模型訓練裝置1300包括指令生成模組1301、音訊生成模組1302、輸出模組1303、誤差計算模組1304和調整模組1305。第13圖所示的模型訓練裝置1300的元件和結構只是示例性的,而非限制性的,根據需要,該模型訓練裝置1300還可以包括其他元件和結構。
指令生成模組1301被配置為基於預測模型,對第一音訊信號進行處理以生成第一控制指令。指令生成模組1301用於執行第10A圖所示的步驟S200。
音訊生成模組1302被配置為基於第一控制指令,生成與第一控制指令對應的音訊信號作為第二音訊信號。音訊生成模組1302用於執行第10A圖所示的步驟S201。
輸出模組1303被配置為輸出第二音訊信號,以抑制第三音訊信號。輸出模組1303用於執行第10A圖所示的步驟S202。例如,第一音訊信號出現的時間早於第三音訊信號出現的時間。
誤差計算模組1304被配置為基於第二音訊信號和第三音訊信號,確定音訊誤差信號。誤差計算模組1304用於執行第10A圖所示的步驟S203。
調整模組1305被配置為回應於音訊誤差信號不滿足誤差條件,對預測模型進行調整;回應於音訊誤差信號滿足誤差條件,保持預測模型不變。調整模組1305用於執行第10A圖所示的步驟S205~步驟S206。調整模組1305還被配置為判斷音訊誤差信號是否滿足誤差條件,即調整模組1305還用於執行第10A圖所示的步驟S204。
指令生成模組1301還被配置為回應於音訊誤差信號不滿足誤差條件,基於預測模型再次對第一音訊信號進行處理,直到音訊誤差信號滿足誤差條件。指令生成模組1301還用於執行第10A圖所示的步驟S207。
關於指令生成模組1301所實現的功能的具體說明可以參考上述模型訓練方法的實施例中的第10A圖所示的步驟S200和步驟S207的相關描述,關於音訊生成模組1302所實現的功能的具體說明可以參考上述模型訓練方法的實施例中的第10A圖所示的步驟S201的相關描述,關於輸出模組1303所實現的功能的具體說明可以參考上述模型訓練方法的實施例中的第10A圖所示的步驟S202的相關描述,關於誤差計算模組1404所實現的功能的具體說明可以參考上述模型訓練方法的實施例中的第10A圖所示的步驟S203的相關描述,關於調整模組1305所實現的功能的具體說明可以參考上述模型訓練方法的實施例中的第10A圖所示的步驟S204~S206的相關描述。模型訓練裝置可以實現與前述模型訓練方法相似或相同的技術效果,在此不再贅述。
例如,在一些實施例中,指令生成模組1301包括音訊獲取子模組、預測子模組和生成子模組。音訊獲取子模組被配置為獲取第一音訊信號;預測子模組被配置為基於預測模型對第一音訊信號進行處理以預測得到第四音訊信號;生成子模組被配置為基於第四音訊信號,生成第一控制指令。
例如,音訊獲取子模組可以實現為第9圖所示的音訊獲取部分。
例如,在一些實施例中,預測模型包括神經網路,預測子模組可以基於神經網路對第一音訊信號進行處理以預測得到第四音訊信號。例如,預測子模組可以包括第9圖所示的預測部分中的AI引擎和/或數位訊號處理器等,AI引擎可以包括神經網路。
例如,在一些實施例中,預測模型包括查找表,預測子模組包括查詢單元和預測單元,查詢單元被配置為基於第一音訊信號生成第一音訊特徵編碼;基於第一音訊特徵編碼查詢查找表,以得到第二音訊特徵編碼;預測單元被配置為基於第二音訊特徵編碼,預測得到第四音訊信號。
例如,查詢單元可以包括記憶體以用於儲存查找表。
例如,第二音訊信號的相位與第四音訊信號的相位相反。
例如,輸出模組1303輸出與第一控制指令對應的音訊信號(即第二音訊信號)的時刻和第三音訊信號開始出現的時刻之間的時間差的絕對值小於時間閾值。
例如,輸出模組1303可以實現為第9圖所示的音訊輸出部分。例如,輸出模組1303可以包括揚聲器等音訊輸出裝置,還可以包括數位類比轉換器等。
例如,在一些實施例中,預測模型包括神經網路,在執行基於第二音訊信號和第三音訊信號,確定音訊誤差信號的操作時,誤差計算模組1304被配置為基於第二音訊信號和第三音訊信號,通過神經網路的損失函數計算損失值。音訊誤差信號包括損失值。在執行回應於音訊誤差信號不滿足誤差條件,對預測模型進行調整的操作時,調整模組1305被配置為:回應於損失值不滿足誤差條件,利用損失值對神經網路的參數進行調整。在執行基於預測模型再次對第一音訊信號進行處理的操作時,指令生成模組1301被配置為:回應於音訊誤差信號不滿足誤差條件,基於神經網路,再次對第一音訊信號進行處理以生成第二控制指令。第二控制指令與第一控制指令不相同。音訊生成模組1302還被配置為基於第二控制指令,生成並輸出與第二控制指令對應的音訊信號作為第二音訊信號。
例如,在一些實施例中,預測模型包括查找表,調整模組1305包括特徵編碼生成子模組和查找表調整子模組,特徵編碼生成子模組被配置為:回應於音訊誤差信號不滿足誤差條件,基於第一音訊信號和第三音訊信號生成音訊特徵編碼;查找表調整子模組被配置為基於音訊特徵編碼調整查找表。
例如,在一些實施例中,預測模型包括查找表,在執行基於預測模型再次對第一音訊信號進行處理的操作時,指令生成模組1301被配置為:回應於音訊誤差信號不滿足誤差條件,基於查找表,再次對第一音訊信號進行處理以生成第二控制指令。第二控制指令與第一控制指令不相同。音訊生成模組1302還被配置為基於第二控制指令,生成並輸出與第二控制指令對應的音訊信號作為第二音訊信號。
例如,在執行基於第二音訊信號和第三音訊信號,確定音訊誤差信號的操作時,誤差計算模組1304被配置為:計算第二音訊信號和第三音訊信號之間的均方根誤差,以得到音訊誤差信號。
例如,指令生成模組1301、音訊生成模組1302、輸出模組1303、誤差計算模組1304和/或調整模組1305可以為硬體、軟體、固件以及它們的任意可行的組合。例如,指令生成模組1301、音訊生成模組1302、輸出模組1303、誤差計算模組1304和/或調整模組1305可以為專用或通用的電路、晶片或裝置等,也可以為處理器和記憶體的結合。本公開的實施例不對上述各個模組、子模組和單元的具體實現形式進行限制。
本公開至少一個實施例還提供一種模型訓練裝置,第14圖為本公開至少一個實施例提供的另一種模型訓練裝置的示意性框圖。
例如,如第14圖所示,模型訓練裝置1400包括一個或多個記憶體1401和一個或多個處理器1402。一個或多個記憶體1401被配置為非暫態性地儲存有電腦可執行指令;一個或多個處理器1402配置為運行電腦可執行指令。電腦可執行指令被一個或多個處理器1402運行時實現根據上述任一實施例所述的模型訓練方法。關於該模型訓練方法的各個步驟的具體實現以及相關解釋內容可以參見上述模型訓練方法的實施例的描述,在此不做贅述。
例如,在一些實施例中,模型訓練裝置1400還可以包括通信介面和通信匯流排。記憶體1401、處理器1402和通信介面可以通過通信匯流排實現相互通信,記憶體1401、處理器1402和通信介面等元件之間也可以通過網路連接進行通信。本公開對網路的類型和功能在此不作限制。
例如,通信匯流排可以是周邊組件互連標準(PCI)匯流排或延伸工業標準架構(EISA)匯流排等。該通信匯流排可以分為位址匯流排、資料匯流排、控制匯流排等。
例如,通信介面用於實現模型訓練裝置1400與其他設備之間的通信。通信介面可以為通用序列匯流排(Universal Serial Bus,USB)介面等。
例如,處理器1402和記憶體1401可以設置在伺服器端(或雲端)。
例如,處理器1402可以控制模型訓練裝置1400中的其它元件以執行期望的功能。處理器1402可以是中央處理器(CPU)、網路處理器(NP)等;還可以是數位訊號處理器(DSP)、專用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件。中央處理元(CPU)可以為X86或ARM架構等。
例如,記憶體1401可以包括一個或多個電腦程式產品的任意組合,電腦程式產品可以包括各種形式的電腦可讀儲存媒體,例如揮發性記憶體和/或非揮發性記憶體。揮發性記憶體例如可以包括隨機存取記憶體(RAM)和/或高速緩衝記憶體(cache)等。非揮發性記憶體例如可以包括唯讀記憶體(ROM)、硬碟、可擦除可程式設計唯讀記憶體(EPROM)、可擕式緊致盤唯讀記憶體(CD-ROM)、USB記憶體、快閃記憶體等。在電腦可讀儲存媒體上可以儲存一個或多個電腦可執行指令,處理器1402可以運行電腦可執行指令,以實現模型訓練裝置1400的各種功能。在儲存媒體中還可以儲存各種應用程式和各種資料等。
例如,關於模型訓練裝置1400執行模型訓練的過程的詳細說明可以參考模型訓練方法的實施例中的相關描述,重複之處不再贅述。
第15圖為本公開至少一個實施例提供的一種非暫態性電腦可讀儲存媒體的示意圖。例如,如第15圖所示,在非暫態性電腦可讀儲存媒體2000上可以非暫時性地儲存一個或多個電腦可執行指令2001。例如,當電腦可執行指令2001由處理器執行時可以執行根據上文所述的模型訓練方法中的一個或多個步驟。
例如,該非暫態性電腦可讀儲存媒體2000可以應用於上述模型訓練裝置1400中,例如,其可以包括模型訓練裝置1400中的記憶體1401。
關於非暫態性電腦可讀儲存媒體2000的說明可以參考第14圖所示的模型訓練裝置1400的實施例中對於記憶體1401的描述,重複之處不再贅述。
本公開的至少一個實施例提供一種模型訓練方法、模型訓練裝置和非暫態性電腦可讀儲存媒體,利用當前音訊信號(即,第一音訊信號)和未來音訊信號(即,第三音訊信號)對預測模型進行即時訓練,提升預測模型輸出的預測結果的準確度,避免基於預測模型輸出的預測結果無法實現對未來音訊信號進行抑制的問題,提升基於預測模型進行消音的效果;此外,可以通過當前實際應用場景中的音訊信號進行現場即時訓練,訓練出的預測模型的準確性會比利用訓練集中的訓練音訊樣本訓練得到的預測模型的準確性更高,基於現場訓練的方式得到的預測模型可以更加適用於實際應用場景,避免預測模型無法實現對實際應用場景中的音訊信號進行抑制的問題,提高預測模型對不同應用場景的適應能力,使得預測模型可以適應不同的應用場景,且在不同的應用場景下預測模型的預測準確度均較高,提高實際應用場景中的消音效果;由於可以基於實際應用場景中的音訊信號對預測模型進行訓練,可以降低對用於訓練預測模型的樣本量的需求;由於第一音訊信號為時域信號,第一音訊信號不是特定頻率的音訊信號,從而本公開的實施例提供的模型訓練方法不需要從音訊信號中提取頻譜特徵來產生頻譜圖,由此可以簡化音訊信號的處理過程,節省處理時間;在將音訊特徵編碼F加入查找表之前,從查找表中選擇使用頻率低於頻率閾值的一個編碼字段,並將該編碼字段刪除,然後,再將音訊特徵編碼F加入查找表以更新查找表,從而避免無法儲存音訊特徵編碼F的問題,還可以避免查找表所需的儲存空間過大。
對於本公開,還有以下幾點需要說明:
(1)本公開實施例附圖只涉及到與本公開實施例涉及到的結構,其他結構可參考通常設計。
(2)在不衝突的情況下,本公開的實施例及實施例中的特徵可以相互組合以得到新的實施例。
以上所述僅為本公開的具體實施方式,但本公開的保護範圍並不局限於此,本公開的保護範圍應以所述權利要求的保護範圍為准。
Sn1:音訊信號 Sn2:反相音訊信號 Sn3:未來音訊信號 S10-S12,S101-S103,S1021-S1023:步驟 t11,t12,t21,t22:時刻 P1:虛線矩形框 P2:虛線矩形框 V:音訊信號 30~38:波形段 t31,t32,t33:時刻 600:音訊處理裝置 601:指令生成模組 602:音訊生成模組 603:輸出模組 700:音訊處理裝置 701:記憶體 702:處理器 1000:非暫態性電腦可讀儲存媒體 1001:電腦可執行指令 Sn11:音訊信號 Sn12:反相音訊信號 Sn13:未來音訊信號 Sr:疊加結果 ES:誤差音訊信號 Ta:目標對象 S200-S207,S2001-S2003,S2012-S2032:步驟 A-D:音訊信號 t100,t101,t200,t201,t300,t301,t400,t401:時刻 1300:模型訓練裝置 1301:指令生成模組 1302:音訊生成模組 1303:輸出模組 1304:誤差計算模組 1305:調整模組 1400:音訊處理裝置 1401:記憶體 1402:處理器 2000:非暫態性電腦可讀儲存媒體 2001:電腦可執行指令
為了更清楚地說明本公開實施例的技術方案,下面將對實施例的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅涉及本公開的一些實施例,而非對本公開的限制。 第1圖為本公開至少一個實施例提供的一種音訊處理系統的示意性框圖; 第2A圖為本公開至少一個實施例提供的一種音訊處理方法的示意性流程圖; 第2B圖為第2A圖所示的步驟S10的示意性流程圖; 第2C圖為第2B圖所示的步驟S102的示意性流程圖; 第3圖為本公開至少一個實施例提供的一種第一音訊信號和第三音訊信號的示意圖; 第4圖為本公開至少一個實施例提供的一種第三音訊信號和第四音訊信號的示意圖; 第5A圖為本公開一些實施例提供的一種音訊信號的示意圖; 第5B圖為第5A圖中的虛線矩形框P1中的音訊信號的放大示意圖; 第6圖為本公開至少一個實施例提供的一種音訊處理裝置的示意性框圖; 第7圖為本公開至少一個實施例提供的另一種音訊處理裝置的示意性框圖; 第8圖為本公開至少一個實施例提供的一種非暫態性電腦可讀儲存媒體的示意圖; 第9圖為本公開至少一個實施例提供的一種模型訓練系統的示意性框圖; 第10A圖為本公開至少一個實施例提供的一種模型訓練方法的示意性流程圖; 第10B圖為第10A圖所示的步驟S200的示意性流程圖; 第10C圖為第10B圖所示的步驟S2002的示意性流程圖; 第11圖為本公開至少一個實施例提供的一種第一音訊信號和第三音訊信號的示意圖; 第12A圖為本公開至少一個實施例提供的一種音訊誤差信號與訓練疊代運算次數之間的示意圖; 第12B圖為本公開至少一個實施例提供的另一種音訊誤差信號與訓練疊代運算次數之間的示意圖; 第13圖為本公開至少一個實施例提供的一種模型訓練裝置的示意性框圖; 第14圖為本公開至少一個實施例提供的另一種模型訓練裝置的示意性框圖;以及 第15圖為本公開至少一個實施例提供的一種非暫態性電腦可讀儲存媒體的示意圖。
S200-S207:步驟

Claims (24)

  1. 一種模型訓練方法,包括: 基於預測模型,對第一音訊信號進行處理以生成第一控制指令; 基於所述第一控制指令,生成與所述第一控制指令對應的音訊信號作為第二音訊信號; 輸出所述第二音訊信號,以抑制第三音訊信號,其中,所述第一音訊信號出現的時間早於所述第三音訊信號出現的時間; 基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號; 回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整,基於所述預測模型再次對所述第一音訊信號進行處理,直到所述音訊誤差信號滿足所述誤差條件; 回應於所述音訊誤差信號滿足所述誤差條件,保持所述預測模型不變。
  2. 如請求項1所述的模型訓練方法,其中,所述預測模型包括神經網路, 所述基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號,包括:基於所述第二音訊信號和所述第三音訊信號,通過所述神經網路的損失函數計算損失值, 其中,所述音訊誤差信號包括所述損失值。
  3. 如請求項2所述的模型訓練方法,其中,所述回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整,包括: 回應於所述損失值不滿足所述誤差條件,利用所述損失值對所述神經網路的參數進行調整。
  4. 如請求項3所述的模型訓練方法,其中,所述基於所述預測模型再次對所述第一音訊信號進行處理,包括: 回應於所述音訊誤差信號不滿足所述誤差條件,基於所述神經網路,再次對所述第一音訊信號進行處理以生成第二控制指令,其中,所述第二控制指令與所述第一控制指令不相同; 基於所述第二控制指令,生成並輸出與所述第二控制指令對應的音訊信號作為所述第二音訊信號。
  5. 如請求項1所述的模型訓練方法,其中,所述預測模型包括查找表, 所述回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整,包括: 回應於所述音訊誤差信號不滿足所述誤差條件,基於所述第一音訊信號和所述第三音訊信號生成音訊特徵編碼; 基於所述音訊特徵編碼調整所述查找表。
  6. 如請求項1所述的模型訓練方法,其中,所述預測模型包括查找表, 所述基於所述預測模型再次對所述第一音訊信號進行處理,包括: 回應於所述音訊誤差信號不滿足所述誤差條件,基於所述查找表,再次對所述第一音訊信號進行處理以生成第二控制指令,其中,所述第二控制指令與所述第一控制指令不相同; 基於所述第二控制指令,生成並輸出與所述第二控制指令對應的音訊信號作為所述第二音訊信號。
  7. 如請求項1~6任一項所述的模型訓練方法,其中,所述基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號,包括: 計算所述第二音訊信號和所述第三音訊信號之間的均方根誤差,以得到所述音訊誤差信號。
  8. 如請求項1~6任一項所述的模型訓練方法,其中,所述基於預測模型,對第一音訊信號進行處理以生成第一控制指令,包括: 獲取所述第一音訊信號; 基於所述預測模型對所述第一音訊信號進行處理以預測得到第四音訊信號; 基於所述第四音訊信號,生成所述第一控制指令。
  9. 如請求項8所述的模型訓練方法,其中,所述預測模型包括查找表, 所述基於所述預測模型對所述第一音訊信號進行處理以預測得到第四音訊信號,包括: 基於所述第一音訊信號生成第一音訊特徵編碼; 基於所述第一音訊特徵編碼查詢所述查找表,以得到第二音訊特徵編碼; 基於所述第二音訊特徵編碼,預測得到所述第四音訊信號。
  10. 如請求項8所述的模型訓練方法,其中,所述第二音訊信號的相位與所述第四音訊信號的相位相反。
  11. 如請求項1~6任一項所述的模型訓練方法,其中,輸出與所述第一控制指令對應的音訊信號的時刻和所述第三音訊信號開始出現的時刻之間的時間差的絕對值小於時間閾值。
  12. 一種模型訓練裝置,包括: 指令生成模組,被配置為基於預測模型,對第一音訊信號進行處理以生成第一控制指令; 音訊生成模組,被配置為基於所述第一控制指令,生成與所述第一控制指令對應的音訊信號作為第二音訊信號; 輸出模組,被配置為輸出所述第二音訊信號,以抑制第三音訊信號,其中,所述第一音訊信號出現的時間早於所述第三音訊信號出現的時間; 誤差計算模組,被配置為基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號; 調整模組,被配置為回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整;回應於所述音訊誤差信號滿足所述誤差條件,保持所述預測模型不變; 其中,所述指令生成模組還被配置為回應於所述音訊誤差信號不滿足誤差條件,基於所述預測模型再次對所述第一音訊信號進行處理,直到所述音訊誤差信號滿足所述誤差條件。
  13. 如請求項12所述的模型訓練裝置,其中,所述預測模型包括神經網路, 在執行所述基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號的操作時,所述誤差計算模組被配置為基於所述第二音訊信號和所述第三音訊信號,通過所述神經網路的損失函數計算損失值, 其中,所述音訊誤差信號包括所述損失值。
  14. 如請求項13所述的模型訓練裝置,其中,在執行所述回應於所述音訊誤差信號不滿足誤差條件,對所述預測模型進行調整的操作時,所述調整模組被配置為:回應於所述損失值不滿足所述誤差條件,利用所述損失值對所述神經網路的參數進行調整。
  15. 如請求項14所述的模型訓練裝置,其中,在執行所述基於所述預測模型再次對所述第一音訊信號進行處理的操作時,所述指令生成模組被配置為:回應於所述音訊誤差信號不滿足所述誤差條件,基於所述神經網路,再次對所述第一音訊信號進行處理以生成第二控制指令,其中,所述第二控制指令與所述第一控制指令不相同; 所述音訊生成模組還被配置為基於所述第二控制指令,生成並輸出與所述第二控制指令對應的音訊信號作為所述第二音訊信號。
  16. 如請求項12所述的模型訓練裝置,其中,所述預測模型包括查找表,所述調整模組包括特徵編碼生成子模組和查找表調整子模組, 所述特徵編碼生成子模組被配置為:回應於所述音訊誤差信號不滿足所述誤差條件,基於所述第一音訊信號和所述第三音訊信號生成音訊特徵編碼; 所述查找表調整子模組被配置為基於所述音訊特徵編碼調整所述查找表。
  17. 如請求項12所述的模型訓練裝置,其中,所述預測模型包括查找表,在執行所述基於所述預測模型再次對所述第一音訊信號進行處理的操作時,所述指令生成模組被配置為:回應於所述音訊誤差信號不滿足所述誤差條件,基於所述查找表,再次對所述第一音訊信號進行處理以生成第二控制指令,其中,所述第二控制指令與所述第一控制指令不相同; 所述音訊生成模組還被配置為基於所述第二控制指令,生成並輸出與所述第二控制指令對應的音訊信號作為所述第二音訊信號。
  18. 如請求項12~17任一項所述的模型訓練裝置,其中,在執行所述基於所述第二音訊信號和所述第三音訊信號,確定音訊誤差信號的操作時,所述誤差計算模組被配置為:計算所述第二音訊信號和所述第三音訊信號之間的均方根誤差,以得到所述音訊誤差信號。
  19. 如請求項12~17任一項所述的模型訓練裝置,其中,所述指令生成模組包括音訊獲取子模組、預測子模組和生成子模組, 所述音訊獲取子模組被配置為獲取所述第一音訊信號; 所述預測子模組被配置為基於所述預測模型對所述第一音訊信號進行處理以預測得到第四音訊信號; 所述生成子模組被配置為基於所述第四音訊信號,生成所述第一控制指令。
  20. 如請求項19所述的模型訓練裝置,其中,所述預測模型包括查找表,所述預測子模組包括查詢單元和預測單元, 所述查詢單元被配置為基於所述第一音訊信號生成第一音訊特徵編碼;基於所述第一音訊特徵編碼查詢所述查找表,以得到第二音訊特徵編碼; 所述預測單元被配置為基於所述第二音訊特徵編碼,預測得到所述第四音訊信號。
  21. 如請求項19所述的模型訓練裝置,其中,所述第二音訊信號的相位與所述第四音訊信號的相位相反。
  22. 如請求項12~17任一項所述的模型訓練裝置,其中,輸出與所述第一控制指令對應的音訊信號的時刻和所述第三音訊信號開始出現的時刻之間的時間差的絕對值小於時間閾值。
  23. 一種模型訓練裝置,包括: 一個或多個記憶體,非暫態性地儲存有電腦可執行指令; 一個或多個處理器,配置為運行所述電腦可執行指令, 其中,所述電腦可執行指令被所述一個或多個處理器運行時實現如請求項1~11任一項所述的模型訓練方法。
  24. 一種非暫態性電腦可讀儲存媒體,其中,所述非暫態性電腦可讀儲存媒體儲存有電腦可執行指令,所述電腦可執行指令被處理器執行時實現如請求項1~11任一項所述的模型訓練方法。
TW111133851A 2022-05-23 2022-09-07 模型訓練方法及裝置、非暫態性電腦可讀儲存媒體 TW202347318A (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US202263344642P 2022-05-23 2022-05-23
US63/344,642 2022-05-23
US202263351439P 2022-06-13 2022-06-13
US63/351,439 2022-06-13
US202263352213P 2022-06-14 2022-06-14
US63/352,213 2022-06-14
CN202210931490.1A CN115294952A (zh) 2022-05-23 2022-08-04 音频处理方法及装置、非瞬时性计算机可读存储介质
CN202210931490.1 2022-08-04

Publications (1)

Publication Number Publication Date
TW202347318A true TW202347318A (zh) 2023-12-01

Family

ID=83825587

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111133851A TW202347318A (zh) 2022-05-23 2022-09-07 模型訓練方法及裝置、非暫態性電腦可讀儲存媒體

Country Status (3)

Country Link
CN (1) CN115294952A (zh)
TW (1) TW202347318A (zh)
WO (2) WO2023226193A1 (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0820653D0 (en) * 2008-11-11 2008-12-17 Isis Innovation Acoustic noise reduction during magnetic resonance imaging
US9053697B2 (en) * 2010-06-01 2015-06-09 Qualcomm Incorporated Systems, methods, devices, apparatus, and computer program products for audio equalization
CN102110438A (zh) * 2010-12-15 2011-06-29 方正国际软件有限公司 一种基于语音的身份认证方法及系统
US9208771B2 (en) * 2013-03-15 2015-12-08 Cirrus Logic, Inc. Ambient noise-based adaptation of secondary path adaptive response in noise-canceling personal audio devices
CN104900237B (zh) * 2015-04-24 2019-07-05 上海聚力传媒技术有限公司 一种用于对音频信息进行降噪处理的方法、装置和系统
CN109671440B (zh) * 2019-01-09 2020-08-14 四川虹微技术有限公司 一种模拟音频失真方法、装置、服务器及存储介质
CN110970010A (zh) * 2019-12-03 2020-04-07 广州酷狗计算机科技有限公司 噪音消除方法、装置、存储介质及设备
CN112634923B (zh) * 2020-12-14 2021-11-19 广州智讯通信系统有限公司 基于指挥调度系统的音频回声消除方法、设备、存储介质
CN113470684B (zh) * 2021-07-23 2024-01-12 平安科技(深圳)有限公司 音频降噪方法、装置、设备及存储介质
CN113707167A (zh) * 2021-08-31 2021-11-26 北京地平线信息技术有限公司 残留回声抑制模型的训练方法和训练装置
CN113903322A (zh) * 2021-10-16 2022-01-07 艾普科模具材料(上海)有限公司 基于移动端的汽车主动降噪系统、方法及可编程逻辑器件

Also Published As

Publication number Publication date
CN115294952A (zh) 2022-11-04
TW202347319A (zh) 2023-12-01
WO2023226234A1 (zh) 2023-11-30
WO2023226193A1 (zh) 2023-11-30

Similar Documents

Publication Publication Date Title
US20210304735A1 (en) Keyword detection method and related apparatus
JP6317111B2 (ja) ハイブリッド型クライアントサーバ音声認識
JP2021086154A (ja) 音声認識方法、装置、機器及びコンピュータ読み取り可能な記憶媒体
US9294834B2 (en) Method and apparatus for reducing noise in voices of mobile terminal
JP2004511823A (ja) 動的再構成可能音声認識システムとその方法
AU2014200407A1 (en) Method for Voice Activation of a Software Agent from Standby Mode
CN111261179A (zh) 回声消除方法及装置和智能设备
AU2017405291A1 (en) Method and apparatus for processing speech signal adaptive to noise environment
US11172293B2 (en) Power efficient context-based audio processing
JP5027127B2 (ja) 背景雑音に応じてバイブレータの動作を制御することによる移動通信装置の音声了解度の向上
WO2020238203A1 (zh) 降噪方法、降噪装置及可实现降噪的设备
WO2023226234A1 (zh) 模型训练方法及装置、非瞬时性计算机可读存储介质
US11164591B2 (en) Speech enhancement method and apparatus
CN112151055B (zh) 音频处理方法及装置
TWI837756B (zh) 音訊處理方法及裝置、非暫態性電腦可讀儲存媒體
US11328131B2 (en) Real-time chat and voice translator
CN115188390A (zh) 一种音频降噪方法和相关装置
CN115457930A (zh) 模型训练方法及装置、非瞬时性计算机可读存储介质
CN111710341B (zh) 语音切割点检测方法及其装置、介质和电子设备
JP7335460B2 (ja) テキストエコー消去
JPWO2021024466A1 (ja) 音声対話装置、音声対話方法およびプログラム記録媒体
CN117392994B (zh) 一种音频信号处理方法、装置、设备及存储介质
WO2023220918A1 (zh) 一种音频信号处理方法、装置、存储介质和车辆
US10964335B2 (en) Multiple microphone speech generative networks
EP4258263A1 (en) Apparatus and method for noise suppression