目录
1.安装开源库;
2.下载中文model(也可以先不下载)
3.使用转换
4. 效果展示
(唠嗑)出发背景:我听到一段长达一小时的音频,里面讲的特别好,我就想下载转成文字再看看,可是用软件超1分钟就要花钱,因为我不想花钱,就就搜搜开源库,嘿嘿。
整体分为三步:1.安装开源库; 2.下载中文model; 3.使用转换。
1.安装开源库;
目录
1.安装开源库;
2.下载中文model
3.使用转换
在anaconda虚拟环境下操作
# 1. 整个独立的虚拟环境,以防整乱别的环境
$ conda create -n speech python=3.9
# 2. 安装开源库,这里用的是vosk
$ pip install vosk -i https://pypi.doubanio.com/simple
# 3. 验证ffmpeg是否已安装,调用命令行(windows+R输入cmd)/ Ubuntu终端
$ ffmpeg –version
# 4. 没有安装的话,
# windows下
https://blog.csdn.net/qq_43803367/article/details/110308401,
这个大神写的特别清楚,我就是按照他的安装成功的
# Ubuntu下
$ sudo apt-get install ffmpeg
2.下载中文model(也可以先不下载)
下载地址: https://alphacephei.com/vosk/models
3.使用转换
GitHub - alphacep/vosk-api: Offline speech recognition API for Android, iOS, Raspberry Pi and servers with Python, Java, C# and Node在下载后的解压文件的python文件夹里,可以看代码
# windows
$ cd xxx/xxx
# 查看help命令
$ vosk-transcriber -h
# 列举当前的语言
$ vosk-transcriber --list-languages
# 方式一 :中文语音转汉字
$ vosk-transcriber -i xxx.mp3 -o xxx.txt -l cn
# 方式二 :中文语音转汉字, 也可以去网站下载模型后直接指定模型路径
$ vosk-transcriber -i xxx.mp3 -o xxx.txt -m 解压后的文件夹路径
4. 效果展示
一段一小时的音频,在我windows的普通笔记本电脑上大概用了10分钟翻译好的。
它翻译出来是这样式的,一段段的,没有标点符号的,还有空格,小部分可能翻译的有误差,在处理一下
就简单的处理一下,凑活看看
处理代码如下:
import os
def adjust_chinese(path: str) -> None:
"""
:param path:
:return:
"""
with open(path, "r", encoding="utf-8") as fr:
input_1 = fr.read()
#
output = "".join(input_1.split(" "))
output = "".join(output.split(" "))
#
output_list = output.split("\n")
new_output_list = list()
for i_row in output_list:
i_row = i_row.replace("呢", "呢?")
i_row = i_row.replace("吗", "吗?")
i_row = i_row.replace("啊", "啊!")
i_row = i_row.replace("呀", "呀!")
new_output_list.append(i_row)
new_output = ",\n".join(new_output_list)
new_output = new_output.replace("?,", "?")
new_output = new_output.replace("!,", "!")
# print(new_output)
out_path = os.path.join(os.path.dirname(path), "output.txt")
with open(out_path, "w", encoding="utf-8") as fw:
fw.write(new_output)
if __name__ == '__main__':
path = r"242.txt" # 指定通用的拼接音频文件
adjust_chinese(path) # output.txt
参考阅读
发表评论