merlin工具包+语音合成TTS技术调研

2023-05-16

merlin官方github: merlin


这篇文章至少这个暑假都会持续更新中


前言

大二时做比赛从github上扒了爱丁堡大学某语音实验室做出来的toolkit叫merlin,当时啥也不会,不懂python也不懂ubuntu。因为啥都不会没人愿意和自己组队,一怒之下找了其他学院的高中同学凑数,然后一个人花了一个月的时间才把merlin在自己电脑上勉强训练起来并能生成语音。

虽然现在想想当时就抄这么一个玩意儿居然花了100+小时,还通宵了好几次觉得不可理喻,但是u1s1,这绝对是我大学期间最骄傲也最充实的一段时期。经历了这次独立的出了成果的比赛,我的自信心得到了前所未有的提高,再也不认为自己不适合学工科,不适合写代码了。可以说,如果我当时自尊心稍微差一点,就那么错过了那次比赛,那我接下的人生必然迥异。

接着说回merlin,最近投夏令营得复习一下自己简历上的内容,发现这个自己当初死调出来、根本不懂是个啥的黑箱居然还挺有意思,大三做的DL相关项目都是CV相关的,但是说实话自己对CV也不是那么感兴趣,再加上CV又卷,而我只是想找个能买得起房子的地方安心地敲代码而已。于是在回溯这个项目、想到快两年前的自己满脸兴奋地在深夜鼓捣这个项目时,心中诺有所思。或许可以尝试一下语音方向呢?

于是这篇文章诞生了,权当是一次行业调研,没准九月份自己真的就入了这行呢。

TTS概况

2016年,谷歌出了一个代表性的网络 wavenet,至此TTS就分为两个方向

  1. 统计参数语音合成(SPSS)
  2. 端到端(E2E)合成,并且端到端的研究投入还在持续增加。

还有一个经典的传统方向:拼接,代表应该是Siri。

merlin 使用的就是SPSS

SPSS 系统主要可以分为三块:前端文本处理,声学特征信号处理和机器(深度)学习模型

  1. 前端文本处理:和NLP有重叠
  2. 声学它特征信号处理: 这块东西基本都已有成熟的工具(sptk hts world straight等),基本默认配置效果已经不错了,就足够实验室使用了。所以大家的重点都放在了声学模型和时长模型上。(注意,这里列出的工具都是merlin有用到的)
  3. 深度学习模型:Heiga Zen把DNN用于TTS,后来微软做了lstm基本2015年这块就差不多到头了,后续各大公司,高校和研究机构都在做微调,没有本质的提升。从其他领域借鉴的技术频繁被使用到TTS领域中,最成功的还要属Tactron最成功,效果很不错。时长模型韵律上同样也做不上去了,大家都在尝试从模型本身去解决,比如加入更多的信息和转成分类任务,这些都有提升但还是有瓶颈。

基于DNN的TTS流程:

前端文本处理器 -> 深度学习模型 -> 声码器

对当前技术的介绍
另一篇当前技术介绍

做TTS的优势和劣势

语音方向的优势就是门槛高。CV的话会用github会用python直接扒一个项目下来,环境不复杂的话一个小时之内就给你跑得有模有样,但是做语音的话对声音信号分析和处理都要理解,比如我看merlin的结果指标就根本不懂这些是个啥。

劣势的话也很明显,因为做的人少,资源就少,需要自己摸索的就多
(顿时觉得就像DL界的通信和微波,我有一个哥们把今年称为内卷元年,如果有最近也在忙保研的EE专业朋友我悄悄教你们一个财富密码: 电磁场微波+直博+导师随意 = 无敌;通信/AI + 无论什么 + 无论什么 = 必死)

语音方向市场情况

做前端信号处理的人比较多,比如麦克风阵列和降噪

比较缺搞解码器的人

参考:https://www.zhihu.com/question/290329979/answer/470986388

TTS前景

在深度学习被广泛应用前传统技术已经比较成熟

虽然深度学习使这个领域迈了一大步,但是3-5年之后会怎么样谁也不懂

未来方向
在这里插入图片描述
来自:https://www.zhihu.com/question/324139796/answer/690952144

看重的实验室

