今天看了下科大讯飞语音识别api,使用python对接口进行了调用。
科大讯飞在语音方面做得可以说不错的,接口调用也很是友好,可以对本地的语音文件进行识别测试,官方文档有不错的说明–语音转写API文档
1.首先需要在科大讯飞平台注册一个账号,进入控制台。
2.根据自己需要在选择语音识别一栏,创建一个应用。我选择的时语音转写—离线语音转写识别。
3.创建好应用后,在页面最下方,点击领取5小时免费试用体验包,期限是一个月。如下图
4.试用python的demo进行本地语音识别测试,python代码如下:
同时附上下载官方链接
说明:需要修改代码最后的AppID,SecretKey,还有填写本地的语音文件地址 file_path 。AppID,SecretKey在科大讯飞平台上创建好应用后就会给出。如图:
# -*- coding: utf-8 -*-
#
# 非实时转写调用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_sice = 10485760
# ——————————————————转写可配置参数————————————————
# 参数可在官网界面(https://doc.xfyun.cn/rest_api/%E8%AF%AD%E9%9F%B3%E8%BD%AC%E5%86%99.html)查看,根据需求可自行在gene_params方法里添加修改
# 转写类型
lfasr_type = 0
# 是否开启分词
has_participle = 'false'
has_seperate = 'true'
# 多候选词个数
max_alternatives = 0
# 子用户标识
suid = ''
class SliceIdGenerator:
"""slice id生成器"""
def __init__(self):
self.__ch = 'aaaaaaaaa`'
def getNextSliceId(self):
ch = self.__ch
j = len(ch) - 1
while j >= 0:
cj = ch[j]
if cj != 'z':
ch = ch[:j] + chr(ord(cj) + 1) + ch[j + 1:]
break
else:
ch = ch[:j] + 'a' + ch[j + 1:]
j = j - 1
self.__ch = ch
return self.__ch
class RequestApi(object):
def __init__(self, appid, secret_key, upload_file_path):
self