TTS 擂台: 文本转语音模型的自由搏击场
对文本转语音 (text-to-speech, TTS) 模型的质量进行自动度量非常困难。虽然评估声音的自然度和语调变化对人类来说是一项微不足道的任务,但对人工智能来说要困难得多。为了推进这一领域的发展,我们很高兴推出 TTS 擂台。其灵感来自于 LMSys 为 LLM 提供的 Chatbot 擂台。借鉴 Chatbot 擂台 的做法,我们开发了一款工具,让任何人可以很轻松地对 TTS 模型进行并排比较。你仅需提交想要转成语音的文本,然后听一下两个不同的模型生成的音频,最后投票选出生成质量较好的模型。我们把投票结果组织成一个排行榜,用以展示社区评价最高的那些模型。

动机
长期以来,语音合成领域缺乏准确的方法以度量不同模型的质量。常用客观指标 (如 WER (word error rate,单词错误率) 等) 并不能可靠地度量模型质量,而 MOS (mean opinion score,平均意见得分) 等主观指标通常只适用于对少数听众进行小规模实验。因此,这些评估标准在对质量大致相当的两个模型进行比较时并无用武之地。为了解决这些问题,我们设计了易用的界面,并邀请社区在界面上对模型进行排名。通过开放这个工具并公开评估结果,我们希望让人人都参与到模型比较和选择中来,并共享其结果,从而实现模型排名方式的民主化。
TTS 擂台
由人类来对人工智能系统进行排名并不是什么新方法。最近,LMSys 在其 Chatbot 擂台 中采用了这种方法,取得了很好的效果,迄今为止已收集到超过 30 万个投票。被它的成功所鼓舞,我们也采用了类似的框架,邀请每个人投票参与音频合成效果的排名。
具体方法很简单: 用户输入文本,会有任意两个模型对该文本进行合成; 用户在听完两个合成音频后,投票选出哪个模型的输出听起来更自然。为了规避人为偏见和滥用的风险,只有在提交投票后才会显示模型名称。
目前在打擂的模型
我们为排行榜选择了如下几个最先进 (SOTA) 的模型。其中大多数都是开源模型,同时我们还纳入了几个私有模型,以便开发人员可以对开源社区与私有模型各自所处的状态进行比较。
首发的模型有:
- ElevenLabs (私有模型)
- MetaVoice
- OpenVoice
- Pheme
- WhisperSpeech
- XTTS
尽管还有许多其他开源或私有模型,我们首发时仅纳入了一些被普遍认同的、最高质量的公开可用模型。
TTS 排行榜
我们会将擂台票选结果公开在专门的排行榜上。请注意,每个模型只有积累了足够的投票数后才会出现在排行榜中。每次有新的投票时,排行榜都会自动更新。
跟 Chatbot 擂台一样,我们使用与 Elo 评级系统类似的算法对模型进行排名,该算法常用于国际象棋以及一些其他游戏中。
总结
我们希望 TTS 擂台 能够成为所有开发者的有用资源。我们很想听听你的反馈!如果你有任何问题或建议,请随时给我们发送 X/Twitter 私信 或在 擂台 Space 的社区中开个帖子 和我们讨论。
致谢
非常感谢在此过程中给予我们帮助的所有人,包括 Clémentine Fourrier、Lucian Pouget、Yoach Lacombe、Main Horse 以及整个 Hugging Face 团队。特别要感谢 VB 的时间及技术协助。还要感谢 Sanchit Gandhi 和 Apolinário Passos 在开发过程中提供的反馈及支持。
英文原文: https://hf.co/blog/arena-tts
原文作者: mrfakename, Vaibhav Srivastav, Clémentine Fourrier, Lucain Pouget, Yoach Lacombe, Main Horse, Sanchit Gandhi
译者: Matrix Yao (姚伟峰),英特尔深度学习工程师,工作方向为 transformer-family 模型在各模态数据上的应用及大规模模型的训练推理。
TTS 擂台: 文本转语音模型的自由搏击场的更多相关文章
- 用TTS实现文本转语音
最近被toefl单词虐成狗::>_<:: 想做一个可以自动把单词转成语音的软件,这样就可以在路上戴耳机边走边听啦~ 用微软的TTS语音库可以很容易地实现.早期的TTS要想实现中英文混合朗读 ...
- 【TTS】文本转语音?如何不调用第三方api来实现,使用pyttsx3
@ 目录 前言 安装pyttsx3 实现TTS接口 后言 前言 本次的实现需求有点困难,所以也就记录下来,别到时候都忘了. 首先先不说正题,有兴趣的可以看一看: 1.目标是实现一个可以传一个文本就返回 ...
- C# 利用TTS实现文本转语音
TSS(Text To Speech),语音朗读文本的技术,在Windows下台下,微软给我们提供了一套API接口(Speech API).金山词霸的朗读功能就是用的这个接口. WindowsXP自带 ...
- C# 百度TTS,文本转语音,RestAPI之Get请求
因为用得到,所以作个记录: 代码如下: public class BaiduTTSService : IBaiduTTSService { public string tok = GetBaiduTo ...
- iOS 文本转语音(TTS)详解:Swift
上一篇博客讲解了iOS的speech FrameWork语音识别的功能:http://www.cnblogs.com/qian-gu-ling/p/6599670.html,对应的这篇博客就写一下文本 ...
- 文本转语音TTS(文本阅读和视频配音制作)MP3
DL-TTS 通过AI驱动引擎可将文本转化为逼真的语音,它可以:(1)生成逼真的合成语音实现与人声的语调和情感匹配的流畅.发音自然的文本转语音.(2)细化的文本转语音控制支持多种语言,并可调整语速.语 ...
- unity3dWeb版文本转语音
文本转语音 <script type="text/javascript"> function VioceSpeack(str) { var zhText = str; ...
- C# 文本转语音朗读
1. 利用DONET框架自带的 SpeechSynthesizer ,缺点是没有感情色彩,抑扬顿挫等. using System; using System.Collections.Generic; ...
- 15.Python文本转化语音方法
1.用pywin32模块来将文本转化为语音 通过pip install pywin32安装模块,pywin32是个万金油的模块,太多的场景使用到它,但在文本转语音上,它却是个青铜玩家,简单无脑但效果不 ...
- java文本转语音
下载jar包https://github.com/freemansoft/jacob-project/releases 解压,将jacob-1.18-xxx.dll相应放到项目使用的JAVA_HOME ...
随机推荐
- 探索C语言的数据类型:解密编程世界的核心秘密
欢迎大家来到贝蒂大讲堂 养成好习惯,先赞后看哦~ 所属专栏:C语言学习 贝蒂的主页:Betty's blog 1. 常量与变量 1.1 常量 (1) 常量的概念 常量顾名思义就是无法改变的量,比如一周 ...
- FDConnection的事务测试讲解。。
总之用事务的宗旨是: 1.不用嵌套事务EnableNested设置为False 2.事务一定要回滚,避免发生异常的情况下,没有回滚 造成,不可估量的错误. try frmClientDm.MyMain ...
- 《ASP.NET Core 微服务实战》-- 读书笔记(第6章)
第 6 章 事件溯源与 CQRS 在本章,我们来了解一下随着云平台一同出现的设计模式 我们先探讨事件溯源和命令查询职责分离(CQRS)背后的动机与哲学 事件溯源简介 事实由事件溯源而来 我们大脑就是一 ...
- 从函数柯里化聊到add(1)(2)(3) add(1, 2)(3),以及柯里化无限调用
壹 ❀ 引 很久之前看到过的一道面试题,最近复习又遇到了,这里简单做个整理,本题考点主要是函数柯里化,所以在实现前还是简单介绍什么是柯里化. 贰 ❀ 函数柯里化(Currying) 所谓函数柯里化,其 ...
- 面试官:谈一谈你对 redis 分布式锁的理解
为什么需要分布式锁 在 jdk 中为我们提供了多种加锁的方式: (1)synchronized 关键字 (2)volatile + CAS 实现的乐观锁 (3)ReadWriteLock 读写锁 ( ...
- STM32F407VET6烧录出现flash download failed target dll has been cancelled
今天在通过stlink烧录一个长时间未用的STM32F407VET6 Black Board的时候, 出现错误 Internal command error Flash download failed ...
- 【Unity3D】顶点和片元着色器
1 前言 上文介绍了渲染管线.固定管线着色器和表面着色器,如下: 渲染管线 固定管线着色器一 固定管线着色器二 表面着色器 固定管线着色器通过命令方式实现光照和贴图等效果,表面着色器通过给 S ...
- 《系列一》-- 5、xml配置文件解析之[自定义]命名空间[标签]的解析
阅读之前要注意的东西:本文就是主打流水账式的源码阅读,主导的是一个参考,主要内容需要看官自己去源码中验证.全系列文章基于 spring 源码 5.x 版本. Spring源码阅读系列--全局目录.md ...
- C++ GDAL用CreateCopy()新建栅格并修改波段的个数
本文介绍基于C++语言GDAL库,为CreateCopy()函数创建的栅格图像添加更多波段的方法. 在C++语言的GDAL库中,我们可以基于CreateCopy()函数与Create()函数创 ...
- 类型注解Callable
from collections.abc import Callable """ Callable[[ParamType1, ParamType2], ReturnTyp ...