语音合成:Azure+Python+SSML实现
采用的策略是微软云服务的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实现相关推荐
- 百度云平台语音合成接口python调用
百度云平台是一个功能非常强大的开放平台,平台提供了许多开放的API接口给用户,用户通过注册百度云账号就可以申请到调用API接口的密钥.同时百度云给用户提供了各种开发语言的SDK,用户可以免费下载使用. ...
- python发音机器人_python qq机器之 使用阿里云语音合成让机器人发送好听到炸裂的语音...
上一篇文章我们写了用python实现qq机器人的基本操作:xiaowei:使用python打造一个自己的QQ机器人 [基础篇]zhuanlan.zhihu.com 本篇文章,我们来尝试使用语音合成技 ...
- 基于 Azure 的认知服务将文本合成语音
基于 Azure 的认知服务将文本合成语音 Intro 前几天发了一个 .NET 20 周年祝福视频,语音是通过 Azure 的认知服务合成的, 下面就来介绍一下如何将使用 Azure 的认识服务实现 ...
- 08-百度ai语音合成
网址:http://ai.baidu.com/ 百度AI实现的爬虫功能: 图像识别 语音识别/语音合成 自然语言处理 使用流程 点击控制台登录 选择想要的功能 在功能下创建一个app 选择对应的pyt ...
- python离线录音转文字_Python将文字转成语音并读出来的实例详解
前言 本篇文章主要介绍,如何利用Python来实现将文字转成语音.将文字转成语音主要有两种不同的实现方法:先将文字转成语音,然后再通过读取语音实现发音.直接调用系统内置的语音引擎实现发音,后一种方法的 ...
- 《零基础掌握 Python 入门到实战》笔记
Python 零基础掌握 Python 入门到实战笔记 文章目录 Python 内置对象类型 基本交互语句 常用内置函数 整数与浮点数 基本数学运算 高级数学运算 字符串 序列 索引 切片 成员函数 ...
- 奇怪的日常 [ 2 ]:Python下合成萝莉/御姐音
奇怪的日常 [ 2 ]:Python下合成萝莉/御姐音--基于百度AI开放平台 1. 百度AI平台 2.如何实现文字转语音 2.1 cmd安装ai包 2.2 百度AI平台注册 2.3 文字转语音 3. ...
- Python将文字转成语音并读出来
前言 本篇文章主要介绍,如何利用Python来实现将文字转成语音.将文字转成语音主要有两种不同的实现方法:先将文字转成语音,然后再通过读取语音实现发音.直接调用系统内置的语音引擎实现发音,后一种方法的 ...
- Azure ML 机器学习: 创建 Workspace 以及获得 Workspace 的多种方法
Azure ML: 创建 Workspace 以及获得当前 Workspace 的多种方法 记录三种创建Azure Machine Learning Workspace的方法:Azure Portal ...
最新文章
- Angular 4.x Events Bubbling
- SQLAlchemy简单操作
- Vivado关联第三方编辑器-Vscode
- 外网数据同步到内网方案_数据同步之解决方案
- spring AOP 之五:Spring MVC通过AOP切面编程来拦截controller
- Python 中 if __name__ == '__main__': 的理解
- 远程登录的几种方式对比
- java禁止js获取cookie_JS里面如何防止浏览器COOKIES溢出
- 他:32岁,公司骨干技术,月薪1万,加班猝死
- Activiti5工作流实战-4
- php:页面乱码的解决方法
- 【Win10 C盘压缩卷问题解答】:无法将卷压缩到超出任何不可移动的文件所在点
- 尚硅谷nginx学习
- JavaScript实现二级联动下拉菜单
- PReLU与ReLU
- C语言写一个函数,可以逆序一个字符串的内容。
- 使用bartender打印RFID标签如何正确写入EPCID(intermec的RFID条码打印机)
- java单例实例对象在springboot中实例化了2次,原因竟然是热部署的锅(记一次神奇的bug)
- python实现获取身份证号码的方法
- 究极聚合,效率翻倍——CSDN浏览器助手体验测评
热门文章
- 适用场景全新升级!扩展 Dragonfly2 作为分布式缓存系统架构
- Hbuilder中的图片在浏览器中无法显示
- obs点歌插件 html效果,OBS歌曲显示插件使用图文教程
- 应届生该“考研”还是“工作”,两者区别多大?
- 已解决error: subprocess-exited-with-error
- class jqprint 失效_响应式状态时的jqprint打印
- JHM | 北大孙卫玲/西湖鞠峰-含盐地下水中ARG和菌群的多样性模式和驱动机制
- 4.5.8 字符串的长度
- 在 Heroku 部署 PHP,部署在 Heroku 云
- P2P平台:第三方支付不等于第三方资金托管