本地搭建asr服务,mp3或者wav音频转文本

nway_asr_server服务和各语言模型

使用的是大佬的工具。

记录一下使用。

按照要求在服务器部署好nway_asr_server

使用说明:

nway_asr_server V1.7

chmod +x /opt/nway_asr_server/nway_asr_server

1. 需要让程序运行时的用户有权限创建 /opt/fsgui/log 文件夹

2. 此程序使用的是vosk的库,是笔者2011年10月开发

3. 支持各类的linux平台,但需要把 libvosk.so和libatomic-1abecf58.so.1.2.0 在debian体系中的 /lib/下

    而在centos系列中,则要放到 /lib64/.下  当然有其它方式,就不要管它了

4. 此版本的model中是一个大集,压缩包有1.3G

5. 此版本建议在6core 12G内存以上跑

6. 默认监听在ws://ip:20035/nway_asr



nway_asr_client

1. 配置访问的地址:nway.ini

类似配置

[server]

ip=ws://10.0.0.114:20035/nway_asr



2. 调用方式

如果是linux下的,则需要 unzip nway_asr_client.zip后
chmod +x /opt/nway_asr_client/nway_asr_client后
nway_asr_client  "" wav_file_path 或
nway_asr_client.exe  "" wav_file_path

""只是为了兼容,但必须有该参数,wav_file_path则是电话中单声道的8k 8bit 录音

启动好后可以本地调用nway_asr.exe

我freeswitch保存的录音是mp3格式的,所以需要转换一下,使用的pyhoon转换

from pydub import AudioSegment
import subprocess
import os
 
def mp3_to_wav(input_path, output_path):
    sound = AudioSegment.from_mp3(input_path)
    sound.export(output_path, format='wav')
    exe_path = '.\\nway_asr_client\\nway_asr.exe  '+output_path
    return run_exe(exe_path)
 
def run_exe(exe_path):
    process = subprocess.Popen(exe_path, stdout=subprocess.PIPE)
    output, _ = process.communicate()
    return output.decode('utf-8')
# 调用函数
print(mp3_to_wav('.\\nway_asr_client\\8f91d8cf-e68d-454f-a6d1-e6309d8bf769.mp3','.\\nway_asr_client\\output.wav'))

 示例,文本识别还是有一些问题,不过基本的质检是够的

如果是wav格式则可以直接识别,不需要转换

import subprocess

def run_exe(exe_path):
    process = subprocess.Popen('.\\nway_asr_client\\nway_asr.exe  .\\nway_asr_client\\3.wav ', stdout=subprocess.PIPE)
    output, _ = process.communicate()
    return output.decode('utf-8')

exe_path = 'D:\\BaiduNetdiskDownload\\nway_asr_client\\nway_asr.exe'
output = run_exe(exe_path)
print(output)

仅做记录用,再次感谢大佬

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值