听见文本的魅力:AI 与未来的语音交互
AI 与未来的语音交互
- 引言
- 什么是文本转语音(TTS)?
- 当前 TTS 技术现状
- 国内海外文本转语音能力调研
- 文本转语音能力说明
- 多情感风格
- SSML语音合成标记语言
- 未来趋势
引言
随着人工智能(AI)技术的迅猛发展,文本转语音(Text-to-Speech, TTS)技术逐渐进入了我们的日常生活中。
已广泛应用于不限于以下示例场景:
- 流式语音实时翻译对话;
- 非流式语音对话机器人一问一答式对话;
- 类似豆包、Kimi等AI工具的智能助手;
- 用户友好的功能引导提示;
- 游戏NPC交互;
- 儿童读物;
- 影视配音;
- 电子书;
- …
什么是文本转语音(TTS)?
文本转语音(TTS)是一种将书面文本转换为语音的技术。用户可以通过输入文本,利用 TTS 系统生成听起来自然流畅的语音。TTS 系统通常由以下几个主要组件组成:
- 文本分析:解析输入的文本,识别分词、语法、标点和其他语言特征。
- 语言处理:根据语言特征,将文本转换为音素(phonemes)和音节(syllables)。
- 语音合成:将音素和音节转换为实际声音,通常采用预录音频或合成方式。
当前 TTS 技术现状
-
神经网络与深度学习:近年来,随着神经网络和深度学习技术的突破,TTS 的质量得到了显著提升。尤其是 WaveNet、Tacotron 和 FastSpeech 等模型,在合成的自然度和表现力上远超传统 TTS 系统。这些模型能够生成更加流畅、自然的语音,甚至模仿特定说话者的音色。
-
多语言支持:现代 TTS 系统已支持多种语言,适应全球用户需求。许多大厂商的 TTS 技术能够处理包括中文、英文、西班牙文等多种语言,并且提供不同地区的口音和方言。
-
个性化语音:个性化语音合成技术的出现,使得用户可以定制语音特征,如音调、语速和情感风格。这种个性化的体验在教育和娱乐等领域尤为重要。
国内海外文本转语音能力调研
三方厂商服务 | 多音色 | SSML标记语言 | 多情感Emotion | 语速rate | 音调pitch | 音量volume | API | 价格 | 备注 |
---|---|---|---|---|---|---|---|---|---|
出门问问魔音工坊 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 标准音色:100元/百万字符;精品音色:300元/百万字符 | 支持多情感,国内语音合成效果非常好的一款产品,英文语音效果亦佳 |
阿里云TTS | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 1.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": "9月10日,庆祝2019年教师节暨全国教育系统先进集体和先进个人表彰大会在京举行。
XXX在XXX亲切会见受表彰代表,向受到表彰的先进集体和先进个人表示热烈祝贺,向全国广大教师和教育工作者致以节日的问候。","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"
}
未来趋势
- 更自然的语音生成:目前的语音合成很多时候虽然还是被吐槽一听就有AI感,但是已存在部分厂商的音色去AI感了。未来的 TTS 技术将继续朝着更高的自然度和声音表现力发展,甚至可能实现像人声一样真实的交互。
- 专属AI语音模型训练:目前已经很多厂商在做训练用户专属的AI语音模型,并已经作为功能开放出来,供开发者训练指定音色模型,比如我们投喂姚明的大量的语音资源,可以训练出姚明的音色模型出来。
- 情感语音合成:随着情感计算技术的发展,TTS 将能够生成不同情感的语音,自动分析前后文,动态的切换感情色彩,提升人机交互的情感表达能力。
- 跨模态学习:结合图像、视频和文本等多种模态的信息处理,未来的 TTS 系统将能够更好地理解上下文,从而生成更恰当的语音输出。
- 隐私与安全:随着个人语音数据的增加,确保用户隐私和数据安全将成为 TTS 技术发展的重要课题。
相关文章:

听见文本的魅力:AI 与未来的语音交互
AI 与未来的语音交互 引言什么是文本转语音(TTS)?当前 TTS 技术现状国内海外文本转语音能力调研文本转语音能力说明多情感风格SSML语音合成标记语言 未来趋势 引言 随着人工智能(AI)技术的迅猛发展,文本转…...

Qt 窗口可见性 之 close函数和hide函数
close函数 基本功能 close() 方法的主要功能是关闭窗口,并触发一系列与关闭相关的事件和信号。调用此方法后,窗口将不再可见,但窗口对象本身仍然存在,并且可以被再次显示(通过调用 show() 方法)。 事件处…...

git bisect和git blame
1.用 git bisect 找到出错的commit 设置开始,最新的一个已知的错误的commit和第一个已知的正确的commit,通过二分法,找出第一个出错的commit。 二分查找法(binary search method)或二分法(bisection meth…...

【面试题】Node.JS篇
1. 什么是Node.js?它的主要特点是什么?适用于哪些场景? Node.js 是一个基于Chrome V8引擎的JavaScript运行时环境,它允许JavaScript代码在服务器端运行。Node.js的主要特点是事件驱动、非阻塞I/O模型,这使得它非常适合处理高并发请求和实时应用。它适…...

Leetcode11:盛水最多的容器
原题地址:. - 力扣(LeetCode) 题目描述: 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳…...

php如何对海量数据进行基数统计
在PHP中,对海量数据进行基数统计通常可以使用布隆过滤器(Bloom Filter)或者Count-Min Sketch算法。以下是使用Count-Min Sketch算法的一个简单示例: class CountMinSketch {private $rows;private $columns;private $values;publ…...

git命令报错:fatal: not a git repository (or any of the parent directories): .git
当你执行 Git 命令时遇到错误信息 "fatal: not a git repository (or any of the parent directories): .git",这表明你当前所在的目录不是一个 Git 仓库,或者你的工作目录不在 Git 仓库的根目录下。以下是一些解决这个问题的步骤:…...

如何通过sip信令以及抓包文件分析媒体发到哪个地方
前言 问题描述:A的媒体没转发到B,B只能听到回铃音,没有A的说话声音,并且fs这边按正常的信令发送了. 分析流程 分析早期媒体发送到哪一个IP 10.19.0.1发送了一个请求给10.19.0.157这个IP,然而这里的SDP媒体地址&am…...

【网络安全零基础入门】一文搞懂Javascript实现Post请求、Ajax请求、输出数据到页面、实现前进后退、文件上传
文章目录 一、Javascript原生post请求写法二、原生JS封装Ajax请求三、JS里的值或内容输出到HTML网页中四、Javascript页面后退前进刷新示例五、Javascript实现文件上传👉1.成长路线图&学习规划👈👉2.网安入门到进阶视频教程👈…...

NVR管理平台EasyNVR多个NVR同时管理综合应用方案
为了推动应急管理能力的现代化,应急管理部提出了加速现代信息技术与应急管理业务深度融合的宏伟蓝图。这一计划不仅是国家加强和改进应急管理工作的战略重点,也是应对当前应急管理形势的严峻挑战和满足人民群众对公共安全需求的必要举措。 为了实现应急管…...

SpringBoot核心框架之AOP详解
SpringBoot核心框架之AOP详解 一、AOP基础 1.1 AOP概述 AOP:Aspect Oriented Programming(面向切面编程,面向方面编程),其实就是面向特定方法编程。 场景:项目部分功能运行较慢,定位执行耗时…...

Linux: network: ifconfig已经过时,建议使用ip addr相关命令
最近有一个同事在问网络的问题,在debug的过程中还在使用ifconfig命令查看IP的相关信息。 但是这个ifconfig已经不推荐使用了,最好使用ip 相关的命令做操作。 有些信息使用ifconfig显示不出来 ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500ine…...

Flutter 鸿蒙next中的路由使用详解【基础使用】
✅近期推荐:求职神器 https://bbs.csdn.net/topics/619384540 🔥欢迎大家订阅系列专栏:flutter_鸿蒙next 💬淼学派语录:只有不断的否认自己和肯定自己,才能走出弯曲不平的泥泞路,因为平坦的大路…...

基于SSM+小程序民宿短租管理系统(民宿1)
👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM小程序民宿短租管理系统实现了管理员、用户及房主 1、管理员可以管理民宿信息和订单信息用户管理、房主管理、房间类型管理、预定管理等。 2、房主可以管理自己的民宿和订单 3、…...

SQL LIKE 操作符
SQL LIKE 操作符 在SQL中,LIKE 操作符用于在查询中搜索列中的特定模式。它通常与 % 和 _ 通配符一起使用,分别代表任意数量的字符和单个字符。LIKE 操作符在数据过滤和模式匹配方面非常有用,尤其是在处理大量文本数据时。 LIKE 操作符的基本…...

七款主流图纸加密软件强力推荐|2024年CAD图纸加密保护指南
在当今信息化的设计行业,保护CAD图纸的知识产权和数据安全变得尤为重要。随着越来越多的企业采用数字化设计和共享文件,如何防止CAD图纸被未经授权的访问和窃取成为了许多设计师和企业关注的焦点。为此,选用合适的图纸加密软件是保护CAD文件安…...

【STM32】单片机ADC原理详解及应用编程
本篇文章主要详细讲述单片机的ADC原理和编程应用,希望我的分享对你有所帮助! 目录 一、STM32ADC概述 1、ADC(Analog-to-Digital Converter,模数转换器) 2、STM32工作原理 二、STM32ADC编程实战 (一&am…...

C# 委托简述
1.委托 1.1什么是委托 委托委托 官网解释: 委托是安全封装方法的类型,类似于 C 和 C 中的函数指针。 与 C 函数指针不同的是,委托是面向对象的、类型安全的和可靠的。 委托的类型由委托的名称确定。 个人理解:委托就是一个方法的模板。它可以接收…...

瑞吉外卖项目
目录 Day01业务开发 一、项目总体介绍与展示 二、软件开发整体介绍 (一)软件开发流程 三、瑞吉外卖项目介绍 (一)项目介绍 (二)技术选型功能架构 1.技术选型—— 编辑2.功能架构—— 编辑 &a…...

Docker:4、龙晰(Anolis OS 8.8)宝塔面板安装
接上文Docker:1、基于龙晰 (Anolis OS 8.8 )的基础镜像制作,本节我们介绍:基于Docker的龙晰(Anolis OS 8.8 )宝塔安装。 在第一节中由于我们对 Docker 容器进行了SSH设置,这为我们这…...

多端项目开发全流程详解 - 从需求分析到多端部署
引言 在当今互联网时代,一个完整的产品常常需要覆盖多个终端,包括小程序、Web端(后台管理系统)、App端等。本文将详细介绍一个采用前后端分离架构的多端项目开发流程,重点分析各个终端的特点、功能定位及其开发要点。…...

4.5KB原生html+js+css实现图片打印位置的坐标和尺寸获取
一般用于图片打印文字或图片的坐标获取,代码来自AI有改动。 功能:本地图选择后不上传直接可比划线条作为对角线得到矩形,动态显示坐标 按下鼠标开始松开鼠标结束。有细微BUG但不影响坐标获取。 <!DOCTYPE html> <html lang"en">…...

智诊小助手-记录模式选择
记录模式总共有连续记录、硬件触发、软件触发、错误触发四种模式选择,并且在选择完记录模式后还可以设置保留触发点前报文条数、存储时间、录制通道、保存类型 配置过程如下: 点击下面右图中模式选择即可进入到左图中的参数配置界面 如上图选择的配置…...

JDBC: Java数据库连接的桥梁
什么是JDBC? Java数据库连接(Java Database Connectivity,简称JDBC)是Java提供的一种API,允许Java应用程序与各种数据库进行交互。JDBC提供了一组标准的接口,开发者可以利用这些接口执行SQL语句、处理结果集…...

英伟达GPU算力【自用】
GPU(图形处理单元)算力的提升是驱动当代科技革命的核心力量之一,尤其在人工智能、深度学习、科学计算和超级计算机领域展现出了前所未有的影响力。2024年的GPU技术发展,不仅体现在游戏和图形处理的传统优势上,更在跨行…...

「C/C++」C++11 之 智能指针
✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...

算法面试小抄
第一章:算法与数据结构要点速学 1.时间复杂度 (大 O) 首先,我们来谈谈常用操作的时间复杂度,按数据结构/算法划分。然后,我们将讨论给定输入大小的合理复杂性。 数组(动态数组/列表) 规定 n arr.length, 注意: &am…...

当有违法数据时,浏览器不解析,返回了undefined,导致数据不解析
现象:页面上没有看到数据 排查:断点到线上的源码里:1、协议回调确实没有拿到数据是个undefined 2、network里看服务确实响应了数据 3、控制台没有任何报错。 心情:莫名其妙的现象 我本地有json格式化工具,copy进去后&…...

在MySQL中ORDER BY使用的那种排序算法
在 MySQL 中,ORDER BY 子句的排序算法通常根据场景、数据量和表的索引情况而有所不同。MySQL 常用的排序算法包括: 文件排序(File Sort):MySQL 没有使用索引排序的情况下,会进行文件排序,这可以…...

学习threejs,使用粒子实现雨滴特效
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.Points简介1.11 ☘️…...