基於雙門限法的語音端點檢測及語音分割

voice_activity_detection

Audio Split 基於雙門限法的語音端點檢測及語音分割

代碼在我的github上voice_activity_detection

如果您覺得有一點點用,請隔空比個心(或者,去我的github上點一下 「Star」 也可以~)

根據短時能量和過零率, 基於雙門限法的語音端點檢測及語音分割

直接運行audio_split.py,會對./raw_audio文件夾下的所有音頻文件進行分割:

  1. 首先對原音頻轉成16kHz,16bit,PCM格式,單通道的.wav文件,保存在./convert2wav文件夾下;
  2. 再對轉換後的文件進行第一次分割,保存在./detected_split1文件夾下;
  3. 再次對分割後的文件分割,保存在./detected_split2文件夾下;
  4. 最後根據時長限制,加速音頻,保存在./duration_limit文件夾下。

以上各步驟可選,參數均可自由設置,程序裏有詳細註釋。

另外,對於acoustic_feature.py,請看我另一個倉庫:聲學特徵提取

關於./raw_audio文件夾下的兩個示例文件,運行程序會有兩張plot輸出:

圖1 漢語:「藍天 白雲」的語音端點檢測

圖2 一些漢語數字的語音端點檢測

Python Import

關於本程序的依賴庫(其中Librosa最好和我使用的版本一致,其他版本都沒測試過):

  • Librosa-0.7.2
  • Numpy-1.18.1
  • matplotlib-3.1.3
  • Scipy-1.4.1
  • Soundfile-0.9.0

License 開源許可協議

GPL v3.0 © ZZL

贊助

如果你喜歡本程序,並且它對你有些許幫助,歡迎給我打賞一杯奶茶哈~

微信:

支付寶: