请问高手,关于python3的讯飞语音识别,返回值,如何单独print显示结果data

wer449 2019-01-25 10:36:33
# https://doc.xfyun.cn/rest_api/%E8%AF%AD%E9%9F%B3%E5%90%AC%E5%86%99.html


请问高手,关于python3的讯飞语音识别,返回值,如何单独print显示结果data
=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=·=
源码:
#!/usr/bin/python
# -*- coding: UTF8 -*-
#原文:https://blog.csdn.net/yuanlulu/article/details/81947880
import urllib.request
import time
import urllib
import json
import hashlib
import base64
from urllib import parse

# AUDIO_PATH = " D:\Python3Projects\TorndoServer3\scr\RESTTEST\\Microphone.wav"
a = 0

def main():
f = open("D:\PycharmProjects\iflytek02.wav", 'rb')
file_content = f.read()
base64_audio = base64.b64encode(file_content)
body = parse.urlencode({'audio': base64_audio})

url = 'http://api.xfyun.cn/v1/service/v1/iat'
api_key = '6909357c85dfd931dc63954dd68d36'
param = {"engine_type":"sms16k","aue":"raw"}

x_appid = '5c4948ef9'
json_str = json.dumps(param).replace(' ', '')
print('json_str:{}'.format(json_str))
x_param = base64.b64encode(bytes(json_str, 'ascii'))
x_time = int(int(round(time.time() * 1000)) / 1000)
x_checksum_str = api_key + str( x_time ) + str(x_param)[2:-1]
print('x_checksum_str:[{}]'.format(x_checksum_str))
x_checksum = hashlib.md5(x_checksum_str.encode(encoding='ascii')).hexdigest()
print('x_checksum:{}'.format(x_checksum))
x_header = {'X-Appid': x_appid,
'X-CurTime': x_time,
'X-Param': x_param,
'X-CheckSum': x_checksum}

start_time = time.time()
req = urllib.request.Request(url, bytes(body, 'ascii'), x_header)
result = urllib.request.urlopen(req)
result = result.read()
print( "used time: {}s".format( round( time.time() - start_time, 2 ) ) )
print('result:'+str(result.decode(encoding='UTF8')))

return

if __name__ == '__main__':
main()

# a = str(result.decode(encoding='UTF8'))



输出结果为:
D:\PycharmProjects\untitled\venv\Scripts\python.exe D:/PycharmProjects/untitled/语音文字再提取储存.py
json_str:{"engine_type":"sms16k","aue":"raw"}
x_checksum_str:[6909357c85dfd931dc63954dd68d36f01548425381eyJlbmdpbmVfdHlwZSI6InNtczE2ayIsImF1ZSI6InJhdyJ9]
x_checksum:255bd98675142fd6482c4d74d155cb49
used time: 0.89s
result:{"code":"0","data":"中美数控。","desc":"success","sid":"zat0174941d@ch6ad80fa664b0475d00"}

Process finished with exit code 0

---------------------------------------------------------------------

请问高手,关于python3的讯飞语音识别,返回值,如何单独print显示结果data

显示结果:
"data":"中美数控"



...全文
198 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wer449 2019-01-26
  • 打赏
  • 举报
回复
引用 1 楼 csbinchina 的回复:
def jsonreconver(msg):
res = json.loads(msg)
return res

if __name__ == '__main__':
res = jsonreconver('{"code":"0","data":"中美数控。","desc":"success","sid":"zat0174941d@ch6ad80fa664b0475d00"}')
print(res['data'])
哥,我换了别的语音wav去识别,结果显示还是“中美数控”,我要的是只输出data这个变量,是语音识别的文本,而不是固定的“中美数控”这四个字啊,哥帮我再看看
csbinchina 2019-01-26
  • 打赏
  • 举报
回复
def jsonreconver(msg):
res = json.loads(msg)
return res

if __name__ == '__main__':
res = jsonreconver('{"code":"0","data":"中美数控。","desc":"success","sid":"zat0174941d@ch6ad80fa664b0475d00"}')
print(res['data'])

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