最近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认知服务开发一个语音翻译机,学英文很爽快相关推荐

  1. 安卓开发实战,用HMS MLKit华为机器学习服务开发一个拍照翻译小程序

    文章目录 引子 想象中的旅游 实际中的旅游 太难了 拍照翻译帮你忙 文本识别 翻译 拍照翻译APP开发实战 1 开发准备 1.1 在项目级gradle里添加华为maven仓 1.2 在应用级的buil ...

  2. 使用Azure认知服务快速搭建一个目标检测平台

    文章目录 前言 1. 认知服务 2. 环境配置 2.1 创建资源 2.2 创建python环境 3. 代码实现 3.1 图片检测 3.2 视频检测 4. 检测效果 结束语 前言   博主参与了由CSD ...

  3. 【微软 Azure 认知服务】零基础搭建微软 Azure AI 认知服务实验分享

    Azure人工智能认知服务实验 Azure认知服务(语音合成产品系列)是微软云服务里面的明星产品,基于行业领先的Hifi-net语音模型打造,可以提供高质量神经网络版声音,发音更准确.韵律更自然.高保 ...

  4. Azure认知服务之表单识别器

    认知服务 Azure 认知服务的目标是帮助开发人员创建可以看.听.说.理解甚至开始推理的应用程序.Azure 认知服务中的服务目录可分为五大主要支柱类别:视觉.语音.语言.Web 搜索和决策.开发人员 ...

  5. C# 百度翻译机翻英文字幕

    C# 百度翻译机翻英文字幕 功能 使用说明   最近在Coursera上学习,由于在Coursera上学习的视频时全英文的,我自认为我的词汇量还行,但是有些许单词还是不知道,我就想写个软件把英文字符变 ...

  6. 微软认知服务应用秘籍 – 漫画翻译篇

    概述 微软认知服务包括了影像.语音.语言.搜索.知识五大领域,通过对这些认知服务的独立或者组合使用,可以解决很多现实世界中的问题.作为AI小白,我们可以选择艰难地攀登崇山峻岭,也可以选择像牛顿一样站在 ...

  7. 微软认知服务的使用 – 漫画翻译

    概述 微软认知服务包括了影像.语音.语言.搜索.知识五大领域,通过对这些认知服务的独立或者组合使用,可以解决很多现实世界中的问题.作为AI小白,我们可以选择艰难地攀登崇山峻岭,也可以选择像牛顿一样站在 ...

  8. azure云服务使用方法_使用Azure认知服务自动执行表单处理

    azure云服务使用方法 由机器学习提供支持的 Microsoft认知服务是一种向您的应用程序添加人工智能的简便方法,使您可以按需付费,访问各种有用的算法 . 与许多其他Web服务不同,它们正在不断发 ...

  9. 微软认知服务开发实践(1) - 牛津计划简介

    简介 近些年来由于云平台.大数据.高性能计算.机器学习等领域的进步,人工智能也火了起来.人脸识别.语音识别等相关功能早已被提出,但是能够形成产品并大规模使用的很少.因为非专业人员很难独自实现一套完整人 ...

最新文章

  1. 算法模板——二分图匹配
  2. what you want from a relationship?
  3. /dev/mapper/VolGroup00-LogVol00 100% 如何处理
  4. 190707Python-Redis
  5. 检測磁盘驱动的健康程度SMART
  6. 使用MySQL自带工具mysqlhotcopy快速备份MyISAM引擎的MySQL数据库
  7. 原型模式(深克隆、浅克隆)
  8. php mail 标题乱码
  9. 腾讯课堂视频回放下载(Edge浏览器+猫抓+夸克浏览器)
  10. Windows文件换行符转Linux换行符
  11. node获取系统字体
  12. Effective Modern C++读书笔记
  13. PHP实现 美化 打赏点 金额 换算
  14. 编写程序实现以下功能:计算1~n之间的素数并输出
  15. 智能振弦传感器的读取工具振弦采集仪
  16. 比特彗星一直显示连接服务器,BitComet常见问题
  17. 那个学php的上吊了,这位一路名校的中国博士,突然在美国上吊自杀了
  18. 你需要了解的群体重测序都在这里(一)
  19. 网上计算机能力提升研修心得,信息技术应用能力提升个人研修总结
  20. rx590 黑苹果 无货_应粉丝要求花9000配了一台高端黑苹果电脑,大家看看值不值吧!...

热门文章

  1. es painless 排序_Elasticsearch 的 painless 脚本几个用法
  2. 大学生创业者最关心的问题——校园外卖到底能不能盈利?
  3. 在头部大厂做了13年云计算后,这次他想系统地聊聊FinOps!
  4. 关于参加计算机培训的通讯报道,通讯员积极参加新闻宣传培训班
  5. 信息系统项目管理师备考经验分享
  6. 【黑鸟安全预警与每日资源】S2-048!Struts2 再爆高危漏洞!
  7. java类和类之间的小练习1
  8. 【单片机毕业设计】【mcuclub-309】衣柜除湿消毒 | 智能衣柜 | 智能储物柜 | 衣柜环境监测 | 多功能衣柜
  9. ESXi更新安全补丁(6.7为例)
  10. appInventor虚拟机与AI伴侣