当前位置: 首页 > news >正文

语音合成是什么?如何进行语音合成TTS数据采集?

我们在上一篇讲到语音数据采集分为常见的两种语音数据采集类型,一个是语音识别数据(ASR),另一个是语音合成(TTS)。这一期中,我们将介绍语音合成技术是什么,如何采集语音合成数据和制作,帮助你快速了解语音合成的背景和基础原理。  

 

语音合成(TTS)是什么

随着人机交互的模式越来越广泛地普及我们的生活中,以扬声器和声波作为主要音频传播媒介,文本到语音的技术不断迭代更加丰富了我们的沟通方式,机器说话愈发灵动与自然,这些都离不开语音合成技术的与时俱进。 

如何进行语音合成数据采集

语音合成技术的背景

语音合成即文本转语音(text to speech)的技术,是由文字形成的计算机语音。历史上已知最早模仿人类语音的装置是Wolfgang von Kempelen在200多年前建造的。他建造的机器由一些元素构成,包括可以用来模仿人类用来产生语音的各种器官–肺部的波纹管、声道的管子、鼻孔的侧支等。对这种人类发声器官的机械模拟的兴趣一直持续到二十世纪。19世纪后半叶,赫尔姆霍尔茨等人开始通过叠加具有适当振幅的谐波波形来合成元音和其他声母。 传统的TTS主要是通过组合多个模块构成流水线来实现的,整个系统可以大致分为前端(frontend)和后端(backend)。

语音合成(TTS)技术原理

我们可以把TTS看作是一个序列对序列的问题,它包括2个主要阶段,即文本分析和语音合成。文本分析与一般的自然语言处理(NLP)步骤相当相似(尽管我们在使用深度神经网络时可能不需要Heave预处理)。例如,句子分割、单词分割、语音部分(POS)。第一阶段的输出是grapheme-to-phoneme(G2P),它是第二阶段的输入。在语音合成中,它将第一级的输出生成波形。  

语音合成(TTS)系统和数据制作

NLP自然语言处理,它将原始文本(包括标点符号、缩写、数字和符号)转换成语音转写。转录的内容包括音素(语音的一部分)以及根据文本中的提示而产生的语调(语调、节奏、语速)。 数字信号处理(DSP),它将语音表征转化为通过计算机或其他设备的音频输出的文字。DSP需要创建一个语音字库(即人类将一系列试图触及语言中每个音素组合的短语录入系统)。系统通过连接音频样本,从这个语音字库建立语音。然后,它应用算法来平滑完成的短语,并调整语音的音量和速度等方面。 过去的机器虽然能正常发声但是随着时代的发展和人机交互体验的需求增加,机器的声音就显得苍白而僵硬,无法给人类提供最生动的交互体验。如今,现代语音合成系统更关注体验至上的个性化技术产出,分为:通用性TTS、个性化TTS和情感TTS。

  • 通用TTS: 可满足商业化需求,制作过程包括:前期录音人员准备、录音场地确定、录制(数据采集)、后期数据清洗加数据标注可以得到一套完整的“商用数据库”。
  • 个性化TTS: 根据数据产品特点提供不同类型的声音进行个性化定制语音库。
  • 情感TTS: 通过XML-tagging的prosodic参数。这种预处理协助TTS系统生成合成语音,该语音含有情感线索。情感意图识别是情感TTS的重要技术之一,它也与自然语言处理有着密不可分的关系。想要更加趋于人类的真实语言,让机器被赋予情感而不只是一台冰冷的复读机,这是企业都想要产品能够达到的效果。而想要让这样一台机器生动的说话,情感合成语音技术背后的数据库也将更为丰富多样。

语音合成的常见两种方法是拼接法和参数法。

  • 拼接法:在预先录制的语料库中抽取合适的拼接单元而成。对于声音的质量要求高但是不利于商用,数据规模量级需求过高导致商用成本过高。
  • 参数法:对语料库进行参数建模,分为前段处理、建模和声码器三个模块。对数据库需求小,但声音质量会粗糙。

 

语音合成的常见应用场景

最后,作为上游技术的语音合成技术如何应用于下游AI场景中?语音合成助手、智能客服、有声读物、呼叫中心、车载娱乐设备等等都是语音合成技术常见的应用场景。为了让用户体验更为真实和丰富,许多更上游的数据采集公司都会与声优演员直接合作,让客户去挑选声音,满足他们的终端用户的需求。想象一下夜晚失眠辗转反侧的时候,当你打开博客听到的是神谷浩史的声音,会是什么感受?  

 

相关文章:

语音合成是什么?如何进行语音合成TTS数据采集?

我们在上一篇讲到语音数据采集分为常见的两种语音数据采集类型,一个是语音识别数据(ASR),另一个是语音合成(TTS)。这一期中,我们将介绍语音合成技术是什么,如何采集语音合成数据和制…...

实用干货!一文读懂Salesforce中6种数据关系类型!

Salesforce中对象之间的数据关系可能是一个棘手的话题。对于创建自定义对象的业务场景,需要决定使用哪些关系类型来扩展Salesforce数据模型。 01 查找关系 查找关系(Lookup Relationships)是一种松散耦合(loosely coupled&…...

Spring引入外部数据源

spring-dataSource.xml 数据源配置文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xmlns:context"h…...

word里的页码问题

封面不需要页码怎么办 一份文档写完&#xff0c;如果需要页码&#xff0c;第一页是封面&#xff0c;封面不需要页码怎么办&#xff1f; 解决&#xff1a;打开页眉页脚&#xff0c;然后把首页不同勾选上&#xff0c;这一页就没有页码了。 目录页与正文页码格式不同怎么办 目录…...

​LeetCode解法汇总142. 环形链表 II

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a; 力扣 描述&#xff1a; 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如…...

危化品行业防雷检测综合解决方案

危化品是指具有毒害、腐蚀、爆炸、燃烧、助燃等性质&#xff0c;能够对人体、设施或者环境造成危害的化学品。危化品的生产、储存、运输、使用等过程中&#xff0c;都存在着遭受雷击引发火灾或者爆炸事故的风险。因此&#xff0c;对危化品场所进行防雷检测&#xff0c;是保障危…...

刷题笔记:day 1

力扣 283 移动零 解法一&#xff1a;双指针 定义一个指针 cur 去遍历数组 &#xff1b; 定义一个指针 dest 去指向已处理区间中&#xff0c;非零的最后一个位置。 然后让 指针 cur 遇到 0 &#xff0c;就往后走 &#xff1b; 遇到的数不是 0 &#xff0c;就与 dest指针的下…...

Linux——平台设备及其驱动

目录 前言 一、平台设备 二、平台驱动 三、平台驱动简单实例 四、 电源管理 五、udev 和驱动的自动加载 六、使用平台设备的LED 驱动 七、自动创建设备节点 前言 要满足 Linux 设备模型&#xff0c;就必须有总线、设备和驱动。但是有的设备并没有对应的物理总线&#x…...

【C语言技巧】三种多组输入的写法

文章目录 第一种&#xff1a;直接与1判断第二种&#xff1a;与EOF判断第三种&#xff1a;巧用按位取反符号“~”写在最后 在代码的实际运用中&#xff0c;我们经常会遇到需要多组输入的情况&#xff0c;那么今天博主就带大家一起盘点三种常见的多组输入的写法 第一种&#xff1…...

DB2数据库巡检脚本

DB2数据库巡检脚本的示例&#xff1a; #!/bin/bash# 设置DB2登录凭证 DB2_USER"your_username" DB2_PASSWORD"your_password"# 设置巡检结果输出文件路径 OUTPUT_FILE"/path/to/output.log"# 获取DB2版本信息 version_info$(db2 connect to you…...

Eureka 学习笔记3:EurekaHttpClient

版本 awsVersion ‘1.11.277’ EurekaTransport 用于客户端和服务端之间进行通信&#xff0c;封装了以下接口的实现&#xff1a; ClosableResolver 接口实现TransportClientFactory 接口实现EurekaHttpClient 接口实现及其对应的 EurekaHttpClientFactory 接口实现 private …...

Android Framework 之 启动流程

Android 系统的启动流程 Android 系统的启动流程可以分为以下几个主要步骤&#xff1a; 引导加载器&#xff08;Bootloader&#xff09;启动&#xff1a;当你打开一个 Android 设备时&#xff0c;首先启动的是引导加载器。引导加载器负责启动 Android 的核心操作系统。 Linux…...

Qt、C/C++环境中内嵌LUA脚本、实现LUA函数的调用执行

Qt、C/C环境中内嵌LUA脚本、实现LUA函数的调用执行 Chapter1. Qt、C/C环境中内嵌LUA脚本、实现LUA函数的调用执行1、LUA简介2、LUA脚本的解释器和编译器3、C环境中内嵌LUA执行LUA函数调用4、Qt内嵌LUA执行LUA函数调用5、运行结果6、内嵌LUA脚本在实际项目中的案例应用 Chapter1…...

超详细 | 模拟退火算法及其MATLAB实现

模拟退火算法(simulated annealing&#xff0c;SA)是20世纪80年代初期发展起来的一种求解大规模组合优化问题的随机性方法。它以优化问题的求解与物理系统退火过程的相似性为基础&#xff0c;利用Metropolis算法并适当地控制温度的下降过程实现模拟退火&#xff0c;从而达到求解…...

在线餐饮油烟实时监测系统的设计与实现

安科瑞 华楠 摘 要&#xff1a;为了解决传统油烟检测方法中成本高、效率低、实时性差等问题&#xff0c;设计开发了一种在线油烟实时监测系统&#xff1b;系统由采集、通讯、服务器和用户交互四个模块组成&#xff1b;采集模块采集油烟数据&#xff0c;通过GPRS通讯技术将数据发…...

7-2 凯撒密码 (20分)

7-2 凯撒密码 (20分) 为了防止信息被别人轻易窃取&#xff0c;需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串&#xff08;少于80个字符&#xff09;&#xff0c;再输入一个整数offset&#xff0c;用凯撒密码将其加密后输出。恺撒密码是一种简单…...

LeetCode_贪心算法_中等_763.划分字母区间

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段&#xff0c;同一字母最多出现在一个片段中。注意&#xff0c;划分结果需要满足&#xff1a;将所有划分结果按顺序连接&#xff0c;得到的字符串仍…...

【算法提高:动态规划】1.5 状态压缩DP TODO

文章目录 状态压缩DP例题列表棋盘式1064. 小国王⭐&#x1f402;&#xff08;好题&#xff01;&#xff09;做题套路总结 327. 玉米田&#xff08;好题&#xff01;&#x1f402; 和1064. 小国王差不多的题目&#xff09;292. 炮兵阵地&#xff08;和上面两道题差不多&#xff…...

建网站一般使用Windows还是liunx好?

建网站一般使用Windows还是liunx好&#xff1f; 1&#xff1b;服务器配置比较低时&#xff0c;最好使用linux系统。 对于一个电脑新手&#xff0c;刚开始做网站时&#xff0c;都会选择入门级的服务器&#xff0c;我刚开始做网站时&#xff0c;就是这样的。我购买了一台入门级服…...

NodeJs后端项目使用docker打包部署

docker安装看之前的文章 默认已经安装好docker并且配置没有问题 拉取项目 https://gitee.com/coder-msc/docker-node 本地跑一个看看 pnpm install pnpm start 本地访问 http://localhost:1301/getname?name%E5%93%88%E5%88%A9%E6%B3%A2%E7%89%B9项目整个上传服务器 查看…...

今日算法(构造二叉搜索树)

题目描述给你一个整数数组 nums&#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树&#xff08;BST&#xff09;。平衡二叉搜索树&#xff1a;左右两个子树的高度差的绝对值不超过 1每个节点的左右子树都是平衡二叉树二叉搜索树的中序遍历结…...

Prism Launcher:重新定义你的Minecraft启动体验

Prism Launcher&#xff1a;重新定义你的Minecraft启动体验 【免费下载链接】PrismLauncher A custom launcher for Minecraft that allows you to easily manage multiple installations of Minecraft at once (Fork of MultiMC) 项目地址: https://gitcode.com/gh_mirrors/…...

CANN/asc-devkit:__float2float_rn类型转换函数

__float2float_rn 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitco…...

Vue+ElementUI构建蘑菇博客管理后台:前端架构与最佳实践

VueElementUI构建蘑菇博客管理后台&#xff1a;前端架构与最佳实践 【免费下载链接】mogu_blog_v2 蘑菇博客(MoguBlog)&#xff0c;一个基于微服务架构的前后端分离博客系统。Web端使用Vue Element , 移动端使用uniapp和ColorUI。后端使用Spring cloud Spring boot mybatis-…...

3步解锁B站缓存视频:m4s-converter让你的离线收藏永不过期

3步解锁B站缓存视频&#xff1a;m4s-converter让你的离线收藏永不过期 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 当B站视频突然下架&#x…...

课堂教室学生行为识别分割数据集labelme格式1420张4类别

注意数据集中有增强图片主要是亮度对比度增强&#xff0c;此外图片并不是十分清晰&#xff0c;具体看图片数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件)图片数量(jpg文件个数)&#xff1a;1420标注数量(json文件个数)&#x…...

【Linux内核模块】模块的编译:从代码到可加载模块的 “变身术“

一、内核模块编译的特殊性&#xff1a;为什么不能直接用 gcc&#xff1f;普通 C 程序编译很简单&#xff0c;gcc hello.c -o hello就行&#xff0c;但内核模块可不行。这就像做面包和做蛋糕的区别 —— 虽然都是面粉做的&#xff0c;但烤箱温度、配料比例完全不同。1.1 内核模块…...

dy app抓包分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;抓包展示总结1.出于安全考虑,本章未提供…...

B站视频下载终极指南:如何一键获取无水印高清视频

B站视频下载终极指南&#xff1a;如何一键获取无水印高清视频 【免费下载链接】BiliDownload B站视频下载工具 项目地址: https://gitcode.com/gh_mirrors/bil/BiliDownload 你是否曾为下载B站视频而烦恼&#xff1f;想要保存喜欢的视频却找不到合适的工具&#xff1f;B…...

Python机器学习管道:Scikit-learn Pipeline深度解析

Python机器学习管道&#xff1a;Scikit-learn Pipeline深度解析 引言 在Python开发中&#xff0c;机器学习管道是构建和部署机器学习模型的关键。作为一名从Rust转向Python的后端开发者&#xff0c;我深刻体会到Scikit-learn Pipeline在简化机器学习工作流方面的优势。Pipeline…...