采用的策略是微软云服务的Python SDK + SSML

Azure上,语音部分的文档写的较为详细,包含各种功能,如文本转语音 REST API,TTS SDK,自定义语音模型进行文本转语音等。但是没有整体的、提纲般的介绍,看完文档极有不知如何下手。本文将一步步地介绍,如何从0开始使用Azure SDK的使用方法。我们希望实现的效果是,输入一段文本,调用SDK后,返回给我们一段wav格式的音频,播放后,即为之前输入的文本。

1、注册账号

注册微软Azure账号看这里:https://zhuanlan.zhihu.com/p/49711377
需要一张vasa信用卡,也可以是虚拟卡。对于国内用户,这是极不友好的。不过也有一些其他优惠,比如学生的,自行获取国外edu教育有效了,据说GitHub学生认证也可以,不过都比较麻烦。注册的时候最好使用非大陆的IP,比如香港的IP+香港的地址

2、创建资源


都选择白嫖免费使用的就完事,注意要选择美国东部的服务,eastus
其他的名称只要是不重复就可以随便填,填写好就可以看到自己的key了

3、使用SDK

使用之前先安装SDK,Python就一条命令,很简单

pip install azure-cognitiveservices-speech

安装好就可以上代码了,有注释

# Copyright (c) Microsoft. All rights reserved.
# Licensed under the MIT license. See LICENSE.md file in the project root for full license information.# <code>
## 输入文件text.txt/ssml文件
## 输出文件file.wavfrom azure.cognitiveservices.speech import AudioDataStream, SpeechSynthesizer
from azure.cognitiveservices.speech.audio import AudioOutputConfig
import azure.cognitiveservices.speech as speechsdkspeech_key, service_region = "your key", "eastus"
speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)synthesizer = SpeechSynthesizer(speech_config=speech_config)# text = "你吃饭了吗?我现在声音自然多了吧"
# with open('text.txt', 'r',encoding='utf-8',errors='ignore') as f:# text = f.read()# SSML中需要书签标签,例如。
ssml = "<speak version='1.0' xml:lang='zh-CN' xmlns='http://www.w3.org/2001/10/synthesis' xmlns:mstts='http://www.w3.org/2001/mstts'><voice name='zh-CN-YunxiNeural'><bookmark mark='bookmark_one'/> 你吃饭了吗?我现在声音自然多了吧</voice></speak>";# result = synthesizer.speak_text_async(text).get() #这个是普通文本
result = synthesizer.speak_ssml_async(ssml).get() #这个是SSML文本
stream = AudioDataStream(result)
stream.save_to_wav_file("file.wav")

SSML格式和列表看官方文档
定价

参考

https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/master/samples/python/console/speech_synthesis_sample.py
https://zhuanlan.zhihu.com/p/437580699
https://www.bilibili.com/video/BV15a4y1W7re

