【0元试用微软 Azure人工智能认知服务】我做了个群聊天机器人

本文涉及的产品
语音服务,语音通知 50分钟
简介: 我这边参加了CSDN与微软Azure举办的0元试用微软Azure人工智能认知服务活动。第一次使用微软Azure 认知服务,老实说,还是满心期待的。

前言

我这边参加了CSDN与微软Azure举办的0元试用微软Azure人工智能认知服务活动。第一次使用微软Azure 认知服务,老实说,还是满心期待的。

正式开始试用

登录地址: 点此开启试用之旅 ,这个认知服务有点不好找,还有有个搜索的功能,直接搜索一下,认知服务,即可找到本次测评所需要的服务。

这个界面还是比较间接大气的。

第一次进来需要新建一个资源组。这个资源组主要是用来保管Azure各个服务的相关资源。

这里我创建了一个名为feigeVoice的语音服务,耐心等待系统部署,部署完成之后的界面如下图所示。

接着点击赚到资源,在左侧窗格中的“资源管理”下,选择“密钥和终结点”

点击之后展示的界面如下图所示,请记住这个密钥和终结点的位置,因为后面编写接口时还需要使用。

每个订阅有两个密钥;可在应用程序中使用任意一个密钥。

至此,一个语音服务就弄好了,这个语音服务给可以给我们的应用提供语音转文本、文本转语音、翻译和说话人识别 三种能力。下面就在我们的应用中接入这三种功能吧。

第一件事情是做什么呢?当然是找SDK呀!!!!!

环境

语言 Python 3.9

开发环境 PyCharm

系统环境 Mac OS

SDK的位置

微软这个SDK的位置还有点偏僻,下面我就介绍一下如何查找SDK以及开发文档。

点击之后会跳转到一个新的页面,也就是帮助和支持页面

在该页面上选中【 文档 】图标之后就正式进入了 Azure文档页面了。可以把该页面的地址保存下来,以后就不用这么麻烦了。

Azure文档的页面地址:https://docs.azure.cn/zh-cn/#pivot=get-started

拉到最下面找到我们本次试用的【认知服务】上面。

在点击【认知服务】按钮,就可以进入认知服务的开发者文档页面了。进入该页面之后在接着点击我们本次试用的语音服务了。

终于到最后一个页面了,即将可以看到我们需要的SDK以及开发文档了,小伙伴们是不是很开心很激动呀。

下面我们就挨个服务体验一下,康康它到底好不好用!!!!!这里点击了关于语音转文本的按钮,就进入了下面这个页面。对于这种格式的文档,相信每个开发小伙伴都不会感到陌生。

语音识别(语音转文本)

1.在左侧菜单栏找到【语音转文本快速入门】按钮。接着选择编程语言或GLI。这里我选择的是Python语言

接下来就是按照文档操作一遍。

2.安装语音SDK

pip install azure-cognitiveservices-speech

3.安装语音 SDK 后,将其导入到 Python 项目中。

import azure.cognitiveservices.speech as speechsdk

4.创建语音配置
若要使用语音 SDK 调用语音服务,需要创建 SpeechConfig。 此类包含有关订阅的信息,例如密钥和关联的位置/区域、终结点、主机或授权令牌。 使用密钥和位置/区域创建 SpeechConfig。 请参阅查找密钥和位置/区域页面,查找密钥位置/区域对。

speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion"
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region,
                                       speech_recognition_language="zh-cn")
speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config)

说白了 speech_key 传入的是前面的密钥1或者密钥2,service_region传入前面的位置/区域,也就是 chinaeast2

5. 从麦克风中直接识别语音

若要使用设备麦克风识别语音,只需创建 SpeechRecognizer(无需传递 AudioConfig),并传递 speech_config。

语音合成(文本转语音)

语音识别搞完之后,按照同样的套路。我们接着来弄下语音合成。与语音识别相同的步骤,在此就不在赘述了,这里主要展示下如何使用语音合成功能吧。

1.安装语音服务SDK,如果已经安装则忽略该步骤。

pip install azure-cognitiveservices-speech

