【语音合成】中文-多情感领域-16k-多发音人
模型介绍
- 语音合成-中文-多情感领域-16k-多发音人
框架描述
拼接法和参数法是两种Text-To-Speech(TTS)技术路线。近年来参数TTS系统获得了广泛的应用,故此处仅涉及参数法。
参数TTS系统可分为两大模块:前端和后端。 前端包含文本正则、分词、多音字预测、文本转音素和韵律预测等模块,它的功能是把输入文本进行解析,获得音素、音调、停顿和位置等语言学特征。 后端包含时长模型、声学模型和声码器,它的功能是将语言学特征转换为语音。其中,时长模型的功能是给定语言学特征,获得每一个建模单元(例如:音素)的时长信息;声学模型则基于语言学特征和时长信息预测声学特征;声码器则将声学特征转换为对应的语音波形。

前端模块我们采用模型结合规则的方式灵活处理各种场景下的文本,后端模块则采用SAM-BERT + HIFIGAN提供高表现力的流式合成效果。
声学模型SAM-BERT
后端模块中声学模型采用自研的SAM-BERT,将时长模型和声学模型联合进行建模。
- Backbone采用Self-Attention-Mechanism(SAM),提升模型建模能力。
- Encoder部分采用BERT进行初始化,引入更多文本信息,提升合成韵律。
- Variance Adaptor对音素级别的韵律(基频、能量、时长)轮廓进行粗粒度的预测,再通过decoder进行帧级别细粒度的建模;并在时长预测时考虑到其与基频、能量的关联信息,结合自回归结构,进一步提升韵律自然度.
- Decoder部分采用PNCA AR-Decoder[@li2020robutrans],自然支持流式合成。

声码器模型
后端模块中声码器采用HIFI-GAN, 基于GAN的方式利用判别器(Discriminator)来指导声码器(即生成器Generator)的训练,相较于经典的自回归式逐样本点CE训练, 训练方式更加自然,在生成效率和效果上具有明显的优势。

