用Azure认知服务开发一个语音翻译机,学英文很爽快

最近CSDN开展了《0元试用微软 Azure人工智能认知服务,精美礼品大放送》,当前目前活动还在继续,热心的我已经第一时间报名参与,只不过今天才有时间实际的试用。

目前活动要求博文形式分享试用语音转文本、文本转语音、语音翻译、文本分析、文本翻译、语言理解中三项以上的服务。

目前我在试用了 语音转文本、文本转语音、语音翻译 功能后,决定做一个实时语音翻译机,使用后效果是真不错。

下面我们看看如何操作吧,首先我们进入:https://portal.azure.cn/并登录。

获取密钥

在搜索框输入 认知服务 并确认:

image-20211031003856676

然后可以创建语音服务:

image-20211031004119696

然后输入名称,选择位置,选择免费定价,新增资源组并选择:

image-20211031004740415

之后,点击创建。创建过程中会显示正在部署:

image-20211031004909066

部署完成后,点击转到资源:

image-20211031004955509

然后我们点击密钥和终结点,查看密钥和位置/区域:

image-20211031005136423

有两个密钥任选一个即可,位置/区域也需要记录下来,后面我们的程序就需要通过密钥和位置来调用。

Azure 认知服务初体验

Azure 认知服务文档:https://docs.azure.cn/zh-cn/cognitive-services/

按文档要求,我们首先安装Azure 语音相关的python库:

pip install azure-cognitiveservices-speech

首先我们体验一下语音转文本:

测试语音转文本

文档:https://docs.azure.cn/zh-cn/cognitive-services/speech-service/get-started-speech-to-text?tabs=windowsinstall&pivots=programming-language-python

复制官方的代码后,简单修改下实现从麦克风识别语音:

import azure.cognitiveservices.speech as speechsdkspeech_key, service_region = "59392xxxxxxxxxx559de", "chinaeast2"
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region, speech_recognition_language="zh-cn")
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config)print("说:", end="")
result = speech_recognizer.recognize_once()
print(result.text)

speech_recognition_language决定了语言,这里我设置为中文。

我运行后,对麦克风说了一句话,程序已经准确的识别出我说的内容:

说:微软人工智能服务非常好用。

测试文本转语音

文档:https://docs.azure.cn/zh-cn/cognitive-services/speech-service/get-started-text-to-speech?tabs=script%2Cwindowsinstall&pivots=programming-language-python

借助文档我们还可以实现将转换完成的语音保存起来,但这里我只演示直接声音播放出来:

from azure.cognitiveservices.speech import AudioDataStream, SpeechConfig, SpeechSynthesizer, SpeechSynthesisOutputFormat
from azure.cognitiveservices.speech.audio import AudioOutputConfigspeech_config.speech_synthesis_language = "zh-cn"
audio_config = AudioOutputConfig(use_default_speaker=True)
speech_synthesizer = SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)text_words = "微软人工智能服务非常好用。"
result = speech_synthesizer.speak_text_async(text_words).get()
if result.reason != speechsdk.ResultReason.SynthesizingAudioCompleted:print(result.reason)

感觉转换效果很好。

测试语音翻译功能

文档地址:https://docs.azure.cn/zh-cn/cognitive-services/speech-service/get-started-speech-translation?tabs=script%2Cwindowsinstall&pivots=programming-language-python

经测试,语音翻译同时包含了语音转文本和翻译功能:

from_language, to_language = 'zh-cn', 'en'
translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=speech_key, region=service_region, speech_recognition_language=from_language)
translation_config.add_target_language(to_language)
recognizer = speechsdk.translation.TranslationRecognizer(translation_config=translation_config)def speakAndTranslation():result = recognizer.recognize_once()if result.reason == speechsdk.ResultReason.TranslatedSpeech:return result.text, result.translations[to_language]elif result.reason == speechsdk.ResultReason.RecognizedSpeech:return result.text, Noneelif result.reason == speechsdk.ResultReason.NoMatch:print(result.no_match_details)elif result.reason == speechsdk.ResultReason.Canceled:print(result.cancellation_details)speakAndTranslation()

这里执行后并说一句话,结果:

('大家好才是真的好。', 'Everyone is really good.')

可以同时获取原始文本和译文,所以我们后面的语音翻译工具,也都使用该接口。

语音翻译机开发

程序的大致逻辑结构:

image-20211031022300239

完整代码:

"""
小小明的代码
CSDN主页:https://blog.csdn.net/as604049322
"""
__author__ = '小小明'
__time__ = '2021/10/30'import azure.cognitiveservices.speech as speechsdkfrom azure.cognitiveservices.speech.audio import AudioOutputConfigspeech_key, service_region = "59xxxxde", "chinaeast2"
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region,speech_recognition_language="zh-cn")
speech_config.speech_synthesis_language = "zh-cn"
audio_config = AudioOutputConfig(use_default_speaker=True)
speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)from_language, to_language = 'zh-cn', 'en'
translation_config = speechsdk.translation.SpeechTranslationConfig(subscription=speech_key, region=service_region, speech_recognition_language=from_language)
translation_config.add_target_language(to_language)
recognizer = speechsdk.translation.TranslationRecognizer(translation_config=translation_config)def speakAndTranslation():result = recognizer.recognize_once()if result.reason == speechsdk.ResultReason.TranslatedSpeech:return result.text, result.translations[to_language]elif result.reason == speechsdk.ResultReason.RecognizedSpeech:return result.text, Noneelif result.reason == speechsdk.ResultReason.NoMatch:print(result.no_match_details)elif result.reason == speechsdk.ResultReason.Canceled:print(result.cancellation_details)def speak(text_words):result = speech_synthesizer.speak_text_async(text_words).get()#     print(result.reason)if result.reason == speechsdk.ResultReason.Canceled:cancellation_details = result.cancellation_detailsprint("识别取消:", cancellation_details.reason)if cancellation_details.reason == speechsdk.CancellationReason.Error:if cancellation_details.error_details:print("错误详情:", cancellation_details.error_details)while True:print("说:", end=" ")text, translation_text = speakAndTranslation()print(text)print("译文:", translation_text)if "退出" in text:breakif text:speak(translation_text)

简单的运行了一下,中间的打印效果如下:

说: 我只想进转过山和大海。
译文: I just want to go in and out of the mountains and the sea.
说: 也穿越,人山人海。
译文: Also through, the sea of people and mountains.
说: 我曾经目睹这一切全部都随风飘然。
译文: I've seen it all blow in the wind.
说: 转眼成空。
译文: It's empty.
说: 问,世间能有几多愁?
译文: Q, how much worry can there be in the world?
说: 退出。
译文: quit.

最终的语音功能也只有各位亲自体验了噢。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

对话式文档审阅:积极拥抱大型语言模型,实在智能Chat-IDP开启内测

以ChatGPT为代表的自然语言处理大模型技术大火出圈,微软、谷歌、百度系等生成式大模型接连发布和不断升级优化,人工智能的快速发展,进一步促使AI产业带动生产力变革,正式拉开一个AI时代的全新序幕。 国内多家头部AI企业都在加大大…

阿里达摩院开源大型端到端语音识别工具包FunASR | 弥合学术与工业应用之间的差距

本文首发于微信公众号 CVHub,严禁私自转载或售卖到其他平台,违者必究。 Title: FunASR: A Fundamental End-to-End Speech Recognition Toolkit PDF: https://arxiv.org/pdf/2305.11013v1.pdf Code: https://github.com/alibaba-damo-academy/FunASR 导读…

利用科大讯飞语音合成模块SDK实现ROS语音交互

利用科大讯飞语音合成模块SDK实现ROS语音交互 本文内容与CSDN博主「AI Chen」的原创文章相同,可以直接参考原文:https://blog.csdn.net/qq_39400324/article/details/125351722快速链接 本文目的在于记录学习过程,作为笔记。 本文标记为转载。…

华为鲲鹏HCIA考试-练习02

文章目录 单选题多选题判断题其他练习:模拟考试: 单选题 镜像导出时,支持的最大镜像文件大小是? A、128GB B、64GB C、32GB D、256GB A通过源码编译制作软件包时,默认会把打包后的rpm包放在以下哪个目录下? A、BUILD B、SPECS …

人工智能术语库分享(包括彩云小译分享码)【更新链接】

来源:https://github.com/jiqizhixin/Artificial-Intelligence-Terminology-Database 内容介绍 经常使用彩云小译翻译文献,在网上找到这个术语库的时候很高兴,里面包含了很多机器学习的词汇。 我将其整理成了excel表格,可进行导入…

Meta 开源语音 AI 模型支持 1,100 多种语言

自从ChatGPT火爆以来,各种通用的大型模型层出不穷,GPT4、SAM等等,本周一Meta 又开源了新的语音模型MMS,这个模型号称支持4000多种语言,并且发布了支持1100种语言的预训练模型权重,最主要的是这个模型不仅支…