2.安装语音 SDK 后,在脚本顶部包含以下 import 语句。

import azure.cognitiveservices.speech as speechsdk
from azure.cognitiveservices.speech.audio import AudioOutputConfig

3.创建语音配置

若要使用语音SDK调用语音服务,则需要创建SpeechConfig。

speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion"
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)

4.将语音合成到文件中,完整代码如下:

import azure.cognitiveservices.speech as speechsdk
from azure.cognitiveservices.speech import SpeechSynthesizer
from azure.cognitiveservices.speech.audio import AudioOutputConfig
speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion"
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)
#设置合成的音频为中文
speech_config.speech_synthesis_language = "zh-CN"  
# 设置保存音频的文件
audio_config = AudioOutputConfig(filename="test.wav")
#在控制台输入想要合成的话
print("请输入你想合成的话...")
text = input()
#创建synthesizer对象,
synthesizer = SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
# 调用speak_text_async 将文本合成为音频
synthesizer.speak_text_async(text)

运行结果是:

4e6481ed72b4015196d1d70f63c5edb8_watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA56CB5Yac6aOe5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16.png


语音翻译

语音翻译也是类似的。

安装语音SDK,导入语音SDK,创建语音配置与前面相同,在此就不在赘述了,直接贴出代码

import azure.cognitiveservices.speech as speechsdk
# 源语言是英语,目标语言是德语,PS:翻译成中文报错
from_language, to_language = 'en-US', 'de'
speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion"
translation_config = speechsdk.translation.SpeechTranslationConfig(
    subscription=speech_key, region=service_region)

1.初始化翻译识别器

创建SpeechTranslationConfig后,下一步就是初始化TranslationRecognizer。初始化TranslationRecognizer后,需要向其传递translation_config。

如果使用的是设备默认麦克风识别语音的话,则 TranslationRecognizer 应如下所示:

def translate_speech_to_text():
    translation_config = speechsdk.translation.SpeechTranslationConfig(
            subscription=speech_key, region=service_region)
    translation_config.speech_recognition_language = from_language
    translation_config.add_target_language(to_language)
    recognizer = speechsdk.translation.TranslationRecognizer(
            translation_config=translation_config)

2.翻译语音

为了翻译语音,语音 SDK 依赖于麦克风或音频文件输入。 在语音翻译之前先进行语音识别。 初始化所有对象后,调用识别一次的函数并获取结果。完整代码如下:

mport azure.cognitiveservices.speech as speechsdk
speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion"
from_language, to_language = 'en-US', 'de'
# from_language, to_language = 'en-US', 'zh-cn'
def translate_speech_to_text():
    translation_config = speechsdk.translation.SpeechTranslationConfig(
        subscription=speech_key, region=service_region)
    translation_config.speech_recognition_language = from_language
    translation_config.add_target_language(to_language)
    recognizer = speechsdk.translation.TranslationRecognizer(
        translation_config=translation_config)
    print('Say something...')
    result = recognizer.recognize_once()
    print(get_result_text(reason=result.reason, result=result))
def get_result_text(reason, result):
    reason_format = {
        speechsdk.ResultReason.TranslatedSpeech:
            f'RECOGNIZED "{from_language}": {result.text}\n' +
            f'TRANSLATED into "{to_language}"": {result.translations[to_language]}',
        speechsdk.ResultReason.RecognizedSpeech: f'Recognized: "{result.text}"',
        speechsdk.ResultReason.NoMatch: f'No speech could be recognized: {result.no_match_details}',
        speechsdk.ResultReason.Canceled: f'Speech Recognition canceled: {result.cancellation_details}'
    }
    return reason_format.get(reason, 'Unable to recognize speech')
translate_speech_to_text()

运行结果

