精华内容
参与话题
问答
  • abstract  可以实现实时、高质量的语音合成。比传统的系统速度快10倍以上,RTF(real time factor)表明它可以应用于实时系统。 1. introduction  两个要求: 高质量 实时性  高质量的语音合成系统包括基频F0和谱...

    附一个大佬的marlin讲解主页链接 http://shartoo.github.io/

    abstract

     可以实现实时、高质量的语音合成。比传统的系统速度快10倍以上,RTF(real time factor)表明它可以应用于实时系统。通过3个语音信号相关的参数合成语音–基频f0, 谱包络spectrum envelope, 非周期信号参数aperiodic parameter。

    1. introduction

     两个要求:

    1. 高质量
    2. 实时性

     高质量的语音合成系统包括基频F0和谱包络估计算法,以及参数估计的合成算法。之前的研究:STRAIGHT可以合成高质量的语音,对语音很容易进行操作。为了满足实时性,提出简化版–Real time STRAIGHT,但是大大削弱了语音质量。
     WORLD声码器用3个算法提取3个参数,然后用一个合成算法把他们当作输入,可以实现高质量的语音合成。

    2. overview of WORLD

     图1是处理的过程

    1. 输入wave通过DIO算法估计出F0 contour(基频)
    2. F0和wave作为输入,由cheap trick估计出spectral envelope(频谱包络)
    3. 输入F0/sp/wave,用PLATINUM将提取出来的信号进行估计,得到aperiodic parameter(非周期参数)。非周期参数的定义和之前的不一样。
       WORLD不能和STRAIGHT的衍生系列一样操纵非周期参数,但是可以和它们一样操作F0和频率包络。

    在这里插入图片描述

    2.1 DIO: F0估计算法

     F0是周期信号的最长持续时间的倒数(基频会产生二次谐波,三次谐波,周期是基频的整数分之一,最长的周期是基频的持续周期,所以理论上会对应频率最低的部分,在语谱图上对应最下边的亮线,频率能量最高的部分),提出很多算法以估计F0;它有两种特性:一个是时域特征,比如自相关,一个是频域特征,比如倒谱ceph。
     WORLD用DIO估计F0,比YIN、SWIPE要快,但是性能依然很好。DIO分为三步:
    1⃣️不同频带的低通滤波器:因为不知道F0的基频,所以这一步包含不同周期的sin低通滤波器;
    2⃣️计算得到各个可能的F0的可靠性,因为由基波分量组成的sin信号包含四个间隔(两个顶点、两个过零点),如图2所示。如果滤波器得到的间隔长度是一致的,说明是同一个基波。
    3⃣️选出置信度最高的基波。
    在这里插入图片描述

    2.2 CheapTrick: Spectral Envelope Estimation Algorithm

    谱包络也是一个重要的参数,如下图所示,是指在频率-振幅图中,用平滑的曲线将所有共振峰连接起来,这个平滑的曲线就是谱包络。预测它的典型算法有cepstrum和LPC(linear predictive coding)。难度在于估计的结果取决于the temporal position,很难消除它的影响。
     WORLD用CheapTrick去做谱分析,它的思想来源于pitch synchronous analysis (音高同步分析),使用长度为3T0的hanning window。
    在这里插入图片描述

    1. 首先计算窗口波形下的谱能量,对它窗口下的总能量按照公式(1)进行时域稳定。
      在这里插入图片描述
    2. 然后用rectangular window对(1)得到的功率谱进行平滑,求得单个周期能量w0=2pai/T0
      在这里插入图片描述
    • 最后,进行specialized liftering
      ps是功率谱pw的倒谱,

    倒谱(cepstrum):一种信号的傅里叶变换谱经过对数运算后再进行傅里叶反变换。由于一般傅里叶谱是复数谱,因而又称复倒谱。
    在这里插入图片描述

    2.3 PLATINUM:提取非周期参数

      mixed excitation和aperiodicity经常用在合成中。在Legacy-STRAIGHT 和 TANDEM-STRAIGHT中,aperiodicity被用于合成周期和非周期的信号。WORLD则直接用从波形、F0、和谱包络中得到的mixed excitation—PLATINUM。
     PLATINUM 窗长2T,窗函数X(w)X(w)被最小的相谱分割。相谱SmwSm(w)可以计算为
    在这里插入图片描述
    提取的excitation function可以表示为

     在PLATINUM中,每一个声带振动相关的temporal position(??)必须确定,它是由F0和波形共同决定的。步骤是:(1)确定出有声的部分;(2)确定这个部分时间上的中心位置ta;(3)时间间隔ta±T0,在这个区间的temporal position有最大值y(t)2,将这个数值定义为最大值,一旦初始值被确定,基于声码器的合成算法自动计算其他的vocal position(声带位置),定义为基于F0 contour脉冲响应的起源。这个过程在每一个有声段都被重复执行。

    2.4 Synthesis Algorithm

     Legacy-STRAIGHT and TANDEM-STRAIGHT依靠周期和非周期的response计算声带振动,TANDEM-STRAIGHT直接用周期响应,Legacy-STRAIGHT操纵group delay以避免嗡嗡声。
     在WORLD中,声带的振动是基于最小相位响应和激励信号上计算的。从图3可以看出,WORLD比STRAIGHT的卷积要少,因此计算力的需求更少。F0被用于决定每一个声带振动的初始时间位置。
    在这里插入图片描述
     图4说明了WORLD和STRAIGHT从输入语音提取激励信号,并且合成语音的过程。最上边是输入的wav,中间是卷积之前的激励信号;下边是合成的wav。因为Legacy 和TANDEM的激励信号不仅取决于谱包络,也取决于非周期性,它从拉平的谱包络中计算。

    2.5 implementation

     作者的网站上可以获得C语言版和matlab版的代码实现,但是最新的Legacy-STRAIGHT只有matlab版,为了公平比较,下文都用matlab进行对比。

    3. evaluation

     所有系统都对用户可以设定的参数进行了优化,使其在特定情况下的性能更好;但是为了真是比较各个系统真正的合成性能,我们用的都是没有优化的系统。
     WORLD的执行命令如下:x–input waveform; fs采样率; f0基频,最后合成的时候只用到f0和spec
    在这里插入图片描述
    &dmsp;TANDEM-STRAIGHT的执行命令:第1步提取的基频会在后续步进行优化,source表示f0和非周期信息(ap),
    在这里插入图片描述
    legacy-STRAIGHT,f0和ap的信息在同一步里边提取,
    在这里插入图片描述

    3.2 Characteristics of Speech Used in the Evaluation

     用带有浊辅音的speech进行测试,之前的测试基本都只有元音,图5说明了F0的范围,基本都是100-300hz.
    在这里插入图片描述

    3.3 Subjective Evaluation of Sound Quality

     基于MUSHRA做的测试,至少要给一个piece100分,分5个等级。
     图7是测试结果,在女声上区别不大,WORLD和legacy非常接近;但是在男声上,WORLD要明显优于其他的系统。
    在这里插入图片描述

    3.4 Evaluation of Processing Speed

    WORLD明显优于其他的,legacy主要加速了F0的处理速度(但是增大了sp的估计时间)。
    在这里插入图片描述

    4. discussion

    4.1 Sound Quality of Synthesized Speech

     world需要输入的语音帧有比较高的信噪比,如果有噪声的话很难合成高质量的语音。而且vuv(voice unvoice)的估计准确率也会很大程度影响语音的质量。改进目标–增强噪声鲁棒性。
     WORLD和原始语音在音素的边界有区别,WORLD和其他系统的区别不仅在于音素边界,也在合成的元音质量;TANDEM-STRAIGHT比其他系统合成的男声元音差很多,主要是因为合成语音相位的区别。相比于high F0的系统,在low F0中人们可以更容易察觉到语音相位的不同,说明在low-pitch speech中使用最小相位是不合适的。Legacy-STRAIGHT中使用group delay manipulation改善low-pitch的语音质量,这也是legacy和TANDEM合成质量区别的一个原因。已经证明相位对于语音质量是有影响的,这也是WORLD下一步改进的目标。

    4.2 Processing Speed

     WORLD比其他的系统处理速度快很多,主要在(1)其他系统对每一帧做STFT,计算密集,WORLD使用DIO算法对整个wav滤波,计算过零间隔,速度快很多;(2)其他系统用两个系统估计sp,cheaptrick只需要一个;(3)估计ap的时候,WORLD没有post-preprocessing;(4)合成的时候, WORLD做一个简单的卷积就可以实现。
     进一步提速的方式,改写matlab代码为C,换CPU到GPU。

    WORLD提取到的是187维特征

    0-59 60-119 120-179 180 181 182 183 184 185 186
    60 60 60 1 1 1 1 1 1 1
    mgc △mgc △△mgc uvu lnf0 △lnf0 △△lnf0 ln bap △ln bap △△ln bap

    △表示后一帧与前一帧 求一阶差分
    △△表示后一帧与前一帧求2阶差分
    目的是平滑处理
    p.s.单独用make之后得到的analysis命令,16khz语音提取到的ap是一阶,44khz提取到的ap是5阶
    对于f(x)f(x),一阶差分δn=f(xn)f(xn1)\delta_n=f(x_{n})-f(x_{n-1})
    二阶差分δδn=δnδn1\delta\delta_n=\delta_{n}-\delta_{n-1}

    展开全文
  • world_china.js

    2019-06-20 18:56:31
    自己整合的地图资源 有需要的可以下载
  • world

    2019-10-02 23:46:03
    world 转载于:https://www.cnblogs.com/heviny/p/11252229.html

    world

    转载于:https://www.cnblogs.com/heviny/p/11252229.html

    展开全文
  • World Creator学习(一)

    千次阅读 2019-05-02 08:32:26
    World Creator快捷键: 移动:WASD 放大:鼠标右键双击 相机升降:Q、E 显示全部地形:F 全屏:F10 截图:F11 加速:Shift 显示地形基本信息:F2 指北:F3 地形线框显示:F4 显示地形过滤器:F5 贴图...

    World Creator快捷键:

    移动:WASD

    放大:鼠标右键双击

    相机升降:Q、E

    显示全部地形:F

     全屏:F10

    截图:F11

    加速:Shift

    显示地形基本信息:F2

    指北:F3

    地形线框显示:F4

    显示地形过滤器:F5

    贴图显示:F6

    物件对象显示:F7

    显示细节物件:F8

    将人偶显示在鼠标所在位置:H/shift+H

     

    展开全文
  • WorldCloud实例

    2018-12-15 20:03:53
    python用WordCloud实例 本人最近肚子老是不舒服于是就出现了记录自己饮食状况的想法,记录格式虽不太标准,做数据集也不影响啦。差不多一个月了,我就用WordCloud来分析下生成张词云图。 话不多说,附代码和图片。...

    python用WordCloud实例
    本人最近肚子老是不舒服于是就出现了记录自己饮食状况的想法,记录格式虽不太标准,做数据集也不影响啦。差不多一个月了,我就用WordCloud来分析下生成张词云图。
    话不多说,附代码和图片。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 在Anaconda中没有WorldCloud库,所以还需要手动安装。 1.先在官网下载WorldCloud安装包:下载地址 注意自己的系统版本是多少位和python版本 cp37代表的就是python3.7 我自己是windows64位 python3.8就下的这个 ...
  • 用echarts3和worldcloud制作炫酷的字符云图

    万次阅读 热门讨论 2017-05-02 17:07:52
    最近有个项目需要做出云图来,一开始还不知道云图是什么鬼,直到需求在网上找了个图我才恍然大悟,但是大悟完就开始一脸懵逼了,这玩意怎么做?因为当时项目紧,项目经理就先叫我用photoshop画了一个云图给贴上了~~...
  • echarts 实现词云worldcloud效果的demo,亲测有效,下载成功后双击打开html文件即可看到展示效果
  • 【python】worldcloud使用

    2019-12-04 20:52:39
    安装worldcloud 通过settings安装 命令行安装 pip install wordcloud -i https://mirrors.aliyun.com/pypi/simple/ 图片准备 图片背景要为白色、或透明。如下:篮球巨星 文本准备 大段英文文章 代码 import ...
  • python 词云 worldcloud

    2019-01-12 00:15:42
    下载之后直接运行, 需要先安装 worldcloud, pip install world main_1.py ~ main_7.py 都可以运行 案例是 西游记 全书中 出现频率最高的词组
  • Echarts3之字符云WorldCloud

    万次阅读 2017-01-13 10:18:49
    字符云功能现在已经不在Echarts的官方示例中...下面是下载的百度云链接:worldcloud.js https://pan.baidu.com/s/1o8JJzcA 正常的Echarts的js文件也是需要引入的。 然后是代码部分: function world_cloud(cloud
  • worldcloud库的使用

    2018-07-04 22:44:00
    worldcloud库的使用 worldcloud是一个优秀的第三方词云展示库,用来实现比较有逼格的数据可视化效果。更加直观与艺术的展示单词。 worldcloud对象的创建 worldcloud.WordCloud()  代表一个文本构建的词云,...
  • C语言编程“Hello,world”应该怎们弄

    万次阅读 2017-02-20 21:04:18
    HELLO WORLD程序如下: #include <stdio.h> main() {printf("Hello World!\n"); } 你若用TURBO C2.0的话,可能是路径设置不对,要改路径,建议下载网上集成开发环境,那样就不用考虑那些就可以用...
  • spring cloud 微服务helloworld项目,适合新手,项目基于spring cloud 微服务技术,使用了eureka注册公司,configserver配置中心,项目需要在本地新建配置中心配置文件
  • 第一个java程序HelloWorld

    万次阅读 多人点赞 2018-08-22 16:33:51
    接上集:java入门教程(一) ... 一、各类注释:所谓注释,跟我们学习古文时下面的注释作用如出一辙,代码中的注释也是帮我们理解代码的含义,在真正的开发中注释要求写的非常详细和清楚,而写注释的习惯要从一开始...
  • 各种编程语言的HelloWorld一览
  • 18. OP-TEE中secur world和non-secure world的切换过程

    千次阅读 热门讨论 2017-05-28 20:26:37
    历经一年多时间的系统整理合补充,《手机安全和可信应用开发指南:TrustZone与OP-TEE技术详解 》一书得以出版,书中详细介绍了TEE以及系统安全中的所有内容,全书按照从硬件到软件,从用户空间到内核空间的顺序对TEE...
  • C语言(一)HelloWorld

    万次阅读 多人点赞 2018-06-02 17:34:39
    C语言HelloWorld 开始C语言之路
  • 点我点我:项目github地址。1、Eclipse安装STS插件(springsource-tool-suite)。 参照:https://blog.csdn.net/u010101142/article/details/55001302(方案一) ...
  • Python GUI教程一:Hello World

    万次阅读 2018-05-09 09:09:37
    Python GUI教程一:Hello World Author:yooongchun ,Email:yooongchun@foxmail.com 摘要:这篇文章是Python GUI教程系列的第一篇,将介绍如何在Python环境下安装PyQt5以及实现第一个界面程序:Hello World ...
  • 词云图 - WorldCloud - Python代码实现

    千次阅读 2018-07-18 17:47:46
    第一步:安装必要的包WorldCloud(安装好并且没有出错的可跳过这一步) 第二步:准备文件,词云图的图片和文章,按照自己喜好准备吧 第三步:Python实现-源码 第一步:安装必要的包WorldCloud(安装好并且没有...
  • Android开发,从“HelloWorld”开始

    万次阅读 多人点赞 2018-02-23 21:09:58
    全文约1500字,阅读大约需要5分钟现在我们开始一个“HelloWorld”项目,从此刻开始我们的Android开发之旅。*以下操作基于Android Studio v3.0.1版本*Android Studio以下简称AS一.第一步当然是先运行AS了,如此炫酷...
  • IDEA运行最简单的Java程序Hello World

    万次阅读 多人点赞 2018-03-16 13:05:32
    以下内容基于IDEA, JAVA EE已经安装好的情况。 如果没有安装好,网上的安装教程非常多的。 下面开始,18个图解 ...public class HelloWorld { public static void main(String[] args){ ...
  • RabbitMQ 入门 Helloworld

    万次阅读 多人点赞 2014-07-09 21:05:41
    “Hello world” of RabbitMQ 1、Windows下RabbitMQ的安装 下载Erlang,地址:http://www.erlang.org/download/otp_win32_R15B.exe ,双击安装即可(首先装) 下载RabbitMQ,地址:http://www.rabbitm
  • 你知道Hello World程序的由来吗?

    万次阅读 热门讨论 2016-09-26 20:56:33
    Hello World是一个最著名的程序。对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序。实际上,这个程序的功能只是告知计算机显示Hello World这句话。传统意义上,程序员一般用这个程序测试一种新...
  • 教你玩转HelloWorld

    千次阅读 2016-07-17 01:09:14
    这次我们不使用开发工具,用命令行将HelloWorld编译运行出来,将其中的原理搞清楚。1)将下载好的 JDK 无脑安装(即下一步、下一步)或者指定安装目录,不过自己要记得安装到哪了。2)配置环境变量JAVA_HOME(新建) ...
  • World Wind入门

    千次阅读 2018-11-01 16:49:32
    World Wind 简介 World Wind是一个虚拟地球的免费的、开源的API。World Wind使开发者可以简单快速的创建3D地球,地图和地理信息的交互式可视化。世界各地的组织可以通过World Wind来监控天气模式,可视化城市和地形...
  • 学习Scala:从HelloWorld开始

    万次阅读 多人点赞 2014-04-02 00:53:59
    前言 最近在学习Scala语言,虽然还没有完全学通, 但是隐约可以体会到Scala的简洁和强大。 它既能让程序员使用函数式编程, 也提供了全面的面向对象编程。 在刚刚开始读《Scala编程》的时候, 刚读了几页, 我就被...
  • C语言从零开始之Hello World

    万次阅读 多人点赞 2018-03-14 21:00:41
    0X00 前言 最近准备填之前挖的那个写完TCPL(The C Programming Language, C程序设计语言)中所有练习题的坑,就顺便趁这个机会开始写这个系列的文章。写这个文章的时候计划是面向初学者,所以在很多概念上会进行一些...
  • 24种编程语言的Hello World程序

    万次阅读 2016-11-21 10:14:28
    Hello World,几乎是程序猿学习各种语言的第一个程序。心血来潮,汇总并整理了下主流开发语言如何实现,包括大致快速了解下这门语言、开发、编译、环境搭建、运行、简单语言等,其实很多语言是有关联的。在当下,只

空空如也

1 2 3 4 5 ... 20
收藏数 1,376,372
精华内容 550,548
关键字:

world