语音合成:Azure+Python+SSML实现相关推荐

  1. 百度云平台语音合成接口python调用

    百度云平台是一个功能非常强大的开放平台,平台提供了许多开放的API接口给用户,用户通过注册百度云账号就可以申请到调用API接口的密钥.同时百度云给用户提供了各种开发语言的SDK,用户可以免费下载使用. ...

  2. python发音机器人_python qq机器之 使用阿里云语音合成让机器人发送好听到炸裂的语音...

    上一篇文章我们写了用python实现qq机器人的基本操作:xiaowei:使用python打造一个自己的QQ机器人 [基础篇]​zhuanlan.zhihu.com 本篇文章,我们来尝试使用语音合成技 ...

  3. 基于 Azure 的认知服务将文本合成语音

    基于 Azure 的认知服务将文本合成语音 Intro 前几天发了一个 .NET 20 周年祝福视频,语音是通过 Azure 的认知服务合成的, 下面就来介绍一下如何将使用 Azure 的认识服务实现 ...

  4. 08-百度ai语音合成

    网址:http://ai.baidu.com/ 百度AI实现的爬虫功能: 图像识别 语音识别/语音合成 自然语言处理 使用流程 点击控制台登录 选择想要的功能 在功能下创建一个app 选择对应的pyt ...

  5. python离线录音转文字_Python将文字转成语音并读出来的实例详解

    前言 本篇文章主要介绍,如何利用Python来实现将文字转成语音.将文字转成语音主要有两种不同的实现方法:先将文字转成语音,然后再通过读取语音实现发音.直接调用系统内置的语音引擎实现发音,后一种方法的 ...

  6. 《零基础掌握 Python 入门到实战》笔记

    Python 零基础掌握 Python 入门到实战笔记 文章目录 Python 内置对象类型 基本交互语句 常用内置函数 整数与浮点数 基本数学运算 高级数学运算 字符串 序列 索引 切片 成员函数 ...

  7. 奇怪的日常 [ 2 ]:Python下合成萝莉/御姐音

    奇怪的日常 [ 2 ]:Python下合成萝莉/御姐音--基于百度AI开放平台 1. 百度AI平台 2.如何实现文字转语音 2.1 cmd安装ai包 2.2 百度AI平台注册 2.3 文字转语音 3. ...

  8. Python将文字转成语音并读出来

    前言 本篇文章主要介绍,如何利用Python来实现将文字转成语音.将文字转成语音主要有两种不同的实现方法:先将文字转成语音,然后再通过读取语音实现发音.直接调用系统内置的语音引擎实现发音,后一种方法的 ...

  9. Azure ML 机器学习: 创建 Workspace 以及获得 Workspace 的多种方法

    Azure ML: 创建 Workspace 以及获得当前 Workspace 的多种方法 记录三种创建Azure Machine Learning Workspace的方法:Azure Portal ...

最新文章

  1. Angular 4.x Events Bubbling
  2. SQLAlchemy简单操作
  3. Vivado关联第三方编辑器-Vscode
  4. 外网数据同步到内网方案_数据同步之解决方案
  5. spring AOP 之五:Spring MVC通过AOP切面编程来拦截controller
  6. Python 中 if __name__ == '__main__': 的理解
  7. 远程登录的几种方式对比
  8. java禁止js获取cookie_JS里面如何防止浏览器COOKIES溢出
  9. 他:32岁,公司骨干技术,月薪1万,加班猝死
  10. Activiti5工作流实战-4
  11. php:页面乱码的解决方法
  12. 【Win10 C盘压缩卷问题解答】:无法将卷压缩到超出任何不可移动的文件所在点
  13. 尚硅谷nginx学习
  14. JavaScript实现二级联动下拉菜单
  15. PReLU与ReLU
  16. C语言写一个函数,可以逆序一个字符串的内容。
  17. 使用bartender打印RFID标签如何正确写入EPCID(intermec的RFID条码打印机)
  18. java单例实例对象在springboot中实例化了2次,原因竟然是热部署的锅(记一次神奇的bug)
  19. python实现获取身份证号码的方法
  20. 究极聚合,效率翻倍——CSDN浏览器助手体验测评

热门文章

  1. 适用场景全新升级!扩展 Dragonfly2 作为分布式缓存系统架构
  2. Hbuilder中的图片在浏览器中无法显示
  3. obs点歌插件 html效果,OBS歌曲显示插件使用图文教程
  4. 应届生该“考研”还是“工作”,两者区别多大?
  5. 已解决error: subprocess-exited-with-error
  6. class jqprint 失效_响应式状态时的jqprint打印
  7. JHM | 北大孙卫玲/西湖鞠峰-含盐地下水中ARG和菌群的多样性模式和驱动机制
  8. 4.5.8 字符串的长度
  9. 在 Heroku 部署 PHP,部署在 Heroku 云
  10. P2P平台:第三方支付不等于第三方资金托管