100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 调用有道API实现语音翻译(汉译英)

调用有道API实现语音翻译(汉译英)

时间:2021-12-20 13:57:30

相关推荐

调用有道API实现语音翻译(汉译英)

目录

1. 作者介绍2. 相关介绍2.1 API介绍2.2 网易API介绍 3. 实验过程3.1 调用过程3.2 代码获取3.3 完整代码3.4 实验结果

1. 作者介绍

南旭东,男,西安工程大学电子信息学院,级研究生

研究方向:机器视觉与人工智能

电子邮件:1257571953@

路治东,男,西安工程大学电子信息学院,级研究生,张宏伟人工智能课题组

研究方向:机器视觉与人工智能

电子邮件:2063079527@

2. 相关介绍

2.1 API介绍

API(Application Programming Interface),翻译就是应用程序接口,本质上就是是一些预先定义的函数。通俗解释就是,你要实现某些需求,比如很热,我想让风扇转起来,这样我就不热了,我知道让风扇转,就要用到电,但是我不会发电,也不想研究怎么发电,我只想用现成的,发电站也知道我这么懒这么笨,所以就造了一个接口给我,跟我说,你只要把风扇的插头插入这个接口上,就可以用发电站生产的电了,风扇就会转了。放到写代码这块就是,举例子,我要实现一个东西,效果就是产生一个窗口,我不会从0开始造,也不想研究怎么从0开始造,我就想调用一个函数,给这个函数添上点参数就能实现我要的尺寸大小的窗口,这个时候,所谓的api就是这个函数。

2.2 网易API介绍

有道翻译API,为广大开发者提供开放接口。您的应用或网站可通过有道翻译API,构建丰富多样的功能或应用,为用户带来即时,准确,方便的查词或翻译体验,从而降低语言理解与应用门槛。

3. 实验过程

3.1 调用过程

1.搜索有道智云API,点击并进入

2.点击登录

3.登陆进去之后,再点击自己的头像进入个人中心

4.在左侧一栏选择:“自然语言翻译服务”,之后点击语音翻译

5.在右上角点击创建应用

6.选项如图

7.创建完成之后选择自己的IDYEK

3.2 代码获取

1.再来到首页,如图顺序进行下载调用代码文件包

2.得到如下图所示的文件夹,依次打开

3.准备自己的音频文件,不能大于2M,必须是WAV格式的语音文件

这里提供一个语音格式转换网站:链接: /?agent=ck15

3.3 完整代码

import sysimport uuidimport requestsimport waveimport base64import hashlibimport jsonfrom importlib import reloadreload(sys)YOUDAO_URL = '/speechtransapi'APP_KEY = '你的key'APP_SECRET = '你的secret'def truncate(q):if q is None:return Nonesize = len(q)return q if size <= 20 else q[0:10] + str(size) + q[size-10:size]def encrypt(signStr):hash_algorithm = hashlib.md5()hash_algorithm.update(signStr.encode('utf-8'))return hash_algorithm.hexdigest()def do_request(data):headers = {'Content-Type': 'application/x-www-form-urlencoded'}return requests.post(YOUDAO_URL, data=data, headers=headers)def connect():audio_file_path = 'D:\\myvideo\\yin.wav'#更换成自己wav文件所在位置extension = audio_file_path[audio_file_path.rindex('.')+1:]if extension != 'wav':print('不支持的音频类型')sys.exit(1)wav_info = wave.open(audio_file_path, 'rb')sample_rate = wav_info.getframerate()nchannels = wav_info.getnchannels()wav_info.close()with open(audio_file_path, 'rb') as file_wav:q = base64.b64encode(file_wav.read()).decode('utf-8')data = {}data['from'] = 'zh-CHS'data['to'] = 'en'salt = str(uuid.uuid1())signStr = APP_KEY + q + salt + APP_SECRETsign = encrypt(signStr)data['appKey'] = APP_KEYdata['q'] = qdata['salt'] = saltdata['sign'] = signdata['signType'] = "v1"data['rate'] = sample_ratedata['format'] = 'wav'data['channel'] = nchannelsdata['type'] = 1response = do_request(data)result = json.loads(bytes.decode(response.content))print("原文:", result['query'])print("译文:", result['translation'])# print(result)if __name__ == '__main__':connect()

3.4 实验结果

如图所示,输入一段语音,显示了原文和英文。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。