相关文章
|
2天前
|
机器学习/深度学习 人工智能 算法
人工智能与机器人的结合:智能化世界的未来
人工智能与机器人的结合:智能化世界的未来
55 32
|
3月前
|
人工智能 自然语言处理 前端开发
基于ChatGPT开发人工智能服务平台
### 简介 ChatGPT 初期作为问答机器人,现已拓展出多种功能,如模拟面试及智能客服等。模拟面试功能涵盖个性化问题生成、实时反馈等;智能客服则提供全天候支持、多渠道服务等功能。借助人工智能技术,这些应用能显著提升面试准备效果及客户服务效率。 ### 智能平台的使用价值 通过自动化流程,帮助用户提升面试准备效果及提高客户服务效率。 ### 实现思路 1. **需求功能设计**:提问与接收回复。 2. **技术架构设计**:搭建整体框架。 3. **技术选型**:示例采用 `Flask + Template + HTML/CSS`。 4. **技术实现**:前端界面与后端服务实现。
|
4月前
|
机器人 C# 人工智能
智能升级:WPF与人工智能的跨界合作——手把手教你集成聊天机器人,打造互动新体验与个性化服务
【8月更文挑战第31天】聊天机器人已成为现代应用的重要组成部分,提供即时响应、个性化服务及全天候支持。随着AI技术的发展,聊天机器人的功能日益强大,不仅能进行简单问答,还能实现复杂对话管理和情感分析。本文通过具体案例分析,展示了如何在WPF应用中集成聊天机器人,并通过示例代码详细说明其实现过程。使用Microsoft的Bot Framework可以轻松创建并配置聊天机器人,增强应用互动性和用户体验。首先,需在Bot Framework门户中创建机器人项目并编写逻辑。然后,在WPF应用中添加聊天界面,实现与机器人的交互。
129 0
|
4月前
|
消息中间件 安全 机器人
【Azure 事件中心】Kafka 生产者发送消息失败,根据失败消息询问机器人得到的分析步骤
【Azure 事件中心】Kafka 生产者发送消息失败,根据失败消息询问机器人得到的分析步骤
|
4月前
|
机器学习/深度学习 自然语言处理 机器人
【Azure 机器人】微软Azure Bot 编辑器系列(6) : 添加LUIS,理解自然语言 (The Bot Framework Composer tutorials)
【Azure 机器人】微软Azure Bot 编辑器系列(6) : 添加LUIS,理解自然语言 (The Bot Framework Composer tutorials)
|
4月前
|
自然语言处理 机器人 API
【Azure 机器人】微软Azure Bot 编辑器系列(5) : 机器人的卡片式回复 (The Bot Framework Composer tutorials)
【Azure 机器人】微软Azure Bot 编辑器系列(5) : 机器人的卡片式回复 (The Bot Framework Composer tutorials)
|
4月前
|
自然语言处理 机器人 API
【Azure 机器人】微软Azure Bot 编辑器系列(4) : 使用语言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)
【Azure 机器人】微软Azure Bot 编辑器系列(4) : 使用语言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)
|
4月前
|
自然语言处理 机器人 API
【Azure 机器人】微软Azure Bot 编辑器系列(3) : 机器人对话流中加入帮助和取消按钮功能 (The Bot Framework Composer tutorials)
【Azure 机器人】微软Azure Bot 编辑器系列(3) : 机器人对话流中加入帮助和取消按钮功能 (The Bot Framework Composer tutorials)
|
4月前
|
存储 JSON 机器人
【Azure 机器人】微软Azure Bot 编辑器系列(2) : 机器人/用户提问回答模式,机器人从API获取响应并组织答案 (The Bot Framework Composer tutorials)
【Azure 机器人】微软Azure Bot 编辑器系列(2) : 机器人/用户提问回答模式,机器人从API获取响应并组织答案 (The Bot Framework Composer tutorials)
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能在医疗诊断中的应用与前景####
本文深入探讨了人工智能(AI)技术在医疗诊断领域的应用现状、面临的挑战及未来发展趋势。通过分析AI如何辅助医生进行疾病诊断,提高诊断效率和准确性,以及其在个性化医疗中的潜力,文章揭示了AI技术对医疗行业变革的推动作用。同时,也指出了数据隐私、算法偏见等伦理问题,并展望了AI与人类医生协同工作的前景。 ####
37 0