windows10或ubuntu系统下,中文音频转汉字

目录

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值