当前位置:   article > 正文

轻松识别几个小时的长音视频文件_funasr长对话提取断句时间长提取不到

funasr长对话提取断句时间长提取不到

前言

之前的文章绍一个准确率非常高的语音识别框架,但那个只能识别实时的短音频,如果想要识别一个非常长的音频,几十分钟,甚至几个小时,那之前的那个是做不到的所以就有了本文。本文介绍搭建一个长语音识别服务,可以把任意长度的音视频到识别结果。而且识别结果中,可以包含每句话的开始时间和结束时间,可以用来做字幕等等。

视频教程: 三行命令搭建语音识别服务,竟如此轻松识别几个小时的音视频!

启动Docker服务

需要把整个文件夹上传到服务器上,并在该目录执行以下命令:

编译Docker容器:

sudo docker build -t offline_asr .
  • 1

修改权限:

sudo chmod +x run_server.sh
  • 1

在项目根目录执行启动命令:

sudo docker run -p 10095:10095 -itd --privileged=true --name offline_asr -v $PWD/:/workspace/websocket offline_asr
  • 1

重新启动服务,如果之前因为一些原因关闭了docker服务,可以执行下面命令重新启动,需要开机自启动的,把下面命令复制到开机自启动脚本中/etc/rc.local

sudo docker start offline_asr
  • 1

测试服务

使用上面服务之后,可以执行下面命令测试一下服务是否正常启动可用。

python client.py --wav_path=test.wav
  • 1

输出结果如下,可以看到输出的结果中,每句话都带有开始和结束的时间戳,单位毫秒:

【../data/test.wav】结果: [{'text': '近几年,', 'start': '710', 'end': '1569'}, {'text': '不但我用书给女儿压岁,', 'start': '1569', 'end': '3550'}, {'text': '也劝说亲朋不要给女儿压岁钱而改送压岁书。', 'start': '3550', 'end': '7935'}]
  • 1

搭建HTTP服务

上面搭建的是websocket的服务,使用起来非常不方便,所以下面提供了一个Websockt转http服务的程序,并且提供了网页可以上传音视频获取识别结果,启动HTTP服务命令如下。

python server.py
  • 1

访问http://192.168.0.100:6060打开页面,可以上传WAV、MP3、MP4等多种格式,同时也支持录制识别,返回的同样是每句话都有时间戳。

{
  "result": {
    "text": "近几年,不但我用书给女儿压岁,也劝说亲朋不要给女儿压岁钱而改送压岁书。",
    "sentences": [
      {
        "text": "近几年,",
        "start": "710",
        "end": "1569"
      },
      {
        "text": "不但我用书给女儿压岁,",
        "start": "1569",
        "end": "3550"
      },
      {
        "text": "也劝说亲朋不要给女儿压岁钱而改送压岁书。",
        "start": "3550",
        "end": "7935"
      }
    ]
  },
  "code": 0
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

页面截图:
在这里插入图片描述

扫码入知识星球,搜索【FunASR语音识别长音频视频服务】获取源码

知识星球
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/288740
推荐阅读
相关标签
  

闽ICP备14008679号