用Azure认知服务开发一个语音翻译机,学英文很爽快
最近CSDN开展了《0元试用微软 Azure人工智能认知服务,精美礼品大放送》,当前目前活动还在继续,热心的我已经第一时间报名参与,只不过今天才有时间实际的试用。
目前活动要求博文形式分享试用语音转文本、文本转语音、语音翻译、文本分析、文本翻译、语言理解中三项以上的服务。
目前我在试用了 语音转文本、文本转语音、语音翻译 功能后,决定做一个实时语音翻译机,使用后效果是真不错。
下面我们看看如何操作吧,首先我们进入:https://portal.azure.cn/并登录。
获取密钥
在搜索框输入 认知服务 并确认:
然后可以创建语音服务:
然后输入名称,选择位置,选择免费定价,新增资源组并选择:
之后,点击创建。创建过程中会显示正在部署:
部署完成后,点击转到资源:
然后我们点击密钥和终结点,查看密钥和位置/区域:
有两个密钥任选一个即可,位置/区域也需要记录下来,后面我们的程序就需要通过密钥和位置来调用。
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.')
可以同时获取原始文本和译文,所以我们后面的语音翻译工具,也都使用该接口。
语音翻译机开发
程序的大致逻辑结构:
完整代码:
"""
小小明的代码
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.
最终的语音功能也只有各位亲自体验了噢。
用Azure认知服务开发一个语音翻译机,学英文很爽快相关推荐
- 安卓开发实战,用HMS MLKit华为机器学习服务开发一个拍照翻译小程序
文章目录 引子 想象中的旅游 实际中的旅游 太难了 拍照翻译帮你忙 文本识别 翻译 拍照翻译APP开发实战 1 开发准备 1.1 在项目级gradle里添加华为maven仓 1.2 在应用级的buil ...
- 使用Azure认知服务快速搭建一个目标检测平台
文章目录 前言 1. 认知服务 2. 环境配置 2.1 创建资源 2.2 创建python环境 3. 代码实现 3.1 图片检测 3.2 视频检测 4. 检测效果 结束语 前言 博主参与了由CSD ...
- 【微软 Azure 认知服务】零基础搭建微软 Azure AI 认知服务实验分享
Azure人工智能认知服务实验 Azure认知服务(语音合成产品系列)是微软云服务里面的明星产品,基于行业领先的Hifi-net语音模型打造,可以提供高质量神经网络版声音,发音更准确.韵律更自然.高保 ...
- Azure认知服务之表单识别器
认知服务 Azure 认知服务的目标是帮助开发人员创建可以看.听.说.理解甚至开始推理的应用程序.Azure 认知服务中的服务目录可分为五大主要支柱类别:视觉.语音.语言.Web 搜索和决策.开发人员 ...
- C# 百度翻译机翻英文字幕
C# 百度翻译机翻英文字幕 功能 使用说明 最近在Coursera上学习,由于在Coursera上学习的视频时全英文的,我自认为我的词汇量还行,但是有些许单词还是不知道,我就想写个软件把英文字符变 ...
- 微软认知服务应用秘籍 – 漫画翻译篇
概述 微软认知服务包括了影像.语音.语言.搜索.知识五大领域,通过对这些认知服务的独立或者组合使用,可以解决很多现实世界中的问题.作为AI小白,我们可以选择艰难地攀登崇山峻岭,也可以选择像牛顿一样站在 ...
- 微软认知服务的使用 – 漫画翻译
概述 微软认知服务包括了影像.语音.语言.搜索.知识五大领域,通过对这些认知服务的独立或者组合使用,可以解决很多现实世界中的问题.作为AI小白,我们可以选择艰难地攀登崇山峻岭,也可以选择像牛顿一样站在 ...
- azure云服务使用方法_使用Azure认知服务自动执行表单处理
azure云服务使用方法 由机器学习提供支持的 Microsoft认知服务是一种向您的应用程序添加人工智能的简便方法,使您可以按需付费,访问各种有用的算法 . 与许多其他Web服务不同,它们正在不断发 ...
- 微软认知服务开发实践(1) - 牛津计划简介
简介 近些年来由于云平台.大数据.高性能计算.机器学习等领域的进步,人工智能也火了起来.人脸识别.语音识别等相关功能早已被提出,但是能够形成产品并大规模使用的很少.因为非专业人员很难独自实现一套完整人 ...
最新文章
- 算法模板——二分图匹配
- what you want from a relationship?
- /dev/mapper/VolGroup00-LogVol00 100% 如何处理
- 190707Python-Redis
- 检測磁盘驱动的健康程度SMART
- 使用MySQL自带工具mysqlhotcopy快速备份MyISAM引擎的MySQL数据库
- 原型模式(深克隆、浅克隆)
- php mail 标题乱码
- 腾讯课堂视频回放下载(Edge浏览器+猫抓+夸克浏览器)
- Windows文件换行符转Linux换行符
- node获取系统字体
- Effective Modern C++读书笔记
- PHP实现 美化 打赏点 金额 换算
- 编写程序实现以下功能:计算1~n之间的素数并输出
- 智能振弦传感器的读取工具振弦采集仪
- 比特彗星一直显示连接服务器,BitComet常见问题
- 那个学php的上吊了,这位一路名校的中国博士,突然在美国上吊自杀了
- 你需要了解的群体重测序都在这里(一)
- 网上计算机能力提升研修心得,信息技术应用能力提升个人研修总结
- rx590 黑苹果 无货_应粉丝要求花9000配了一台高端黑苹果电脑,大家看看值不值吧!...
热门文章
- es painless 排序_Elasticsearch 的 painless 脚本几个用法
- 大学生创业者最关心的问题——校园外卖到底能不能盈利?
- 在头部大厂做了13年云计算后,这次他想系统地聊聊FinOps!
- 关于参加计算机培训的通讯报道,通讯员积极参加新闻宣传培训班
- 信息系统项目管理师备考经验分享
- 【黑鸟安全预警与每日资源】S2-048!Struts2 再爆高危漏洞!
- java类和类之间的小练习1
- 【单片机毕业设计】【mcuclub-309】衣柜除湿消毒 | 智能衣柜 | 智能储物柜 | 衣柜环境监测 | 多功能衣柜
- ESXi更新安全补丁(6.7为例)
- appInventor虚拟机与AI伴侣