【Python 軍火庫🧨 - silero-vad】 偵測語音活動的神兵利器

更新於 發佈於 閱讀時間約 4 分鐘
raw-image



當我們在進行「語音辨識」的應用開發時, 首先會面臨一個問題, 那就是究竟要怎麼知道哪些段落是「人在說話的區段」, 精確的標示出這些區段之後, 我們除了可以儲存成純對話的段落, 還可以做出時間軸的字幕檔, 應用非常廣泛, 因此學會怎麼用VAD是進入語音領域非常重要的其中一個環節。

VAD代表語音活動檢測, 全名為 Voice Activity Detection, 它是信號處理技術, 主要從音訊中分離出人類語音的部份,算法的實現方式多樣,通常基於信號的能量、短時過零率、頻譜特徵等。一些先進的 VAD 算法也使用機器學習技術,如深度學習,來提高準確性和適應性。

silero-vad 擁有著許多特點與強項, 號稱:

  • 精準: Quality Metrics
  • 快速: Performance Metrics
  • 輕量化: 模型不到3MB
  • 彈性的取樣率: 16k、8k。
  • 彈性的塊長度: 模型訓練時間為 30 毫秒, 直接支援更長的區塊,其他區塊也可以工作。
  • 高度可移植性: pytorch、onnx。
raw-image


安裝套件

pip install torch
pip install torchaudio

# 假設會使用到onnx模型時才需要安裝
pip install onnxruntime

開箱即用

簡單的五個步驟就能夠取出聲音的時間區段…

# 載入模型
model, utils = torch.hub.load(repo_or_dir='snakers4/silero-vad',
model='silero_vad',
force_reload=True,
onnx=USE_ONNX)

# 載入工具庫
(get_speech_timestamps,
save_audio,
read_audio,
VADIterator,
collect_chunks) = utils

# 讀取音檔
wav = read_audio('en_example.wav', sampling_rate=SAMPLING_RATE)

# 取得音檔的時間區段
speech_timestamps = get_speech_timestamps(wav, model, sampling_rate=SAMPLING_RATE)
pprint(speech_timestamps)

# 儲存僅有人聲的區段
save_audio('only_speech.wav',
collect_chunks(speech_timestamps, wav), sampling_rate=SAMPLING_RATE)

哪些專案正在使用?

我們可以看到Github上許多的專案都使用到了silero-vad 這個工具, 通常都跟語音應用相關, 包括基礎的語音辨識、爬蟲、Yoiutube串流辨識…等, 應用非常多元, 我們不妨也試著玩玩看, 說不定會從中得到一點啟發創造出全新的應用。

https://github.com/search?q=silero-vad&type=repositories

raw-image



您可能會需要的… 如何載入本地端模型?

為什麼會說您可能會需要? 因為我們總不可能任何環境都能夠連網, 一旦沒有網路時, 模型該怎麼下載? 尤其是產品要進入到客戶的封閉網路環境時, 載入本地端的模型就非常重要了…。

我們只要將source指定為local以及trust_repo指定為None即可載入本地端專案。

model, utils = torch.hub.load(
repo_or_dir='silero-vad的專案目錄, git clone ',
model='silero_vad',
trust_repo=None,
source='local',
)

結語

語音領域的技術堆疊也是蠻深的, 要做好語音辨識不只有模型的訓練過程, 還包含前置的語音訊號處理, 畢竟收音端的來源非常多元, 環境的吵雜也會影響著辨識率, 而要如何提高精準度就有賴於我們對於語音的背景知識了, 我們後續也會在會員專屬區分享這些知識, 歡迎一同加入學習。

