開源ASR服務器vosk


 

概述

近幾年由於AI的迅速發展,語音相關的自然語言處理NLP項目也變多了,新的技術也越來越成熟,其中TTS(語音生成)和ASR(語音識別)是NLP中非常重要的環節。

今天我們介紹一個開源的ASR項目vosk,以及vosk的簡單應用方法。

Vosk是開源的語音識別工具包。Vosk支持的事情包括:

1.      支持十九種語言 - 中文,英語,印度英語,德語,法語,西班牙語,葡萄牙語,俄語,土耳其語,越南語,意大利語,荷蘭人,加泰羅尼亞語,阿拉伯, 希臘語, 波斯語, 菲律賓語,烏克蘭語, 哈薩克語。

2.      移動設備上脫機工作-Raspberry PiAndroidiOS

3.      使用簡單的 pip3 install vosk 安裝。

4.      每種語言的手提式模型只有是50Mb, 但還有更大的服務器模型可用。

5.      提供流媒體API,以提供最佳用戶體驗(與流行的語音識別python包不同)。

6.      還有用於不同編程語言的包裝器-java / csharp / javascript等。

7.      可以快速重新配置詞匯以實現最佳准確性。

8.      支持說話人識別。

 

環境

centosCentOS release 7.0 (Final)或以上版本

 

VOSK服務器

vosk服務器的部署非常簡單,有發布好的docker鏡像可以直接使用。

使用docker啟動VOSK服務器,選擇中文模型kaldi-cn

docker run -d -p 2700:2700 alphacep/kaldi-cn:latest

 

測試

客戶端的連接支持多種方式,包括grpcmqttwebrtcwebsocket等,我們可以通過git上的源代碼查找到合適的樣例。

下載vosk-server源代碼

git clone https://github.com/alphacep/vosk-server

cd vosk-server/websocket

./test.py test1.wav

 

注意事項:語音文件test1.wav的格式必須8khz 16bit mono PCM8000采樣率,16位采樣精度,單聲道,pcm)。

可以在屏幕上看到服務器返回的識別結果,結果是json格式。

{

  "result" : [{

      "conf" : 0.993990,

      "end" : 0.510000,

      "start" : 0.090000,

      "word" : "語音"

    }, {

      "conf" : 0.936422,

      "end" : 1.080000,

      "start" : 0.510000,

      "word" : "測試"

    }, {

      "conf" : 0.821353,

      "end" : 1.950000,

      "start" : 1.350000,

      "word" : "天天"

    }, {

      "conf" : 0.866125,

      "end" : 2.190000,

      "start" : 1.950000,

      "word" : ""

    }, {

      "conf" : 0.657369,

      "end" : 2.400000,

      "start" : 2.190000,

      "word" : ""

    }, {

      "conf" : 0.657369,

      "end" : 2.610000,

      "start" : 2.400000,

      "word" : ""

    }, {

      "conf" : 0.651791,

      "end" : 2.820000,

      "start" : 2.610000,

      "word" : ""

    }, {

      "conf" : 0.994422,

      "end" : 3.180000,

      "start" : 2.820000,

      "word" : "一年"

    }, {

      "conf" : 1.000000,

      "end" : 3.600000,

      "start" : 3.180000,

      "word" : "八月"

    }, {

      "conf" : 0.985209,

      "end" : 3.930000,

      "start" : 3.600000,

      "word" : "二十"

    }, {

      "conf" : 0.985209,

      "end" : 4.410000,

      "start" : 3.930000,

      "word" : "五號"

    }],

  "text" : "語音 測試 天天 是 二 零 二 一年 八月 二十 五號"

}

 

 

總結

vosk中文庫的識別結果看,還有不少的問題存在,包括識別率,分詞,分段等等,和目前市面上的商業ASR引擎還是有差距的。

當然,vosk的識別庫模型也支持自定義和優化,有興趣的同學可以去官網深入的了解一下。

