当前位置: 首页 > 编程日记 > 正文

Azure AI的又一里程碑,Neural TTS新模型呈现真人般情感饱满的AI语音

在人与人之间的对话中,即使是同样的字句,也会因为所处情景和情感的不同而表现出丰富的抑扬顿挫,而这种动态性恰恰是各种AI合成语音的“软肋”。相比于人类讲话时丰富多变的语气,AI语音的“心平气和”往往给人带来明显的违和感。

如何让AI语音有效模仿人类对话的丰富动态与情感,已成为全球研究者的共同挑战。就在不久前,微软Azure Neural TTS(神经网络文本转语音)推出的新一代模型“Uni-TTS v4”在这一领域取得了里程碑式的重大突破。在“2021国际语音合成大赛(Blizzard Challenge 2021)”的测试中,Uni-TTS v4的语音表现与通用数据集上的自然语音相比几乎没有明显差别,展现出足以“叫板”真人对话的实力。

Uni-TTSv4的研究出发点是XYZ-代码,它是三种认知属性的联合表示:单语文本(X),音频或视觉感官信号(Y),以及多语言(Z)。关于这些努力的更多信息,请阅读XYZ-代码的博文:https://www.microsoft.com/en-us/research/blog/a-holistic-representation-toward-integrative-ai/

“耳听”为实,让我们从以下几段TTS和真人对话的对比中,感受新模型带来的逼真语音表现。

En-US(Jenny):

The visualizations of the vocal quality continue in a quartet and octet.

真人录音: https://www.microsoft.com/en-us/research/uploads/prod/2021/12/Jenny_NonTTS-recording.wav

Uni-TTS v4: https://www.microsoft.com/en-us/research/uploads/prod/2021/12/Jenny_TTS_new.wav

En-US(Sara):

Like other visitors, he is a believer.

真人录音: https://www.microsoft.com/en-us/research/uploads/prod/2021/12/Sara-NonTTS-recording.wav

Uni-TTS v4: https://www.microsoft.com/en-us/research/uploads/prod/2021/12/Sara-TTS-new.wav

Zh-CN(Xiaoxiao):

另外,也要规避当前的地缘局势风险,等待合适的时机介入。

真人录音: https://www.microsoft.com/en-us/research/uploads/prod/2021/12/Xiaoxiao-NonTTS-RECORDING.wav

Uni-TTS v4: https://www.microsoft.com/en-us/research/uploads/prod/2021/12/Xiaoxiao-TTS-NEW-Wave.wav

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQUnnp5HmioDlpKfmnKzokKU=,size_20,color_FFFFFF,t_70,g_se,x_16

图注:上图为Uni-TTS v4在“2021国际语音合成大赛(Blizzard Challenge 2021)”上的测试结果。这项TTS领域的全球盛事汇集了全球顶级专家,每次都会邀请数百名参会者对多个TTS系统进行大规模MOS测试,称得上是全球TTS“试金石”。相关详细信息可以参看微软为此次活动发表的论文《DelightfulTTS: The Microsoft Speech Synthesis System for Blizzard Challenge 2021》。

如果体验完以上示例后还觉得意犹未尽,欢迎在Azure TTS在线服务中使用自创文本来创建新的demo。目前Uni-TTS v4可支持TTS语言库中7个语种的8个语音,研发团队还将持续使用最新模型优化Neural TTS已支持的其它语言以及自定义神经语音,以便能让用户通过Azure TTS API、 Microsoft Office和Edge browser直接获得更出色的新一代TTS语音。

Uni-TTS v4之所以能成为Azure AI的又一里程碑,在于其出色拟真语音表现的背后,对TTS语音基础建模的大幅革新。

如同开篇所说,TTS语音与真人的差距在于难以模仿人类对话的丰富动态。人类在不同的情绪或场景下,对同一个词的发音方法可能完全不同,而且其变化规律在不同语种中也千差万别。

TTS语音的表现依赖于以各种声学参数进行建模,但这些参数很难有效地对人类语音声学频谱上的所有粗粒度和细粒度细节进行建模。另一方面,TTS是一种典型的一对多映射,往往需要使用多种语音风格(如音调、语速、讲话人、韵律、风格等等)来输出同一个文本内容。总之,能否为这些“变量”进行有针对性的建模,是提升合成语音表现力和真实度的重要因素。

为了让TTS在以上两方面获得提升,Uni-TTS v4在声学建模中引入了两项重要更新。通常,transformer模型用来学习全局交互,而卷积神经网络则有效地发现局部相关性。于是研究团队首先采用了一个带有transformer和卷积块的新架构,以更好地模拟声学模型中的局部和全局依赖关系;其次,从显性视角(身份ID、语种ID、音调、语速)和隐性视角(话语级和音素级韵律)系统地对变量信息进行建模。这些视角分别使用监督学习和无监督学习,确保端到端的音频具有足够自然的表现力。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQUnnp5HmioDlpKfmnKzokKU=,size_14,color_FFFFFF,t_70,g_se,x_16

图注:Uni-TTS v4 的声学模型和声码器示意图。首先使用文本编码器对文本进行编码,然后将隐性和显性信息添加到文本编码器的隐藏嵌入(hidden embeddings)中,再使用频谱解码器预测梅尔声谱图。最后,通过声码器将梅尔声谱图转换为音频样本。

作为微软Azure认知服务中的强大语音合成功能,Neural TTS可用于帮助开发者将文本转换为真人一般的逼真自然语音,常被用于语音助手场景、文字朗读功能,及作为辅助性工具等等,同时也被整合到微软的Edge Read Aloud、Immersive Reader和Word Read Aloud等旗舰产品中,还被AT&T、Duolingo、Progressive等众多客户采用。Neural TTS已拥有330多个音色,支持来自不同国家和地区的近130种语言或方言。用户和企业可以通过搜索"Azure TTS"进入产品网站,测试体验Neural TTS的丰富预设语音,抑或录制并上传自己的样本,来创建独有的自定义语音。

相关文章:

VS2010中“工具选项中的VC++目录编辑功能已被否决”解决方法

http://blog.csdn.net/chaijunkun/article/details/6658923 这是VS2010的改变,不能够在“工具-选项”中看到“VC目录”了。 但是呢,我们可以在另外一个地方找到它,请看下边的对比照片。 VS2008中: VS2010中: 打开方式非…

Bminer 7.0.0 ETH挖矿教程(Linux 64)

Bminer产品介绍Bminer是目前最快的挖矿程序,Bminer是基于NVIDIA GPU深度优化的挖矿软件。Bminer支持Equihash和Ethash两种算法的虚拟币,包括:ETH(以太坊),ETC,ZEC(零币),…

深入理解PHP原理之变量分离/引用(Variables Separation)

引自: http://www.laruence.com/ [风雪之隅 ]在前面的文章中我已经介绍了PHP的变量的内部表示(深入理解PHP原理之变量(Variables inside PHP)),以及PHP中作用域的实现机制(深入理解PHP原理之变量作用域(Scope inside PHP))。这节我们就接着前面的文章,继…

C# 属性、索引

属性(property): public string Name {get{return _name;}set{_name value;} } 简写为: public string Name { set; get;} 索引器(index): 索引器为C#程序语言中泪的一种成员,它是的对象可…

分享几段祖传的 Python 代码,拿来直接使用!

作者 | 周萝卜来源 | 萝卜大杂烩今天分享几段工作生活中常用的代码,都是最为基础的功能和操作,而且大多还都是出现频率比较高的,很多都是可以拿来直接使用或者简单修改就可以放到自己的项目当中日期生成很多时候我们需要批量生成日期&#xf…

JVM——Java虚拟机架构

Java虚拟机(Java virtualmachine)实现了Java语言最重要的特征:即平台无关性。 平台无关性原理:编译后的 Java程序(.class文件)由 JVM执行。JVM屏蔽了与具体平台相关的信息,使程序可以在多种平台…

深入理解PHP之数组遍历

本文地址: http://www.laruence.com/2009/08/23/1065.html 经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序遍历呢? 比如: <?php$arr[laruence] huixinchen;$arr[yahoo] 2007;$arr[baidu] 2008;foreach ($arr as $key >…

Github 年度最受欢迎的 TOP30 Python 项目,超值

作者 | 俊欣来源 | 关于数据分析与可视化今天小编整理归纳了2021年Github上面最受欢迎的30个Python项目&#xff0c;帮助大家在打磨技术与提升自我上面更进一步。通过代码来获取Github官网有开源的接口&#xff0c;因此数据的获取也就方便了许多&#xff0c;代码如下url https…

Linux字符设备驱动程序的框架(新写法)

这是老版本内核的的Linux驱动注册函数写法&#xff1a; major register_chrdev(0, "hello", &hello_fops); /* (major, 0), (major, 1), ..., (major, 255)都对应hello_fops */ 新版本内核Linux驱动注册函数写法#define MAJOR(devid) ((unsigned int) ((devid…

将一个普通的java项目转化为maven项目

在学习Spring事务时&#xff0c;我参考的书的源码不是maven项目&#xff0c;整本书依赖的100多个jar包都在一个文件夹里&#xff0c;我本来对spring每个模块的学习源码都放在一个Github仓库里&#xff0c;每一个项目都是maven项目&#xff0c;这样想要将项目转化为maven项目&am…

深入理解PHP内存管理之谁动了我的内存

本文地址: http://www.laruence.com/2011/03/04/1894.html转载请注明出处首先让我们看一个问题: 如下代码的输出, var_dump(memory_get_usage());$a "laruence";var_dump(memory_get_usage());unset($a);var_dump(memory_get_usage()); 输出(在我的个人电脑上, 可能…

蓝懿教育九月二十七日记录

将VIew移动做成动画效果 这种动画效果没有中间的位移可以添加动画的View属性center&#xff0c;frame&#xff0c;alpha&#xff0c;transform , backgroundColor//继续做消失的动画[UIView animateWithDuration:1 animations:^{iv.alpha 0;} completion:^(BOOL finished) …

新年快到了,让我们一起用 Python 编织中国结吧

作者 | FrigidWinter来源 | CSDN博客新年快到了&#xff0c;今天博主教大家用Python编织中国结~中国结的组成部分中国结是一种手工编织工艺品&#xff0c;它身上所显示的情致与智慧正是汉族古老文明中的一个侧面。因为其外观对称精致&#xff0c;可以代表汉族悠久的历史&#x…

pwa+webpack,初探与踩坑

0.前言 我们都知道pwa是一个新技术.&#xff0c;依靠缓存&#xff0c;离线了还能正常跑&#xff0c;而且秒开。我把以前原生写的小游戏迁移到react&#xff0c;再迁移到webpackreact&#xff0c;最后再升级到pwa。具体介绍不多说&#xff0c;我们开始撸吧。 1.webpack webpack攻…

linux sar 命令详解

sar&#xff08;System Activity Reporter系统活动情况报告&#xff09;是目前 Linux 上最为全面的系统性能分析工具之一&#xff0c;可以从多方面对系统的活动进行报告&#xff0c;包括&#xff1a;文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程…

PHP底层工作原理

简介 先看看下面这个过程&#xff1a; 我们从未手动开启过PHP的相关进程&#xff0c;它是随着Apache的启动而运行的&#xff1b;PHP通过mod_php5.so模块和Apache相连&#xff08;具体说来是SAPI&#xff0c;即服务器应用程序编程接口&#xff09;&#xff1b;PHP总共有三个模…

使用 Pandas、Jinja 和 WeasyPrint,轻松创建一个 PDF 报表

作者 |周萝卜来源 |萝卜大杂烩我们都知道&#xff0c;Pandas 擅长处理大量数据并以多种文本和视觉表示形式对其进行总结&#xff0c;它支持将结构输出到 CSV、Excel、HTML、json 等。但是如果我们想将多条数据合并到一个文档中&#xff0c;就有些复杂了。例如&#xff0c;如果要…

通过Excel生成批量SQL语句

项目中有时会遇到这样的要求&#xff1a;用户给发过来一些数据&#xff0c;要我们直接给存放到数据库里面&#xff0c;有的是Insert&#xff0c;有的是Update等等&#xff0c;少量的数据我们可以采取最原始的办法&#xff0c;也就是在SQL里面用Insert into来实现&#xff0c;但…

抵御「黄貂鱼」攻击,谷歌使出禁用2G「大招」

整理 | 于轩 责编 | 张红月出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;你还在使用2G吗&#xff1f;相信很多人第一反应都是“怎么可能&#xff1f;”确实&#xff0c;现在绝大数人都在使用技术成熟的4G网络&#xff0c;以及更高网速的5G。但是你有注意到…

Crontab运行php脚本

首先&#xff0c;确认 PHP 可执行文件的位置 —— 对于大多数 Linux 系统&#xff0c;几乎肯定是 /usr/bin/php。如果不确定其位置&#xff0c;请在命令行中键入 which php 并查看响应内容。 其次&#xff0c;键入以下代码&#xff0c;确保将 /usr/bin/php 替换为 PHP 可执行文…

iOS原生如何加载HTML中img标签的图片

原文出自&#xff1a;iOS原生如何加载HTML中img标签的图片 前言 最近iOS App项目中使用Webview加载H5页面比较多&#xff0c;也有不少朋友经常问到这个问题&#xff0c;在这里我也学习学习如何通过iOS原生的方式来加载H5页面中的图片然后让webview显示图片。 相信有很多朋友也…

Python3 的urllib实例

在Python3中合并了 urllib 和 urllib2&#xff0c; 统一命名为 urllib 了&#xff0c;我觉得这样更加合理了。让我们可以像读取本地文件一样读取WEB上的数据。封装了一个类&#xff0c;供以后方便使用吧&#xff01;并附带有许多的应用实例。 一、封装的类 #!/usr/bin/env pyth…

Java中Filter、Servlet、Listener的学习

1、Filter的功能filter功能&#xff0c;它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是一个”servlet chainin…

CentOS 6安装DHCP

#wget ftp://ftp.isc.org/isc/dhcp/dhcp-4.2.3/dhcp-4.2.3.tar.gz #tar xvzf dhcp-4.2.3.tar.gz# cd dhcp-4.2.3#./configure #make #make install

小米AI实验室六篇论文获ICASSP2022收录,多模态语音唤醒挑战赛夺冠

1月22日&#xff0c;全球语音、声学顶级会议ICASSP 2022公布了论文入选名单&#xff0c;小米AI实验室6篇学术论文被接收。小米“自由说”系统在MISP&#xff08;基于多模态信息的语音处理&#xff09;挑战赛中荣获多模态语音唤醒第一名和多模态语音识别第二名&#xff0c;并受邀…

React + Koa 实现服务端渲染(SSR)

⚛️React是目前前端社区最流行的UI库之一&#xff0c;它的基于组件化的开发方式极大地提升了前端开发体验&#xff0c;React通过拆分一个大的应用至一个个小的组件&#xff0c;来使得我们的代码更加的可被重用&#xff0c;以及获得更好的可维护性&#xff0c;等等还有其他很多…

11 款可替代 top 命令的工具!

‍‍作者 | JackTian来源 | 杰哥的IT之旅在 Linux 环境下 top 命令都不陌生&#xff0c;它以实时动态的方式查看系统的整体运行情况&#xff0c;综合了多方信息监测系统性能和运行信息的实用工具&#xff0c;通过 top 命令所提供的互动式界面&#xff0c;可以用热键来进行管理。…

几个重要的RFC

RFC目录 权威无须解释 http://www.ietf.org/rfc/RFC中文目录http://man.chinaunix.net/develop/rfc/default.htm几个常用的RFC参考&#xff1a; RFC1945 超文本传输协议--HTTP/1.0 RFC2616超文本传输协议--HTTP/1.1 对 RFC2068的补充RFC3920可扩展的消息和出席信息协议 (XMPP)…

iOS开发笔记-两种单例模式的写法

iOS开发笔记&#xff0d;两种单例模式的写法 单例模式是开发中最常用的写法之一&#xff0c;iOS的单例模式有两种官方写法&#xff0c;如下&#xff1a; 不使用GCD #import "ServiceManager.h"static ServiceManager *defaultManager;implementation ServiceManager(…

流式大数据处理的三种框架:Storm,Spark和Samza

2019独角兽企业重金招聘Python工程师标准>>> 许多分布式计算系统都可以实时或接近实时地处理大数据流。本文将对三种Apache框架分别进行简单介绍&#xff0c;然后尝试快速、高度概述其异同。 Apache Storm 在Storm中&#xff0c;先要设计一个用于实时计算的图状结构…