本申請涉及音頻信號處理,尤其涉及一種弦樂器的基頻檢測方法、裝置、設備及介質。
背景技術:
1、在許多自然信號(如人聲和樂器聲)中,聲源發出的聲波信號通常是一系列諧波頻率的組合;其中,諧波頻率中頻率最低的稱為基頻。基頻檢測(fundamental?frequencydetection,簡稱f0檢測)是音頻信號處理中的一個關鍵技術,廣泛應用于語音處理、音樂信息檢索、樂器調音等領域。然而,弦樂器調音中的基頻檢測與語音信號的基頻檢測需求有很大不同,主要體現在頻率范圍更廣、諧波的倍數關系、高精度的頻率檢測要求以及諧波偏移現象等方面。因此,弦樂器調音算法中的基頻檢測需在精度、諧波處理和頻率范圍上滿足更高的要求,以確保準確性和魯棒性。
2、目前,大多數成熟的基頻檢測算法主要針對語音信號,如基于時域的自相關算法及其改進算法(如yin算法和pyin算法),以及基于頻域的快速傅里葉變換(fft)方法(如譜峰檢測法、諧波求和法、諧波積譜法等)。然而,這些基頻檢測方法在弦樂器調音中的應用存在局限性,特別是在低頻段誤差較大,無法滿足弦樂器調音的高精度要求。
技術實現思路
1、本申請實施例提供了一種弦樂器的基頻檢測方法、裝置、設備及介質,旨在解決現有技術在低頻段的檢測誤差較大,無法滿足弦樂器調音的高精度要求的問題。
2、第一方面,本申請實施例提供了一種弦樂器的基頻檢測方法,所述方法包括:
3、獲取當前幀信號,并對所述當前幀信號進行預處理,得到目標幀信號;
4、將所述目標幀信號更新至預設緩存中,得到更新后的緩存;
5、若利用預設檢測策略檢測到所述更新后的緩存中的所述目標幀信號為有效信號,則對所述更新后的緩存中的信號進行加窗處理,得到加窗后的信號;
6、對所述加窗后的信號進行快速傅里葉變換和絕對值運算,得到第一頻譜信息;
7、若確定所述第一頻譜信息中最大幅度對應的第一頻率小于預設頻率,則利用倒譜分析對所述第一頻譜信息進行處理,得到粗估計的第一基頻;
8、根據所述第一基頻和預設諧波頻率區間確定諧波個數和每個諧波的諧波頻率;
9、利用預設線性調頻z變換算法對所述第一基頻和每個諧波的諧波頻率進行分析,得到每個諧波的最大頻率值;
10、根據預設迭代算法、預設損失函數和每個諧波的最大頻率值確定最優基頻。
11、第二方面,本申請實施例提供了一種弦樂器的基頻檢測方法,所述裝置包括:
12、當前幀信號獲取單元,用于獲取當前幀信號,并對所述當前幀信號進行預處理,得到目標幀信號;
13、緩存更新單元,用于將所述目標幀信號更新至預設緩存中,得到更新后的緩存;
14、加窗單元,用于若利用預設檢測策略檢測到所述更新后的緩存中的所述目標幀信號為有效信號,則對所述更新后的緩存中的信號進行加窗處理,得到加窗后的信號;
15、頻域轉換單元,用于對所述加窗后的信號進行快速傅里葉變換和絕對值運算,得到第一頻譜信息;
16、基頻估計單元,用于若確定所述第一頻譜信息中最大幅度對應的第一頻率小于預設頻率,則利用倒譜分析對所述第一頻譜信息進行處理,得到粗估計的第一基頻;
17、諧波確定單元,用于根據所述第一基頻和預設諧波頻率區間確定諧波個數和每個諧波的諧波頻率;
18、最大頻率獲取單元,利用預設線性調頻z變換算法對所述第一基頻和每個諧波的諧波頻率進行分析,得到每個諧波的最大頻率值;
19、基頻獲取單元,用于根據預設迭代算法、預設損失函數和每個諧波的最大頻率值確定最優基頻。
20、第三方面,本申請實施例又提供了一種計算機設備,其包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現上述第一方面所述的弦樂器的基頻檢測方法。
21、第四方面,本申請實施例還提供了一種計算機可讀存儲介質,其中所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序當被處理器執行時使所述處理器執行上述第一方面所述的弦樂器的基頻檢測方法。
22、本申請實施例提供了一種弦樂器的基頻檢測方法、裝置、設備及介質,通過將預處理得到的目標幀信號更新至預設緩存中;若利用預設檢測策略檢測到更新后的緩存中的目標幀信號為有效信號,則對其加窗,并對加窗后的信號進行快速傅里葉變換和絕對值運算;若確定得到第一頻譜信息中最大幅度的第一頻率小于預設頻率,則利用倒譜分析對其進行處理,得到第一基頻;并根據第一基頻和預設諧波頻率區間確定諧波個數和每個諧波的諧波頻率;利用預設線性調頻z變換算法計算第一基頻和每個諧波的諧波頻率,得到每個諧波的最大諧波頻率;根據預設迭代算法、預設損失函數和每個諧波的最大諧波頻率確定最優基頻,從而降低低頻段的檢測誤差,并提高了基頻檢測的準確性。
1.一種弦樂器的基頻檢測方法,其特征在于,所述方法包括:
2.根據權利要求1所述的弦樂器的基頻檢測方法,其特征在于,所述根據預設迭代算法、預設損失函數和每個諧波處的最大諧波頻率確定最優基頻,包括:
3.根據權利要求1所述的弦樂器的基頻檢測方法,其特征在于,在所述得到當前函數值的步驟中通過以下公式獲取所述當前函數值:
4.根據權利要求1所述的弦樂器的基頻檢測方法,其特征在于,所述利用倒譜分析對所述第一頻譜信息進行處理,得到粗估計的第一基頻,包括:
5.根據權利要求1所述的弦樂器的基頻檢測方法,其特征在于,所述得到第一頻譜信息之后,還包括:
6.根據權利要求1所述的弦樂器的基頻檢測方法,其特征在于,所述對所述當前幀信號進行預處理,得到目標幀信號,包括:
7.根據權利要求1所述的弦樂器的基頻檢測方法,其特征在于,所述得到更新后的緩存之后,還包括:
8.一種弦樂器的基頻檢測裝置,其特征在于,所述裝置包括:
9.一種計算機設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執行所述計算機程序時實現如權利要求1至7中任一項所述的弦樂器的基頻檢測方法。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序當被處理器執行時使所述處理器執行如權利要求1至7任一項所述的弦樂器的基頻檢測方法。