百度语音识别API实战

发布时间:2024-12-23 04:37

使用语音识别软件,实时反馈口语发音 #生活技巧# #学习技巧# #英语口语提升#

1.功能描述:

将60秒内的语音快速识别为文字,适用于手机语音输入、语音搜索、人机对话等语音交互场景

2.平台接入

具体接入方式比较简单,可以参考我的另一个帖子,这里就不重复了:
http://ai.baidu.com/forum/topic/show/943327

3.调用攻略(Python3)及评测

3.1首先认证授权:

在开始调用任何API之前需要先进行认证授权,具体的说明请参考:

http://ai.baidu.com/docs#/Auth/top

具体Python3代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python

import urllib
import base64
import json
#client_id 为官网获取的AK, client_secret 为官网获取的SK
client_id =【百度云应用的AK】
client_secret =【百度云应用的SK】

#获取token
def get_token():
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
request = urllib.request.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib.request.urlopen(request)
token_content = response.read()
#print (token_content)
if token_content:
token_info = json.loads(token_content)
token_key = token_info['access_token']
return token_key

3.2百度语音识别分析接口调用:

详细说明请参考:https://ai.baidu.com/docs#/ASR-API-PRO/top

说明的比较清晰,这里就不重复了。

大家需要注意的是:
格式支持:pcm(不压缩)、wav(不压缩,pcm编码)、amr(压缩格式)、m4a(AAC编码);固定16k 采样率;
系统支持语言种类 普通话

Python3调用代码如下:

# 只支持 pcm/wav/amr 格式,极速版额外支持m4a 格式

# 输入参数需要识别的文件

def asr(AUDIO_FILE):

# 文件格式

FORMAT = AUDIO_FILE[-3:]; # 文件后缀只支持 pcm/wav/amr 格式,极速版额外支持m4a 格式

print(FORMAT)

CUID = '123456PYTHON';

# 采样率

RATE = 16000; # 固定值

# 普通版

DEV_PID = 1537; # 1537 表示识别普通话,使用输入法模型。1536表示识别普通话,使用搜索模型。根据文档填写PID,选择语言及识别模型

ASR_URL = 'http://vop.baidu.com/server_api'

token = get_token()

speech_data = []

with open(AUDIO_FILE, 'rb') as speech_file:

speech_data = speech_file.read()

length = len(speech_data)

if length == 0:

print('file %s length read 0 bytes' % AUDIO_FILE)

params = {'cuid': CUID, 'token': token, 'dev_pid': DEV_PID}

#测试自训练平台需要打开以下信息

#params = {'cuid': CUID, 'token': token, 'dev_pid': DEV_PID, 'lm_id' : LM_ID}

params_query = urlencode(params);

headers = {

'Content-Type': 'audio/' + FORMAT + '; rate=' + str(RATE),

'Content-Length': length

}

url = ASR_URL + "?" + params_query

print("url is", url);

print("header is", headers)

# print post_data

req = Request(ASR_URL + "?" + params_query, speech_data, headers)

try:

begin = timer()

f = urlopen(req)

result_str = f.read()

print("Request time cost %f" % (timer() - begin))

except URLError as err:

print('asr http response http code : ' + str(err.code))

result_str = err.read()

result_str = str(result_str, 'utf-8')

print(result_str)

with open("result.txt", "w") as of:

of.write(result_str)

asr('../voc/16k.wav')


4.功能评测和建议
测试下来,整体识别效果不错。百度语音识别的很准确,速度也很快,用起来非常的方便。可以应用于
语音输入
摆脱按键操作,通过语音识别直接输入文字,快速返回识别结果,可应用于游戏文字输入、社交聊天、语音指令等多个场景,提高输入效率及体验
语音搜索
搜索内容直接以语音的方式输入,响应速度更快,适用于音乐、电影、小说等内容搜索场景,让搜索内容输入更加便捷,高效
人机对话
通过极速API接口,将语音识别为文字,毫秒级响应,可用于聊天机器人、故事机等近场语音识别环境,让人机对话更加流畅自然

网址:百度语音识别API实战 https://www.yuejiaxmz.com/news/view/544179

相关内容

python 语音识别(百度api)
百度语音识别 python
Python实现语音识别:百度baidu
百度语音识别
百度AI 开放平台 >>> 智能语音识别
百度语音识别功能以及优势
使用百度ai进行文字识别、语音合成
实战案例:AI在语音识别与语音合成领域的应用
求助,google语音识别api问题
语音识别技术的应用实例

随便看看