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

news2024/11/19 9:27:17

目录

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

1. 作者介绍

南旭东,男,西安工程大学电子信息学院,2022级研究生
研究方向:机器视觉与人工智能
电子邮件:1257571953@qq.com

路治东,男,西安工程大学电子信息学院,2022级研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:2063079527@qq.com

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格式的语音文件
这里提供一个语音格式转换网站:链接: https://www.pdf365.cn/?agent=ck15

3.3 完整代码

import base64

import requests

from utils.AuthV3Util import addAuthParams

# 您的应用ID
APP_KEY = ''
# 您的应用密钥
APP_SECRET = ''

# 待翻译语音路径, 例windows路径:PATH = "C:\\youdao\\media.wav"
PATH = ''

def createRequest():
    '''
    note: 将下列变量替换为需要请求的参数
    取值参考文档: https://ai.youdao.com/DOCSIRMA/html/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E7%BF%BB%E8%AF%91/API%E6%96%87%E6%A1%A3/%E5%9B%BE%E7%89%87%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1/%E5%9B%BE%E7%89%87%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1-API%E6%96%87%E6%A1%A3.html
    '''
    lang_from = 'en'
    lang_to = 'zh-CHS'
    format = 'wav'
    rate = '16000'

    # 数据的base64编码
    q = readFileAsBase64(PATH)
    data = {'q': q, 'from': lang_from, 'to': lang_to, 'format': format, 'rate': rate, 'channel': '1', 'type': '1'}

    addAuthParams(APP_KEY, APP_SECRET, data)

    header = {'Content-Type': 'application/x-www-form-urlencoded'}
    res = doCall('https://openapi.youdao.com/speechtransapi', header, data, 'post')
    print(str(res.content, 'utf-8'))

def doCall(url, header, params, method):
    if 'get' == method:
        return requests.get(url, params)
    elif 'post' == method:
        return requests.post(url, params, header)

def readFileAsBase64(path):
    f = open(path, 'rb')
    data = f.read()
    return str(base64.b64encode(data), 'utf-8')

# 网易有道智云语音翻译服务api调用demo
# api接口: https://openapi.youdao.com/speechtransapi
if __name__ == '__main__':
    createRequest()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/669902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win10 搭建vue环境并运行项目

win10 搭建vue环境并运行项目 1、参考链接2、遇到的问题及解决 1、参考链接 https://blog.csdn.net/qq_44959735/article/details/128886550 2、遇到的问题及解决 运行的时候不要再git bash里,要在自带的powershell里,以管理员权限运行。 问题&#xf…

未来5年,生产力的底层逻辑变了,影响所有企业

上周,K哥带领20多位企业家、技术高管参访了阿里钉钉,学习AI大模型如何应用到企业生产经营和组织管理当中,以及企业如何使用新生产力工具实现降本增效。 通过这次参访,我对AI大模型如何驱动企业管理变革有了新的认识,三…

js-排序数组中两个数字之和

给定一个已按照 升序排列 的整数数组 numbers &#xff0c;请你从数组中找出两个数满足相加之和等于目标数 target 。 函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 &#xff0c;所以答案数组应当满足 0 < answer[0] < answ…

【ArcGIS】栅格重分类(Reclass)

ArcGIS栅格重分类&#xff08;Reclass&#xff09; 1 重分类&#xff08;Relassify&#xff09;1.1 新值替代1.2 将值组合到一起1.3 按相同等级对一组栅格的值进行重分类1.4 将特定值设置为NoData或者为NoData像元设置某个值1.5 操作步骤 2 查找表&#xff08;Lookup&#xff0…

CS5366设计原理图|Type-C转HDMI2.0 4K60+USB3.0+PD3.1视频转换芯片应用电路图

CS5366Type-C转HDMI2.0的显示协议转换芯片, 内部集成了PD3.0及DSC decoder, 并能按客户需求配置成不同的功能组合&#xff0c; 是目前集成度与功耗更小的一颗芯片。 Type-C转HDMI2.0 4K60USB3.0PD3.1视频转换芯片应用电路图&#xff1a; CS5366系列符合USB电源传输规范3.0。CS…

C语言+单片机-内存分布详解,全网最全,值得收藏保存

目录 一、C语言内存分区 1. 代码区 2. 常量区 3. 全局(静态)区 4. 堆区(heap) 5. 栈区(stack) 二、STM32存储器分配 1. 随机存储器—RAM 2. 只读存储器—ROM 三、基于STM32代码验证 1. 详细代码如下 2. 运行结果如下 四、单片机中的内存分布 1.含义解释 2. 程序…

Makerbase CANable V2.0在Window系统使用

应用软件与固件 应用软件CANable V2.0CANable V1.0cangaroocandleLight/slcan(支持CAN FD)candleLight/slcan/cantactBUSMASTER V3.2.2candleLightcandleLight/pcan/cantactTSMastercandleLightcandleLight/pcan/cantactPCAN-Explorer 5、pcan view不支持pcancantactslcan(不支…

北理工软件工程基础考试要点

文章目录 前言题型分析概念部分大题部分数据流图和数据字典数据流图数据字典 前言 这篇文章就是针对北理工计科同学写的&#xff0c;这是精心筛选&#xff0c;针对老师最后一节课的重点以及题型写的笔记&#xff0c;保你一天速通软件工程基础这门课。 题型分析 闭卷 单选题…

SAP-ABAP-SM30自建表维护如何如何自动带出描述

文章目录 1 Requirement2 Process2.1 When you finish table maintainer , and create event .2.2 Create sub routine .2.3 Write code 3. Result4 Reference Document 1 Requirement The requirement is that we input MATNR and HKONT and get the description automatic .…

DDoS攻击原理是什么?

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言DDoS攻击的原理DDo…

考研算法第28天:冒泡排序和简单选择排序 【排序】

算法介绍 冒泡排序就不需要多说了&#xff0c;大一就会的东西&#xff0c;所以这里就不多言了。记录一下y总对他的分析就是了 简单选择排序 每次循环遍历后面的元素&#xff0c;然后将最小的放到最前面&#xff1a;举个例子 第一次 如上图 第一次发现最小的元素是2就将位于第…

EPM创建报表时,子节点有数据但是父节点无数据的解决方案

目录 一、环境二、问题描述与分析三、解决方案1、确认HANA MDX是否启用2、确认BPC前端的TIME维是否正常维护3. 在SPRO中设置模型参数4、使用SE38执行程序UJHANA_REFRESH_VIR_CUBE刷新模型 一、环境 产品版本BWSAP BW/4HANA 2021BPCSAP BPC 2021 Version for SAP BW/4 HANAEPM1…

电力数据安全治理实践思路探讨

01电力数据安全实践背景 数字经济的快速发展根本上源自数据的高质量治理和高价值转化&#xff0c;近年来&#xff0c;国家层面相继推出促进数据高质量治理的政策法规&#xff0c;围绕加强数据安全保障、提高数据质量等方面&#xff0c;明确了相关规定和要求。作为重要数据持有者…

TC8:TCP_UNACCEPTABLE_05-09

TCP_UNACCEPTABLE_05: [listen] unacceptable ACK -> RST [listen] 目的 在LISTEN状态下的TCP接收到携带一个不可接受的ACK号的段,发送RST并且保持在相同的状态 在LISTEN状态下的TCP,只能接收到SYN消息,不能有ACK标志位和ACK号,如果有,就是不可接受的 测试步骤 Teste…

C++IO流和类型处理(13)

IO流 IO流包括 标准IO流&#xff0c;字符串流&#xff0c;文件流 标准IO流 基础使用 #include <iostream> //包括istream和ostream cin >> ----- 标准输入 cout<< ----- 标准输出 clog<< ----- 带缓冲区的标准错误 cerr<< ----- 不带缓冲…

【C6】11111

文章目录 10.动静态库&#xff1a;.a&#xff0c;指定.so&#xff0c;LD_10.1 静态库&#xff1a;链接库的文件名是libpublic.a&#xff0c;链接库名是public&#xff0c;缺点使用的静态库发生更新改变&#xff0c;程序必须重新编译10.2 动态库&#xff1a;动态库发生改变&…

Selenium java自动化

文章目录 1. Selenium的安装2. 了解自动化和selenium2.1 什么是自动化以及为什么要做2.2为什么选择selenium作为我们的文本自动化工具2.3 环境部署2.4什么驱动&#xff0c;驱动的工作原理。2.5一个简单的自动化演示 3. 掌握selenium的基础语法3.1)元素的定位3.2) 元素的操作3.3…

Java解析String类的使用及String a = b + “c“面试题

1.概述 String:字符串&#xff0c;使用一对""引起来表示。 1.String声明为final的&#xff0c;不可被继承 2.String实现了Serializable接口&#xff1a;表示字符串是支持序列化的。 实现了Comparable接口&#xff1a;表示String可以比较大小 3.String内部定义了fina…

作用域问题

全局作用域 作用范围:在全局能够访问到的全局变量 代码实例: var num 10;function fn1() {console.log(num, "全局作用域");}fn1() 打印的结果: 函数作用域 作用范围:只在函数里面能够进行访问 代码实例: function fn1() {var num 10;}console.log(num); …

【Mysql】Explain详解与实践

演示所用user表在上一节有表结构和数据 【Mysql索引数据结构与算法】 脑图链接 一、EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句&#xff0c;从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 作用 通过EXPLAIN&#xff0…