步骤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中进一步处理这些内容。