步驟1:安裝Python3環境
前往 https://www.python.org/downloads/ 下載Windows環境版本(Python 3.8以上)。安裝過程中選中「Add Python directory to 'PATH' environment variable」。選中之後,Python可以像系統自帶命令一樣,在所有CMD目錄下運行。否則每次執行Python都需要輸入它的目錄位置。其他選項按默認即可。
(可選操作)步驟1a:替換下載鏡像為清華大學鏡像源
在命令行輸入 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
這樣對於國內用戶來說下載速度會更快
步驟2:安裝VOSK API庫
打開CMD(命令提示符)輸入 pip install vosk
步驟3:配置目錄並下載語音模型
在桌面創建 vosk 目錄。
前往 https://alphacephei.com/vosk/models 下載中文語音模型。
或者直接點擊下面的鏈接下載,並解壓到vosk目錄下。將解壓出來的目錄重命名為 「model」(不含引號)。
vosk-model-cn-0.1.zip
195M TBD Big narrowband Chinese model for server processing Apache 2.0
步驟4:下載ffmpeg
前往 https://github.com/BtbN/FFmpeg-Builds/releases 下載ffmpeg,並將 ffmpeg.exe 解壓到桌面 vosk 目錄內
步驟5:安裝並打開Notepad++ (或者使用你自己的高級文本編輯器)
前往 https://notepad-plus-plus.org/downloads/ 下載 notepad++
(國內鏡像:http://www.pc6.com/softview/SoftView_13941.html)
安裝打開,並創建新文件,拷貝以下內容:
- #使用方法
- #拷貝語音模型到當前目錄下 並命名為 'model'
- #拷貝ffmpeg.exe文件到當前目錄下
- #執行 python test_ffmpeg.py speech.mp3 即可
- #!/usr/bin/env python3
- from vosk import Model, KaldiRecognizer, SetLogLevel
- import sys
- import os
- import wave
- import subprocess
- import json
- SetLogLevel(0)
- if not os.path.exists("model"):
- print ("Please download the model from https://alphacephei.com/vosk/models and unpack as 'model' in the current folder.")
- exit (1)
- sample_rate=16000
- model = Model("model")
- rec = KaldiRecognizer(model, sample_rate)
- process = subprocess.Popen(['ffmpeg', '-loglevel', 'quiet', '-i',
- sys.argv[1],
- '-ar', str(sample_rate) , '-ac', '1', '-f', 's16le', '-'],
- stdout=subprocess.PIPE)
- f = open("result.txt", "w+")
- while True:
- data = process.stdout.read(10000)
- if len(data) == 0:
- break
- if rec.AcceptWaveform(data):
- re = rec.Result()
- print(re)
- re = json.loads(re)
- f.write(re['text'] + '\n')
- else:
- print(rec.PartialResult())
- f.close()
- # print(rec.FinalResult())
複製代碼
另存為 vosk 目錄下的 voice2text.py 文件。
(可選步驟)步驟4a:調試命令行
步驟4給出的代碼最適合處理mp3錄音文件。如果你想要處理更多形式的音頻,例如實時錄音,或者更多的對話模式,例如電影對白,你可以參考官方的代碼,地址是 https://github.com/alphacep/vosk-api/tree/master/python/example 。
步驟4的代碼就是根據官方的 test_ffmpeg.py 代碼修改而來。
步驟6:運行程序並識別文字
將需要識別的mp3/wav/mp4等音視頻文件拷貝至 桌面的vosk目錄內。例如,我需要識別的文件為 story.mp3。
進入CMD環境,輸入 cd ~/Desktop/vosk 進入工作目錄,然後輸入 python voice2text.py story.mp3。
系統開始識別語音內容,你可以看到識別的文字在窗口內一段段顯示出來。
識別效果
最終結果將存儲到 vosk 目錄下的 result.txt 文件內。你可以在word中進一步處理這些內容。
|