重磅!普惠AI--华为云语音语义万次调用1元购,有奖问答@评论区等你来!

活动快速入口:https://activity.huaweicloud.com/language_speech_promotion0.html 语音交互与自然语言处理 语音交互是一种人机交互方式,以开放API的方式提供给用户,用户通过实时访问和调用API获取语音交互结果。自然语言处理是针对各类企…

华为OD机试用Python实现 -【云短信平台优惠活动】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲云短信平台优惠活动题目描述输入描述输出描述示例一输入输出说明示例二输入输出说明Python 代码实现代码编写思路华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看…

华为认证HCIA-Kunpeng Application Developer多选习题总结

最近参加了华为HCIA-Kunpeng Application Developer的认证考试。所以分享一下在培训和备考过程中做的一些习题。 ▣ 考试总共90分钟,有60个题。分别有单选、多选和判断。总分1000分,600分过。 多选练习题 1.TaiShan 200机架服务器包含哪些型号&#xf…

【愚公系列】华为云系列之ModelArts搭建中文语音识别系统

文章目录 前言1.ModelArts是什么 一、语音识别技术概述1.语音识别概述2.语音识别的一般原理3.信号处理与特征提取方法3.1 MFCC 4.基于深度学习的声学模型DNN-HMM 二、DFCNN全序列卷积神经网络介绍三、Transformer原理四、使用ModelArts快速上手训练DFCNNTransformer模型完成中文…

软件开发工程师个人简历模板3篇

软件开发工程师个人简历模板篇1 姓 名: 张先生 性 别: 男 婚姻状况: 未婚 民 族: 汉族 户 籍: 广东-珠海 年 龄: 28 现所在地: 广东-珠海 身 高: 168cm 希望地区: …

软件测试岗简历模板制作指南

Hello 大家好 :)近期有很多老铁在筹备面试中,私信小编说帮忙看看简历,实在很忙,所以就今天抽时间出一篇相关文章,希望给大家带来帮助 首先说大家给我发的简历,其中一份简历,就第一眼…

程序员如何写好技术简历?

文章来源一位实验室朋友的投稿,斩获BAT头条等公司的offer,文末有他的公众号可以关注一下。 1.简历的重要性 各大公司每年都要接收成千上万份简历,但是考虑到招聘成本,简历要先经过系统和 HR 筛选,简历筛选决定了你是否有笔试和面试…

那些进大厂的程序员,「简历」都是怎么写的?我决定分享出来

你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习&#xff0…

技术咖简历怎么写?腾讯技术工程事业群TEG「求职笔记」之简历撰写篇

导语:想来腾讯做技术吗? 在鹅厂做技术到底“爽”在哪?面试官在意你的哪些能力?想收到心动的校招offer?那就快到TEG的碗里来! 「技术简历撰写干货」 Q1:请简单介绍一下校招简历。 校招学长&…

大后端开发简历模板

场 景 大家好,我是数据派掌门人一方清宇。今天给大家安利一个图表文并茂的简历模板,开箱即用。 这些年面过100一线大后端开发人员,好的简历确认能让人眼前一亮。 近期也陆续有朋友让帮忙鉴定大数据开发简历或提供简历模板供其参考。于是乎…

跳槽面试,外包履历能写在简历上吗?

外包的可怕之处在于心态。 如果你觉得自己没有归属感,每天按时上班,按时下班,做完工作就无所事事。这种工作状态,不管甲方还是乙方都是一个样子。 改变心态后,外包其实并没有想象中那么可怕,只要你有有能…

origin绘图操作

origin同时设置打开x轴和上下边框 双击图像内部的空白,在下面这个对话框中勾选显示元素-框架。 以上是chatgpt给出的操作,但我没找到layer properties。 上下柱状图的增减设置不同颜色:按住Ctrl,双击想要改颜色的柱子,…

VNCTF2023 WP

验证码 hint:tuppers 在线工具Tupper’s Formula Tools (tuppers-formula.ovh) 把验证码中的数字全部提取出来 159419939177025035445518308105480263158055459045678127698130297824334808857677481698114546007742213604778097220037521229335738368509996952…

【数学模型】TOPSIS

文章目录 回顾:层次分析法的一些局限性 一、模型介绍 1.1 引例: 一个简单的想法: 一个较好的方法: 1.2 增加指标: 统一指标类型 标准化处理 计算得分 二、TOPSIS的介绍 第一步:将原始矩阵正向…