在HIFI-GAN开源工作[1]的基础上,我们针对16k, 48k采样率下的模型结构进行了调优设计,并提供了基于因果卷积的低时延流式生成和chunk流式生成机制,可与声学模型配合支持CPU、GPU等硬件条件下的实时流式合成。
部署
- 下载模型:
git lfs clone https://www.modelscope.cn/iic/speech_sambert-hifigan_tts_zh-cn_16k.git modelscope库安装:- 安装
modelscope基础功能:pip install modelscope -i https://mirrors.cloud.aliyuncs.com/pypi/simple - 安装
modelscope cv功能:pip install "modelscope[cv]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html - 安装
modelscope audio功能:pip install "modelscope[audio]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
- 安装
使用方式和范围
- 使用方式: 直接输入文本进行推理
- 使用范围: 适用于中文或中英文混合的语音合成场景,输入文本使用
utf-8编码,整体长度建议不超过30字 - 目标场景: 各种语音合成任务,比如配音,虚拟主播,数字人等
代码范例
from modelscope.outputs import OutputKeys
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasksdef text_to_speech(text, speech_file_path, voice_type):model_id = 'damo/speech_sambert-hifigan_tts_zh-cn_16k'sambert_hifigan_tts = pipeline(task=Tasks.text_to_speech, model=model_id)output = sambert_hifigan_tts(input=text, voice=voice_type)wav = output[OutputKeys.OUTPUT_WAV]with open(speech_file_path, 'wb') as f:f.write(wav)if __name__ == "__main__":text_to_speech('待合成文本', 'output.wav', 'zhitian_emo')
相关文章:
【语音合成】中文-多情感领域-16k-多发音人
模型介绍 语音合成-中文-多情感领域-16k-多发音人 框架描述 拼接法和参数法是两种Text-To-Speech(TTS)技术路线。近年来参数TTS系统获得了广泛的应用,故此处仅涉及参数法。 参数TTS系统可分为两大模块:前端和后端。 前端包含文本正则、分词、多音字预…...
07-使用Package、Crates、Modules管理项目
上一篇:06-枚举和模式匹配 当你编写大型程序时,组织代码将变得越来越重要。通过对相关功能进行分组并将具有不同功能的代码分开,您可以明确在哪里可以找到实现特定功能的代码,以及在哪里可以改变功能的工作方式。 到目前为止&…...
spring.jpa.hibernate 配置和源码解析
版本 spring-boot:3.2.2 hibernate:6.4.1.Final 配置项目 DDL模式 生成定义语句修改表结构 配置路径:spring.jpa.hibernate.ddl-auto配置值:org.hibernate.tool.schema.Action枚举类型值 可选值: 可选值说明none默认值。不操作create-…...
2019年江苏省职教高考计算机技能考试——一道程序改错题的分析
题目:函数将str字符串中的5个数字字符串转换为整数,并保存在二维数组m的最后一行,各元素为3、-4、16、18、6。并经函数move处理后,运行结果如下: 18 6 3 -4 16 16 18 6 3 -4 -4 16 …...
邦芒支招:职场白领必备的10条护身符
在职场生存除了小心驶得万年船,怎样躲过不长眼的办公室风暴,职场八卦及不成为上司利益的牺牲品呢?职场就是个小社会,人际关系说复杂也复杂,说简单也简单。现在送你10道有用的职场护身符,希望你能够通过利…...
python实现飞书群机器人消息通知(消息卡片)
python实现飞书群机器人消息通知 直接上代码 """ 飞书群机器人发送通知 """ import time import urllib3 import datetimeurllib3.disable_warnings()class FlybookRobotAlert():def __init__(self):self.webhook webhook_urlself.headers {…...
网站服务器中毒或是被入侵该怎么办?
随着互联网的普及和发展,网站服务器已经成为企业和个人不可或缺的资源。然而,网络安全问题也日益突出,其中服务器中毒或被入侵是常见的问题之一。一旦服务器中毒或被入侵,不仅会导致数据泄露、网站瘫痪等严重后果,还可…...
Skywalking 学习之ByteBuddy 方法执行时间监控
Skywalking git: GitHub - apache/skywalking: APM, Application Performance Monitoring System 集成入门: 10分钟3个步骤集成使用SkyWalking - 知乎 企业级监控项目Skywalking详细介绍,来看看呀-CSDN博客 下面自己学习了一下ByteBuddy的…...
idea vim配置
"basemap "source $cnfpath/nvim/cnf/basemap.vim """"""""""""""""""""" " 自动设置 """""""""…...
kafka排除zookeeper使用kraft的最新部署方案
kafka在新版本中已经可以不使用zookeeper进行服务部署,排除zookeeper的部署方案可以节省一些服务资源,这里使用 kafka_2.13-3.6.1.tgz 版本进行服务部署。 测试部署分为三个服务器: 服务器名称服务器IP地址test01192.168.56.101test02192.1…...
SQL Server数据库日志查看若已满需要清理的三种解决方案
首先查看获取实例中每个数据库日志文件大小及使用情况,根据数据库日志占用百分比来清理 DBCC SQLPERF(LOGSPACE) 第一种解决方案: 在数据库上点击右键 → 选择 属性 → 选择 文件,然后增加数据库日志文件的文件大小。 第二种解决方案 手动…...
人工智能 | 深度学习的进展
深度学习的进展 深度学习是人工智能领域的一个重要分支,它利用神经网络模拟人类大脑的学习过程,通过大量数据训练模型,使其能够自动提取特征、识别模式、进行分类和预测等任务。近年来,深度学习在多个领域取得了显著的进展&#…...
玩转Java8新特性
背景 说到Java8新特性,大家可能都耳濡目染了,代码中经常使用遍历stream流用到不同的api了,但是大家有没有想过自己也自定义个函数式接口呢,目前Java8自带的四个函数式接口,比如Function、Supplier等 stream流中也使用…...
EasyRecovery2024永久免费版电脑数据恢复软件下载
EasyRecovery数据恢复软件是一款非常好用且功能全面的工具,它能帮助用户恢复各种丢失或误删除的数据。以下是关于EasyRecovery的详细功能介绍以及下载步骤: EasyRecovery-mac最新版本下载:https://wm.makeding.com/iclk/?zoneid50201 EasyRecovery-win…...
QQ音乐新版客户端的音乐无法解密?来看看解决方法!音乐解锁工具Web+批处理版本合集,附常见问题及解决方法!
一、软件简介 一般会员制音乐软件(如某抑云,某鹅,某狗音乐)的歌曲下载后都是加密格式,加密格式的音乐只能在特定的播放器中才能播放,在其他音乐播放器和设备中则无法识别和播放。音乐解锁工具的作用就是将…...
2023年12月CCF-GESP编程能力等级认证C++编程一级真题解析
一、单选题(共15题,共30分) 第1题 以下C++不可以作为变量的名称的是( )。 A:CCF GESP B:ccfGESP C:CCFgesp D:CCF_GESP 答案:A 第2题 C++表达式 10 - 3 * (2 + 1) % 10 的值是( )。 A:0 B:1 C:2 D:3 答案:B 第3题 假设现在是上午十点,求出N小时(正整数…...
如何决定K8S Pod的剔除优先级
在Kubernetes(k8s)中,当节点资源面临压力时,如何决定Pod的优先级是一个关键问题。在Kubernetes 1.8版本之后,引入了基于Pod优先级的调度策略,即Pod Priority Preemption。这种策略允许在资源不足的情况下&a…...
【JavaScript】数据类型
文章目录 1. 数字(Number)2. 字符串(String)3. 布尔(Boolean)4. 对象(Object)5. 数组(Array)6. Undefined 和 Null7. typeof 操作符总结 在 JavaScript 中&am…...
JAVA:单例模式提高性能和安全性的优化技巧
1、简述 单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供全局访问点。在 Java 中,单例模式的优化不仅可以提高性能,还可以增强安全性和可维护性。本文将介绍一些关键的技巧和最佳实践,帮助你优化单例…...
如何在 Ubuntu 上安装 ONLYOFFICE 文档 8.0
通过使用社区版,您有能力在您自己的服务器上部署 ONLYOFFICE 文档,从而使在线编辑器与 ONLYOFFICE 协作平台或其他热门系统进行无缝集成。 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一款全面的在线办公工具,提供了文本文档…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
