Python 通过 百度 rest 进行 语音翻译成中文文字。

挺简单直接代码:

 

import base64
from urllib import request, parse
import json
import requests
import os
import urllib


#获取通行证token。
def get_token():
	client_id = 'cy57gvVAsEpxHpwtBB9zI9np'
	client_secret = 'T0QiUe8DGXUIS0mIABodTXGhVViTtGYr'
	
	login_data = parse.urlencode([
		('grant_type','client_credentials'),
		('client_id', client_id),
		('client_secret', client_secret)
	])

	req = request.Request('https://openapi.baidu.com/oauth/2.0/token')

	with request.urlopen(req, data=login_data.encode('utf-8')) as f:
		data  =  f.read().decode('utf-8')
		token = json.loads(data)['access_token']
		return token

#获取语音数据speech
def get_base64_wav():
	path = 'D:\Python3Projects\TorndoServer3\scr\RESTTEST\\Microphone.wav'
	print(path)

	with open(path, 'rb') as f:
		wav = f.read()

		print('wav : ',type(wav))
		wav_base64 = base64.b64encode(wav).decode('utf-8')
		size = len(wav)
		f2 = open('D:\Python3Projects\TorndoServer3\scr\RESTTEST\\test.txt','w')
		f2.write(wav_base64)
		f2.close()
		
		return wav_base64, size

#直接获得识别后的文字数据
def post_wav():
	token = get_token()
	speech,size = get_base64_wav()
	print('likai : ',size)
	dict_name_value_pairs = {
		'format':'wav',
		'rate': 8000,
		'channel': 1,
		'cuid': 'yxh5274',
		'token': token,
		'speech': speech,
		'len': size,
		'lan': 'zh'
	}
	headers = {'Content-Type' : 'application/json'}
	post_data = json.dumps(dict_name_value_pairs)

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

	data = requests.post(url, data = post_data, headers = headers)
	
	print (data.text)


post_wav()

 

 

 

 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值