声学所:中国科学院语言声学与内容理解重点实验室
厦大:智能语音实验室
上交:信号处理与系统研究所

知名 E2E 模型

谷歌:tactron, wavenet
百度:deepvoice

TTS常见指标

AI产品经理需要了解的语音交互评价指标

所以,melrin用的那一堆指标到底是啥?还是没懂
在这里插入图片描述

参考

https://www.zhihu.com/question/277152459/answer/466734015

https://www.zhihu.com/question/290329979/answer/470986388

https://www.zhihu.com/question/324139796/answer/690952144

https://www.zhihu.com/question/265265221/answer/1257851592

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

merlin工具包+语音合成TTS技术调研 的相关文章

  • openmv与其他单片双向串口通信

    Openmv与其他单片双向串口通信 目的 为了让openmv进行阈值切换或者只运行某一部分代码 xff0c 因此需要openmv与其他单片建立双向通信进行更改内部参数 起因 openmv自带接收函数uart read 进行接收 xff0c
  • 树莓派学习笔记4-opencv网络图传-1

    前记 为了实现QT编写的上位机显示下位机树莓派的opencv实时画面 xff0c 因此需要进行opencv的网络图传 xff0c 包括以下内容 1 QT编写TCP服务端并配置opencv显示摄像头画面 2 python网络编程客户端发送op
  • Ubuntu学习笔记5-安装Arduino及ros配置

    Ubuntu学习笔记5 安装Arduino及ros配置 前言 由于需要编写ESP32代码作为ros下位机使用 xff0c 顺带想体验一下ubuntu下开发 xff0c 因此在ubutnu20 04上安装Arduino并测试 xff0c 不过
  • OpenStack部署(五)

    部署版本 xff1a pike 部署环境 xff1a CentOS7 6 配置文件中所有controller可修改为控制节点ip地址 配置过程中使用 echo 验证命令执行情况 Networking service 安装与配置neutron
  • 爬虫要违法了吗?小编告诉大家:守住规则,大胆去爬

    最近我学习和实践网络爬虫 xff0c 总想着在这儿抓点数据在那儿抓点数据 但不知为什么 xff0c 抓取别人网站数据时 xff0c 总会产生莫名恐慌生怕自己一不小心就侵权了 xff0c 然后被关在监狱摩擦 所以我想现在这个时候 xff0c
  • CXF开发总结

    CXF开发总结 xff08 3种模式 xff09 基于SOAP Server端开发 导包 xff0c 下载cxf包 xff0c 地址http cxf apache org xff0c 导入eclipse为web service服务提供类定义
  • 年度最受欢迎的Python的书籍,还不来看看!

    Python是一种通用的解释型编程 xff0c 主要用于Web开发 机器学习和复杂数据分析 Python对初学者来说是一种完美的语言 xff0c 因为它易于学习和理解 xff0c 随着这种语言的普及 xff0c Python程序员的机会也越
  • Html5下载功能实现

    downloader模块管理网络文件下载任务 xff0c 用于从服务器下载各种文件 xff0c 并支持跨域访问操作 通过plus downloader获取下载管理对象 Downloader下载使用HTTP的GET POST方式请求下载文件
  • 卡尔曼滤波总结(KF、EKF、UKF)

    1 马尔科夫 参考 xff1a https zhuanlan zhihu com p 489239366 2 协方差矩阵 1 xff09 对于一个样本集合S xff0c 如果每个样本是一个n维空间中的一个列向量 xff0c 则使用协方差矩阵
  • Centos7搭建Squid代理服务器

    Centos7搭建Squid代理服务器 sumu s home 1 无需验证版 http 1 1 安装 yum install squid 1 2 修改配置文件 打开文件 vim etc squid squid conf修改 http ac
  • Python 3.6解决报错:'NoneType' object has no attribute 'decode'的办法

    for repo dict in repo dicts names append repo dict 39 name 39 plot dict 61 39 value 39 repo dict 39 stargazers count 39
  • 手把手教你实现ROS依赖任意第三方库+lpsolve求解整数线性规划问题为例

    How to link dynamic libraries use third party libraries in ROS lpsolve solver as examples 喜欢的话请关注 xff0c 欢迎github 给个小星星 g
  • UCOS-III

    一 UCOSIII 简介 UCOSIII 是一个可裁剪 可固化 可剥夺 的多任务系统 xff0c 没有任务数目的限制 xff0c 是 UCOS 的第三代内核 xff0c UCOSIII 有以下几个重要的特性 xff1a 可剥夺多任务管理 x
  • 【Python】词频统计(written in python and Mapreduce)

    一 利用Python进行词频统计 xff08 一 xff09 计算机等级考试中常用的方法 首先是一个比较标准的考试中使用的方法 xff0c 针对英文文本 xff1a span class token keyword def span spa
  • 数据处理技巧(5):MATLAB 读取txt中的数据

    全是数字的类型 txt 的数据是有数字的 xff0c 如下图 xff1a 读取结点坐标 xff0c 保存在 NodeCoor 数组当中 xff0c 共1331行3列 filename span class token operator 61
  • 基于51单片机的模拟自动感应门 系统protues仿真

    硬件设计 xff08 末尾附文件 xff09 代码设计 include lt reg51 h gt 调用头文件 define uchar unsigned char 宏定义 define uint unsigned int 宏定义 端口定义
  • linux测试程序

    stresslinux super pi prime mprime nbench cpuburn gamut mersenne prime stress cpu burn in memtester memtest86 memtest86 4
  • mysql 删除多余0的问题

    0 43 CAST 字段 AS CHAR 别名 可加可不加
  • 三维点沿指定向量方向到平面的距离计算方法及C++代码实现

    设平面外一点为P p1 p2 p3 xff0c 指定的方向向量为d 61 d1 d2 d3 xff0c 平面Q方程为Ax 43 By 43 Cz 61 D xff0c 设系数ABC已经归一化 xff0c 则其法向量为n 61 A B C 则
  • ubuntu使用proxychains给终端设置代理

    有时 xff0c 我们需要下载一些国外网站上的东西 xff0c 如果用国内网络直接下载的话 xff0c 往往是连接不上的 或者有时下载一个东西速度很慢 xff0c 这都是因为国内网络限制的问题 xff0c 大大影响了我们的工作效率 解决方法