留言
avatar-img
留言分享你的想法!
阿Han-avatar-img
發文者
2024/02/28
哈哈 是偵測語音說話段落
好厲害竟然可以有偵測語言的🤣🤣🤣🤣偶要和錄音筆一起發揮功效😆
avatar-img
阿Han的沙龍
130會員
288內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
阿Han的沙龍的其他內容
2025/01/29
🤔 簡單且靜態就足夠了? 相信我們在開發Python應用程式的過程中, 常常會借用Enum來定義我們可能的選項, 就像顏色紅、綠、黃會有這樣的結構: class Color(str, Enum): RED = 'red' GREED = 'green' YELLOW = 'yel
Thumbnail
2025/01/29
🤔 簡單且靜態就足夠了? 相信我們在開發Python應用程式的過程中, 常常會借用Enum來定義我們可能的選項, 就像顏色紅、綠、黃會有這樣的結構: class Color(str, Enum): RED = 'red' GREED = 'green' YELLOW = 'yel
Thumbnail
2025/01/08
當我們的系統發展到一定程度時, 難免會面臨到正式上線的問題, 要如何讓維運更加簡易呢? 尤其隨著複雜的客製化配置的出現時, 我們應該如何有效的管理, 甚至驗證配置是否如預期資料型態、格式…, 而正好 pydantic 可以滿足這樣的需求, 就讓我們來看看怎麼使用吧! 需安裝的套件 pip i
Thumbnail
2025/01/08
當我們的系統發展到一定程度時, 難免會面臨到正式上線的問題, 要如何讓維運更加簡易呢? 尤其隨著複雜的客製化配置的出現時, 我們應該如何有效的管理, 甚至驗證配置是否如預期資料型態、格式…, 而正好 pydantic 可以滿足這樣的需求, 就讓我們來看看怎麼使用吧! 需安裝的套件 pip i
Thumbnail
2025/01/02
要如何使用unicorn啟動多個FastAPI服務, 歡迎參考我們的「【💊 Python的解憂錦囊 - FastAPI】如何啟動多個Workers」。 當我們試著設計帶入模組化時… 我們在「【💊 Python的解憂錦囊 - FastAPI】使用 lifespan 來共享資料與管理生命週期
Thumbnail
2025/01/02
要如何使用unicorn啟動多個FastAPI服務, 歡迎參考我們的「【💊 Python的解憂錦囊 - FastAPI】如何啟動多個Workers」。 當我們試著設計帶入模組化時… 我們在「【💊 Python的解憂錦囊 - FastAPI】使用 lifespan 來共享資料與管理生命週期
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
輔音中響度相對較大的鼻音、邊音具有與元音相似的特性,可以自成音節。我們生活周遭的英語、臺語、客語等都有類似的例子。而除了鼻音、邊音之外,其他響度較小的輔音似乎就沒辦法自成音節......了嗎?
Thumbnail
輔音中響度相對較大的鼻音、邊音具有與元音相似的特性,可以自成音節。我們生活周遭的英語、臺語、客語等都有類似的例子。而除了鼻音、邊音之外,其他響度較小的輔音似乎就沒辦法自成音節......了嗎?
Thumbnail
這篇教學介紹如何進行中文語音訓練,包括準備素材、GPT-SoVITS安裝步驟、音頻切割、字幕打標和推理等。文章提供了清晰的教學步驟,適合初學者閱讀。
Thumbnail
這篇教學介紹如何進行中文語音訓練,包括準備素材、GPT-SoVITS安裝步驟、音頻切割、字幕打標和推理等。文章提供了清晰的教學步驟,適合初學者閱讀。
Thumbnail
  我們在語音初探篇提到TTS的流程可以分成三個部分 :輸入前處理、預測音訊特徵、語音重建,其中輸入前處理的部分上兩篇已經處理完,在進入預測音訊特徵前,讓我們先來理解最後的語音重建部分。
Thumbnail
  我們在語音初探篇提到TTS的流程可以分成三個部分 :輸入前處理、預測音訊特徵、語音重建,其中輸入前處理的部分上兩篇已經處理完,在進入預測音訊特徵前,讓我們先來理解最後的語音重建部分。
Thumbnail
拼字,靠死背:多少人能背光那些例外? 文法,靠理解:多少人能解密那些規則? 語意,靠閱讀:多少人能「看」出那些「音效」?
Thumbnail
拼字,靠死背:多少人能背光那些例外? 文法,靠理解:多少人能解密那些規則? 語意,靠閱讀:多少人能「看」出那些「音效」?
Thumbnail
當我們在進行「語音辨識」的應用開發時, 首先會面臨一個問題, 那就是究竟要怎麼知道哪些段落是「人在說話的區段」, 精確的標示出這些區段之後, 我們除了可以儲存成純對話的段落, 還可以做出時間軸的字幕檔, 應用非常廣泛, 因此學會怎麼用VAD是進入語音領域非常重要的其中一個環節。 VAD代表
Thumbnail
當我們在進行「語音辨識」的應用開發時, 首先會面臨一個問題, 那就是究竟要怎麼知道哪些段落是「人在說話的區段」, 精確的標示出這些區段之後, 我們除了可以儲存成純對話的段落, 還可以做出時間軸的字幕檔, 應用非常廣泛, 因此學會怎麼用VAD是進入語音領域非常重要的其中一個環節。 VAD代表
Thumbnail
語言是一種聲波,頻率對了,力量無窮
Thumbnail
語言是一種聲波,頻率對了,力量無窮
Thumbnail
1.賦予對方一個角色的框架,會讓對方更願意照著你的意思去行動。 2.要讓聽者相信你說的話,措辭很重要,分成三種:規避語、確定語、填補語。 3.善用確定語可以讓自己說話更有自信,更加具有說服力。 4.有時候需要巧用規避語,來為雙方對話增添一些潤滑空間,也可規避一些不必要的麻煩。
Thumbnail
1.賦予對方一個角色的框架,會讓對方更願意照著你的意思去行動。 2.要讓聽者相信你說的話,措辭很重要,分成三種:規避語、確定語、填補語。 3.善用確定語可以讓自己說話更有自信,更加具有說服力。 4.有時候需要巧用規避語,來為雙方對話增添一些潤滑空間,也可規避一些不必要的麻煩。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News