python科大讯飞语音接口不能用_Python3使用科大讯飞API接口实现音频文件转写

  • Post author:
  • Post category:python


注意事项

科大讯飞语音转写 API 文档链接: https://www.xfyun.cn/doc/asr/lfasr/API.html.

科大讯飞语音转写Python3的demo下载链接:http://xfyun-doc.ufile.ucloud.com.cn/1564736425808301/weblfasr_python3_demo.zip

上一篇写了用百度智能云进行音频文件转写的博客,但是那个效果啊,有点惨不忍睹,至少我的识别结果是这样。然后转而使用了一下科大讯飞的,想着科大讯飞专门做语音相关的这一块,应该会好些。语音转写的Python3的demo代码确实很不错,函数接口很简洁,本文代码都是这个demo里面的。识别准确率还是可以的,而且不需要像百度那样整点才开始识别,很快就返回了识别结果。

如果你的录音是不止一个人,而是像电话录音那种,想把转写结果中不同人说的话分离出来,请按照下面这样添加预处理参数(demo中默认是没有添加这儿最后两个参数的,不添加的话,默认是不进行角色分离的):

这样的话,转写结果的speaker的值就不全是0了,而是根据不同的人对转写结果进行分离:

操作系统:Windows

Python:3.6

可用时长: 免费用户时长5小时,且用且珍惜。

音频属性: 采样率16k或8k、位长8bits或16bits、单声道&多声道

音频格式: wav/flac/opus/m4a/mp3

音频大小: 不超过500M

音频时长: 不超过5小时,建议5分钟以上

语言种类: 中文普通话、英文

转写结果保存时长 30天。(同一通录音不需要重新上传识别,如果你已经上传识别过了,之后只需要使用api.get_result_request(taskid)的方式即可再次获取识别结果,taskid是你第一次上传录音时给你分配的任务ID,避免重复上传浪费可用时长)

APP_ID, SECRET_KEY的获取

讯飞的好像不需要API_KEY,开放授权的方式和其他大厂的类似:

1、页面右上方“控制台”点击进入,登录讯飞账号(没有就注册一个),进入讯飞开放平台。

2、左侧导航栏上方,依次选择 语音识别->语音转写->离线语音转写识别。

3、服务申请。点击“创建应用”,“接口选择”已默认勾选完成,如无其他需求,无需勾选,完成其他资料后,点击最下方“立即创建”按钮。自己可以手动领取5小时免费试用体验包。

4、应用成功则页面显示“创建完毕”,点击”返回应用列表”, 查看新创建应用详情,在服务接口认证信息窗口就可以看到返回的AppID,SecretKey。

话不多说,直接上代码了

# -*- coding: utf-8 -*-

#

# author: yanmeng2

#

# 非实时转写调用demo

import base64

import hashlib

import hmac

import json

import os

import time

import requests

lfasr_host = ‘http://raasr.xfyun.cn/api’

# 请求的接口名

api_prepare = ‘/prepare’

api_upload = ‘/upload’

api_merge = ‘/merge’

api_get_progress = ‘/getProgress’

api_get_result = ‘/getResult’

# 文件分片大小10M

file_piece_s



版权声明:本文为weixin_34792641原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。