随机推荐

  • int为什么占4个字节?一个字节为什么是8位?

    不知道大家有没有思考过这样的问题 xff0c 一个字节为什么是8位呀 xff0c 也许还有小伙伴不知道我说的这些是什么 xff0c 没关系往下看 第一个解释 xff08 历史 xff09 是IBM为System 360设计了一套8位EBCD
  • K8S之kubectl命令详解及示例

    目录 1 查看类命令 2 操作类命令 3 进阶命令操作 4 kubectl replace 重启pod的四种方法 5 kubectl语法 1 查看类命令 获取节点和服务版本信息 kubectl get nodes 获取节点和服务版本信息 x
  • ROS运动规划学习五---global_planner

    文章目录 前言一 global planner功能包结构二 planner core1 执行过程2 calculatePotentials 3 getPlanFromPotential 总结 前言 本节将学习ROS中的全局规划期global
  • ROS自定义消息---发布数组和整型数据

    ROS自定义消息 数组和整型数据 前言一 ROS中的消息数据格式二 自定义话题消息1 新建msg文件2 编写发布者和接收者程序 总结 前言 ROS自带的消息格式已经包含一维数组 xff0c 有时候我们需要定义多维数组 xff0c 以及混合数
  • Markdown中的公式、字母表示汇总

    Markdown中的公式 字母表示汇总 1 常用希腊字母表2 数学公式 最近几个月打了很多Markdown公式 xff0c 隔一段时间就会忘一些表示方式 xff0c 还不如在这里慢慢汇总记录 xff0c 以后要用的时候来查就行了 xff01
  • CMake项目中神器:CMakeLists.txt

    首次接触 CMake xff0c 见识了 CMakeLists txt 的强大后 xff0c 赶紧整理出来分享一下 参考资料 xff1a Cmake 3 6 W3Cschool参考手册 本文讲述了一个 CMake 项目 xff0c 在从单文
  • TCP详解之拥塞控制

    概述 TCP模块还有一个重要任务 xff0c 就是提高网络利用率 xff0c 降低丢包率 xff0c 并保证网络资源对每条数据流的公平性 xff0c 这就是所谓的拥塞控制 拥塞控制的四个部分 xff1a 慢启动 拥塞避免 快速重传 快速恢复
  • frps搭建自己的内网穿透服务器

    frps搭建自己的内网穿透服务器 开发过程中 xff0c 很多时候我们需要用到内网穿透 xff0c 将自己的服务器映射到外网 xff0c 下面说一下怎么用frps搭建自己的内网穿透服务器 frps Github地址 里面有中文文档 xff0
  • 更换backbone心得

    1 对于目标检测 xff0c backbone相当于连接中间环节 xff0c 连接着图片输入和后面的检测头 xff0c 所以在更换网络时候只要注意输入backbone的数据形式以及后面一个环节要求输入的形式 xff0c 把backbone的
  • from torch._C import *ImportError: DLL load failed while importing _C: 找不到指定的模块。

    更新torch的版本 xff0c 原先是1 4 0出现这个问题 xff0c 更新到1 11 0后解决 pip install torch 61 61 1 11 0 43 cpu torchvision 61 61 0 12 0 43 cpu
  • 模型衡量标准recall precision accuracy f1score(hmean)

    问题背景 xff1a 在处理分类问题时 xff0c 会遇到一种情况 xff1a 假设一个二元分类问题 xff1a 假设我们的预测算法是 xff1a xff0c 这个算法忽略特征值 xff0c 不管任何情况下都是预测等于0 毫无疑问这是一个糟
  • layoutlmV3使用步骤

    1 layoutlm系列的预训练权重全都是放在huggingface上面 xff0c 安装官方教程如果下载失败 xff0c 可以在linux系统下载 xff0c 然后将下载的缓存文件保存 或者在官网上下载并保存 需要下载的文件如下图 2 将
  • Python引用路径

    0 官方建议 xff0c 总是优先使用绝对引用 xff0c 只有在引用路径较为复杂导致引用代码很长时 xff0c 才考虑使用相对引用 绝对引用 优点是清晰且直接 xff0c 可以很容易就确定引用文件位置 xff1b 且即使当前文件的位置发生
  • 关于batch normalization的理解

    套餐 xff1a 卷积 43 BN 43 激活 xff0c 原始的BN0 61 X E X std xff0c 减去均值除以标准差 xff0c 改进后的BN 61 BN0 43 xff0c 其中 和 是通过模型学习得到的 原因 xff1a
  • 基于tablemaster的表格检测与表格重构。

    1 结果展示 原图1 原图1的结果 原图2 原图2的结果
  • 【文献笔记】【精读】MobileNet V1

    文章目录 1 论文结构2 研究的问题3 文献综述3 1 当前 xff08 2017 xff09 已有的DNN的问题3 2 当前已有的网络轻量化的方法 4 MobileNet 简介4 1 本网络创新点4 2 本网络优点 5 MobileNet
  • 【知识点】神经网络输入归一化区别:[0, 1]和[-1, 1]

    1 前置知识 1 1 ReLU的单侧抑制 参考 xff1a RELU的单侧抑制 单侧抑制含义 xff1a relu的曲线是一个折线 xff0c 在小于0的部分一直为0 xff0c 而在大于0的部分是一条斜率为1的直线 单侧抑制的优点 xff
  • 【知识点】机器学习降维方法

    摘抄文章 xff1a 打破 维度的诅咒 xff0c 机器学习降维大法好 为什么数据需要降维 机器模型用来帮忙预测一个目标变量 xff0c 但是不一定输入图像的每一个特征都对应目标变量 xff0c 这会使模型变得复杂 这里所说的降维的纬度 x
  • Windows + Linux 双系统的安装

    Windows 43 Linux 双系统的安装 参考自 https blog csdn net flyyufenfei article details 79187656 参考自 https blog csdn net u012052268
  • merlin工具包+语音合成TTS技术调研

    merlin官方github merlin 这篇文章至少这个暑假都会持续更新中 前言 大二时做比赛从github上扒了爱丁堡大学某语音实验室做出来的toolkit叫merlin xff0c 当时啥也不会 xff0c 不懂python也不懂u