vosk官網:https://alphacephei.com

OK,今天我們對vosk的介紹到此結束。


 

 

空空如常

求真得真 

開源ASR服務器vosk概述近幾年由於AI的迅速發展,語音相關的自然語言處理NLP項目也變多了,新的技術也越來越成熟,其中TTS(語音生成)和ASR(語音識別)是NLP中非常重要的環節。今天我們介紹一個開源的ASR項目vosk,以及vosk的簡單應用方法。Vosk是開源的語音識別工具包。Vosk支持的事情包括:1.支持十九種語言 - 中文,英語,印度英語,德語,法語,西班牙語,葡萄牙語,俄語,土耳其語,越南語,意大利語,荷蘭人,加泰羅尼亞語,阿拉伯, 希臘語, 波斯語, 菲律賓語,烏克蘭語, 哈薩克語。2.移動設備上脫機工作-Raspberry Pi,Android,iOS。3.使用簡單的 pip3 install vosk 安裝。4.每種語言的手提式模型只有是50Mb, 但還有更大的服務器模型可用。5.提供流媒體API,以提供最佳用戶體驗(與流行的語音識別python包不同)。6.還有用於不同編程語言的包裝器-java / csharp / javascript等。7.可以快速重新配置詞匯以實現最佳准確性。8.支持說話人識別。
環境centos:CentOS release 7.0 (Final)或以上版本
VOSK服務器vosk服務器的部署非常簡單,有發布好的docker鏡像可以直接使用。使用docker啟動VOSK服務器,選擇中文模型kaldi-cn。docker run -d -p 2700:2700 alphacep/kaldi-cn:latest
測試客戶端的連接支持多種方式,包括grpc、mqtt、webrtc、websocket等,我們可以通過git上的源代碼查找到合適的樣例。下載vosk-server源代碼git clone https://github.com/alphacep/vosk-servercd vosk-server/websocket./test.py test1.wav
注意事項:語音文件test1.wav的格式必須8khz 16bit mono PCM(8000采樣率,16位采樣精度,單聲道,pcm)。
可以在屏幕上看到服務器返回的識別結果,結果是json格式。{  "result" : [{      "conf" : 0.993990,      "end" : 0.510000,      "start" : 0.090000,      "word" : "語音"    }, {      "conf" : 0.936422,      "end" : 1.080000,      "start" : 0.510000,      "word" : "測試"    }, {      "conf" : 0.821353,      "end" : 1.950000,      "start" : 1.350000,      "word" : "天天"    }, {      "conf" : 0.866125,      "end" : 2.190000,      "start" : 1.950000,      "word" : "是"    }, {      "conf" : 0.657369,      "end" : 2.400000,      "start" : 2.190000,      "word" : "二"    }, {      "conf" : 0.657369,      "end" : 2.610000,      "start" : 2.400000,      "word" : "零"    }, {      "conf" : 0.651791,      "end" : 2.820000,      "start" : 2.610000,      "word" : "二"    }, {      "conf" : 0.994422,      "end" : 3.180000,      "start" : 2.820000,      "word" : "一年"    }, {      "conf" : 1.000000,      "end" : 3.600000,      "start" : 3.180000,      "word" : "八月"    }, {      "conf" : 0.985209,      "end" : 3.930000,      "start" : 3.600000,      "word" : "二十"    }, {      "conf" : 0.985209,      "end" : 4.410000,      "start" : 3.930000,      "word" : "五號"    }],  "text" : "語音 測試 天天 是 二 零 二 一年 八月 二十 五號"}
總結從vosk中文庫的識別結果看,還有不少的問題存在,包括識別率,分詞,分段等等,和目前市面上的商業ASR引擎還是有差距的。當然,vosk的識別庫模型也支持自定義和優化,有興趣的同學可以去官網深入的了解一下。vosk官網:https://alphacephei.comOK,今天我們對vosk的介紹到此結束。
空空如常求真得真


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM