听见文本的魅力:AI 与未来的语音交互

AI 与未来的语音交互

      • 引言
      • 什么是文本转语音(TTS)?
      • 当前 TTS 技术现状
      • 国内海外文本转语音能力调研
      • 文本转语音能力说明
        • 多情感风格
        • SSML语音合成标记语言
      • 未来趋势

引言

随着人工智能(AI)技术的迅猛发展,文本转语音(Text-to-Speech, TTS)技术逐渐进入了我们的日常生活中。
已广泛应用于不限于以下示例场景:

  • 流式语音实时翻译对话;
  • 非流式语音对话机器人一问一答式对话;
  • 类似豆包、Kimi等AI工具的智能助手;
  • 用户友好的功能引导提示;
  • 游戏NPC交互;
  • 儿童读物;
  • 影视配音;
  • 电子书;

什么是文本转语音(TTS)?

文本转语音(TTS)是一种将书面文本转换为语音的技术。用户可以通过输入文本,利用 TTS 系统生成听起来自然流畅的语音。TTS 系统通常由以下几个主要组件组成:

  1. 文本分析:解析输入的文本,识别分词、语法、标点和其他语言特征。
  2. 语言处理:根据语言特征,将文本转换为音素(phonemes)和音节(syllables)。
  3. 语音合成:将音素和音节转换为实际声音,通常采用预录音频或合成方式。

当前 TTS 技术现状

  1. 神经网络与深度学习:近年来,随着神经网络和深度学习技术的突破,TTS 的质量得到了显著提升。尤其是 WaveNet、Tacotron 和 FastSpeech 等模型,在合成的自然度和表现力上远超传统 TTS 系统。这些模型能够生成更加流畅、自然的语音,甚至模仿特定说话者的音色。

  2. 多语言支持:现代 TTS 系统已支持多种语言,适应全球用户需求。许多大厂商的 TTS 技术能够处理包括中文、英文、西班牙文等多种语言,并且提供不同地区的口音和方言。

  3. 个性化语音:个性化语音合成技术的出现,使得用户可以定制语音特征,如音调、语速和情感风格。这种个性化的体验在教育和娱乐等领域尤为重要。

国内海外文本转语音能力调研

三方厂商服务多音色SSML标记语言多情感Emotion语速rate音调pitch音量volumeAPI价格备注
出门问问魔音工坊标准音色:100元/百万字符;精品音色:300元/百万字符支持多情感,国内语音合成效果非常好的一款产品,英文语音效果亦佳
阿里云TTS1.80元/千次部分中文音色支持多情感,英文音色不支持多情感
腾讯云语音合成标准音色:0.2元/万字符; 精品音色:0.3元/万字符英文不支持多情感
火山云语音技术5.5元/千次慵懒女声-Ava、情感女声-Lawrence、亲切女声-Anna支持通用、开心、悲伤、生气、害怕、厌恶、惊讶等情感。男声不支持多情感
科大讯飞TTS 1、会员月/45元,权益-80次/天;2、单次付费120字5元;2150字10元;51100字20元;101300字30元;3011000字45元;10015000字78元;5001~20000字168元;图形化操作不支持API,英文不支持多情感
Elevenlabs$99/500min;$330/2000min/英文场景优先推荐,英文音色效果很好;多情感需要文本中包含情感描述,导致合成语音存在情感描述。对情感类支持灵活性低。
Google Cloud标准语音:$4.00/100万字符Neural2 语音:$16.00/100万字符英文语音效果好,可通过SSML实现语音控制
Azure AI$15.00/100万字符英文场景优先推荐,英文音色效果很好;支持多情感音色
AWS Polly标准语音:$4.00/100 万字符; 神经语音:$16.00/100 万字符多情感,只能通过选择不同的音色,配置不同的语速和语调,来表达积极或失落的情感
ArtList$11.99/月,50,000积分(约1个小时音频)语音效果较好。支持多情感,但情感分类较少。图形化操作不支持API
Play.ht$49.00/月,25万字符需要通过声音参数表现力稳定性、声音相似性、情绪强度来调整语音设置;类似elevenlabs,对情感类支持灵活度较低。

文本转语音能力说明

在这里插入图片描述
此处以出门问问的序列猴子开放平台音色为例,介绍下音色主要的能力。
首先音色有分类,男声、女声、儿童、青年、中年、老年、中文、英文、韩语、法语这些最基本的大类。

  • 音色
    每个人的音色都不一样,不同的AI音色也不一样
  • 语速
    控制指定音色制作语音讲话的快慢
  • 音调
    控制指定音色制作语音的音调大小
  • 音量
    控制指定音色制作语音的音量大小
多情感风格

然后重要介绍下音色的多情感风格,训练出一款好的AI音色不局限于一种中性风格。例如出门问问会支持开心、难过、惊喜、生气、呢喃、新闻等各种情感色彩;Azure会支持友好、充满希望、柔和等情感风格;
一个普通的AI模型是没有感情色彩的,通常为中性,通过中性音色制作的语音,听起来有明显的AI感、机械化没有感情色彩。一个支持多情感的音色,是可以处理短文故事文案中各种复杂场景的,且语音合成没有AI感,更接近真实的人声。

此处以Azure AI语音Style为例。

情感风格风格描述
friendly表达一种愉快、怡人且温暖的语气。 听起来很真诚且满怀关切。
hopeful表达一种温暖且渴望的语气。 听起来像是会有好事发生在说话人身上。
whispering表达一种柔和的语气,试图发出安静而柔和的声音。
empathetic表达关心和理解。
chat表达轻松随意的语气。
serious表达严肃和命令的语气。 说话者的声音通常比较僵硬,节奏也不那么轻松。
excited表达乐观和充满希望的语气。 似乎发生了一些美好的事情,说话人对此满意。
SSML语音合成标记语言

正常语音合成输入纯文本即可,语音合成引擎内部会使用基于规则或者统计学习模型的方法,去做文本分析,尝试预测合理的注音和韵律等。
使用SSML标签标记文本中的关键文字,可以指定文字的发音、语速、停顿、多音字处理、情感风格等。提到这些功能,大概可以知道SSML标签可以更加细化的控制我们的语音合成效果。实际生产过程中对制作语音要求高的场景,往往建议你通过SSML标签来控制。

示例:

9月10日,庆祝2019年教师节暨全国教育系统先进集体和先进个人表彰大会在京举行。
XXX在XXX亲切会见受表彰代表,向受到表彰的先进集体和先进个人表示热烈祝贺,向全国广大教师和教育工作者致以节日的问候。

文本转语音API调用:

{
    "signature": "appkey+secret+timestamp的MD5值",
    "timestamp": "1665717322",
    "appkey": "开发者应用appkey",
    "speaker": "cissy_meet",
    "ignore_limit": true,
    "gen_srt": true,
    "audio_type": "mp3",
    "text": "910日,庆祝2019年教师节暨全国教育系统先进集体和先进个人表彰大会在京举行。
XXXXXX亲切会见受表彰代表,向受到表彰的先进集体和先进个人表示热烈祝贺,向全国广大教师和教育工作者致以节日的问候。",
    "speed": "1.0"
}

SSML标签处理后示例:
此处对"教师节"制定了读音及读第几声。通过break控制停顿500ms。更多能力请参考官方文档语音合成标记语言SSML使用说明

<speak version="1.0" xml:lang="zh-CN" xmlns="http://www.w3.org/2001/10/synthesis">9月10日,庆祝2019年<w phoneme="jiao4 shi1 jie2">教师节</w>暨全国教育系统先进集体和先进个人表彰大会在京举行。<break time="500ms" />XXX在XXX亲切会见受表彰代表,<break time="500ms" />向受到表彰的先进集体和先进个人表示热烈祝贺,<break time="500ms" />向全国广大<p phoneme="jiao4"></p>师和教育工作者致以节日的问候。</speak>

文本转语音API调用:

{
    "signature": "appkey+secret+timestamp的MD5值",
    "timestamp": "1665717322",
    "appkey": "开发者应用appkey",
    "speaker": "cissy_meet",
    "ignore_limit": true,
    "gen_srt": true,
    "audio_type": "mp3",
    "text": "<speak version=\"1.0\" xml:lang=\"zh-CN\" xmlns=\"http://www.w3.org/2001/10/synthesis\">9月10日,庆祝2019年<w phoneme=\"jiao4 shi1 jie2\">教师节</w>暨全国教育系统先进集体和先进个人表彰大会在京举行。<break time=\"500ms\" />XXX在XXX亲切会见受表彰代表,<break time=\"500ms\" />向受到表彰的先进集体和先进个人表示热烈祝贺,<break time=\"500ms\" />向全国广大<p phoneme=\"jiao4\">教</p>师和教育工作者致以节日的问候。</speak>",
    "speed": "1.0"
}

未来趋势

  1. 更自然的语音生成:目前的语音合成很多时候虽然还是被吐槽一听就有AI感,但是已存在部分厂商的音色去AI感了。未来的 TTS 技术将继续朝着更高的自然度和声音表现力发展,甚至可能实现像人声一样真实的交互。
  2. 专属AI语音模型训练:目前已经很多厂商在做训练用户专属的AI语音模型,并已经作为功能开放出来,供开发者训练指定音色模型,比如我们投喂姚明的大量的语音资源,可以训练出姚明的音色模型出来。
  3. 情感语音合成:随着情感计算技术的发展,TTS 将能够生成不同情感的语音,自动分析前后文,动态的切换感情色彩,提升人机交互的情感表达能力。
  4. 跨模态学习:结合图像、视频和文本等多种模态的信息处理,未来的 TTS 系统将能够更好地理解上下文,从而生成更恰当的语音输出。
  5. 隐私与安全:随着个人语音数据的增加,确保用户隐私和数据安全将成为 TTS 技术发展的重要课题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/900930.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全流程演示:如何从0到1构建分布式GPU计算环境

【温馨提示&#xff1a;本篇文章涉及较多代码&#xff0c;请移步至wx公号星融元Asterfusion&#xff0c;发送关键词“分布式”获取完整版及Q&A】 随着AI、大模型的快速发展&#xff0c;传统的集中式计算已无法应对激增的数据处理需求&#xff0c;而分布式计算是指将一个计…

VTK的学习方法-第一类型应用

相信很多做研究的人都在使用VTK&#xff0c;其实VTK的学习分成两类。一类就是使用VTK中现有的算法来完成自己的工作&#xff0c;比如数据的显示和渲染。另外一类是需要继承里面的算法类&#xff0c;自己根据自己的需求来重新写一个算法。 对于第一种类型的应用&#xff0c;不要…

E43.【C语言】练习:传值调用和传址调用混淆点解释

1.问题 阅读下列代码,在Function函数返回前,px的值会因malloc的返回值而发生改变吗? #include <stdlib.h> void Function(int* ptr) {ptr (int*)malloc(sizeof(int)); }int main() {int* px NULL;Function(px);return 0; }2.分析 VS2022进入调试模式,下断点在retur…

利用客户端导入有关联的业务数据(DBeaver+sql)

前言 最近有点坑&#xff0c;麻辣烫的活落手上了&#xff0c;上个迭代除了自己的开发任务&#xff0c;还有处理接手的工作。然后节后问题又多&#xff0c;还有前1个迭代没有测试的模块本迭代测试&#xff0c;烦死了。 这次这个数据处理的活&#xff0c;以后希望可以交出…

Android 判断手机放置的方向

#1024程序员节&#xff5c;征文# 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 需求 老板&#xff1a;我有个手持终端&#xff0c;不能让他倒了&#xff0c;当他倒或者倾斜的时候要发出报警&#xff1b; 程序猿&#xff1a;我这..... 老板…

uniapp 常用的地区行业各种多选多选,支持回显,复制粘贴可使用

uniapp 常用的地区行业各种多选多选&#xff0c;支持回显 必须导入uni-popup 弹出层 该组件 1.目前项目开发中使用到这类似挺多的&#xff0c;记录一下&#xff0c;方便以后是使用 2.使用前提&#xff0c;目前不做无限级&#xff0c;只支持二维数组&#xff0c;模板里只循环了两…

GitLab+Jenkins 实现 Webhook 自动化触发构建

在持续集成和持续部署&#xff08;CI/CD&#xff09;过程中&#xff0c;如何实现代码提交后自动触发构建&#xff1f;今天&#xff0c;我们将通过GitLab与Jenkins的集成&#xff0c;利用Webhook实现自动化触发构建&#xff0c;为你的开发流程注入高效能量&#xff01; 在每次代…

从零开始:AI制作PPT工具大比拼

现在真的万物皆可AI了&#xff0c;甚至是令人头疼的PPT&#xff0c;也可以直接用AI来搞定了。作为一个PPT新手&#xff0c;我最近对AI制作PPT这个话题产生了浓厚的兴趣。我决定亲自试一试市面上几款热门的AI制作PPT工具&#xff1a;笔灵AIPPT、轻竹PPT、博思白板AIPPT和KimiAI。…

GPT-4o 和 GPT-4 Turbo 模型之间的对比

GPT-4o 和 GPT-4 Turbo 之间的对比 备注 要弄 AI &#xff0c;不同模型之间的对比就比较重要。 GPT-4o 是 GPT-4 Turbo 的升级版本&#xff0c;能够提供比 GPT-4 Turbo 更多的内容和信息&#xff0c;但成功相对来说更高一些。 第三方引用 在 2024 年 5 月 13 日&#xff0…

kaggle在线训练深度学习模型

kaggle https://www.kaggle.com/ code 通过jupyter notebook上传代码&#xff0c;执行训练 dataset 支持手动上传本地资源文件到input /kaggle/input&#xff0c;dataset通过input访问&#xff0c;input目录是只读的 /kaggle/working&#xff0c;保存文件到working&#…

多厂商的实现不同vlan间通信

Cisco单臂路由 Cisco路由器配置 -交换机配置 -pc配置 华三的单臂路由 -路由器配置 -华三的接口默认是打开的 -pc配置及ping的结果 -注意不要忘记配置默认网关 Cisco-SVI -交换机的配置 -创建vlan -> 设置物理接口对应的Acess或Trunk -> 进入vlan接口&#xff0c;打开接…

ctfshow-web入门-web172

//拼接sql语句查找指定ID用户 $sql "select username,password from ctfshow_user2 where username !flag and id ".$_GET[id]." limit 1;"; 联合查询 该题目与上一个题目不是同一个类型&#xff0c;该题目需要进行sql联合查询。 第一步&#xff1a;确…

微信小程序中关闭默认的 `navigationBar`,并使用自定义的 `nav-bar` 组件

要在微信小程序中关闭默认的 navigationBar&#xff0c;并使用自定义的 nav-bar 组件&#xff0c;你可以按照以下步骤操作&#xff1a; 1. 关闭默认的 navigationBar 在你的页面的配置文件 *.json 中设置 navigationBar 为 false。你需要在页面的 JSON 配置文件中添加以下代码…

Echarts_柱状图属性汇总

目录 1、基础 柱状图属性 2、常用 柱状图属性 3、双Y轴双柱 柱状图属性 4、渐变圆角 柱状图属性 5、横向渐变圆角 柱状图属性 6、嵌套圆角 柱状图属性 7、堆叠 柱状图属性 1、基础 柱状图属性 var myChart echarts.init(document.getElementById(charts)); var option …

二叉树的基本概念及运用

二叉树的概念&#xff1a;一棵二叉树是结点的一个有限集合&#xff0c;该集合&#xff1a; 1.或者为空 2.或者是由一个根节点加上两棵别称为为左子树和右子树的二叉树组成。 2.2&#xff1a; 两种特殊的二叉树&#xff1a; 1.满二叉树&#xff1a;一课二叉树&#xff0c;如…

Z-BlogPHP显示错误Undefined array key 0 (set_error_handler)的解决办法

今天打开博客的时候&#xff0c;意外发现页面&#xff0c;打开均显示错误&#xff1a;Undefined array key 0 (set_error_handler)。 博客程序采用的是Z-BlogPHP。百度了一圈没有找到解决办法&#xff0c;在官方论坛里也没找到解决办法。 于是开始自己排查原因。我服务器采用…

问:MySQL表过大,你有哪些优化实践?

当MySQL单表记录数过大时&#xff0c;数据库的CRUD&#xff08;创建、读取、更新、删除&#xff09;性能会明显下降。为了提升性能&#xff0c;我们需要采取一些优化措施。本文将详细介绍几种常见的优化方案。 1. 限定数据的范围 描述 务必禁止不带任何限制数据范围条件的查…

新品发布:Manus Metagloves Pro虚拟现实手套

Manus 全新发布的 Metagloves Pro量子追踪手套能够支持您捕捉手部的每一个细节动作&#xff0c;您的手指捕捉将不再有任何限制。Manus Metagloves Pro可帮助您节省在制作动画时的宝贵时间&#xff0c;提供更加真实的手部动作表现。 Manus Metagloves Pro支持快速设置&#xff0…

C++从入门到起飞之——红黑树 全方位剖析!

&#x1f308;个人主页&#xff1a;秋风起&#xff0c;再归来~&#x1f525;系列专栏&#xff1a;C从入门到起飞 &#x1f516;克心守己&#xff0c;律己则安 目录 1. 红⿊树的概念 2. 红⿊树的实现 2.1 构建整体框架 2.2 红黑树的插入 2.3 红黑树的验证 2.4 红黑树…

解决JAVA使用@JsonProperty序列化出现字段重复问题(大写开头的字段重复序列化)

文章目录 引言I 解决方案方案1:使用JsonAutoDetect注解方案2:手动编写get方法,JsonProperty注解加到方法上。方案3:首字母改成小写的II 知识扩展:对象默认是怎样被序列化?引言 需求: JSON序列化时,使用@JsonProperty注解,将字段名序列化为首字母大写,兼容前端和第三方…