翻译-straight



内容

1介绍2

1.1新F0器高度可靠和笔记非周期性(*)。。。。。。。。。。。。。。。。。。。。2

2安装直2

3环境需要2

4使用默认参数2

4.1音频文件读写。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3

5使用新的F0器连续4

5.1新F0的比较器和defaul法。。。。。。。。。。。。。。。。。。。。。4

5.1.1违约分析参数的新F0器(*)。。。。。。。。。。。。。。。。。。。。4

6:读默认分析参数7

6.1默认值信息提取来源。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7

6.2默认值在光谱信息提取。。。。。。。。。。。。。。。。。。。。。。。。。。。7

6.3默认值合成。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7

7改变默认值进行分析和合成9

7.1使用其他F0提取器或踏踏实实分析。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11

8 11控制合成参数

8.1(*)群时延参数。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11

8.1.1参数:groupDelayStandardDeviation(*)。。。。。。。。。。。。。。。。。。。。。。。。。11

8.1.2参数:groupDelayRandomizeCornerFrequency(*)。。。。。。。。。。。。。。。。。。。。。。16

8.1.3参数:groupDelaySpatialBandWidth(*)。。。。。。。。。。。。。。。。。。。。。。。。。18

8.2如何分配F0下限合成(*)的演讲。。。。。。。。。。。。。。。。。。。。。。。21

9如何运行批处理程序(UNIX和mac OS X)(*)22

一个GUI直24

24 B笔记连续参数

B。1非周期性指数。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。24

1

(注:本文档仍在建设于2007年5月6日。在不久的将来它将更新)。

1介绍

直[1]是一个高质量的语音分析、修改和合成系统基于一个简单的通道

声码器的概念(换句话说源滤波器模型)。

本文准备提供一个基本的知识直接使用命令模式和提供建议

使用直接编写自己的代码。本文是基于最新的直(V40 006 b)和新四

包装器函数(exstraightsource、exstraightspec exstraightsynth和exstraightAPind)。基本概念和

连续操作的基本原则及其应用中可以找到发表的一篇评论文章[2]

声学科技。下面的超文字链接(只有可见的和可访问的HTML版本

本文件)提供了直接访问。

请跳过部分(*)首次在其标题。他们有时太详细了

初学者。然而,一旦你理解了基本操作的直,请有时间来检查

当你有问题。他

们提供技术细节和实际解决方法有用一些

的情况。

1.1新F0器高度可靠和笔记非周期性(*)

连续的最新目录还包含一个新的F0提取程序(MulticueF0v14)。底层

程序的概念是在里斯本INTERSPEECH2005[5]。推荐使用这个新的F0

器,而不是使用默认F0直器,然而新F0器没有集成

到新的wrapperfunction(exstraightsource)。介绍如何使用新的萃取器的过程中

直接分析、修改和再合成过程可以发现(5)将在本文的后面。

非周期性指数也在附录中讨论一些细节。一套新的程序来提取非周期

信息是在发展和将于2007年5月底。在新的非周期性器,

干扰因素如调频(FM)和调幅(AM)组成的谐波

组件和颞声道传递函数的变化,以及概率的波动

估计在非周期性计算考虑。新程序发现产生更可靠的估计

非周期性指数比默认的过程建立在当前直接实现。请注意,

目前非周期性指数不是高度可靠的,然而,总比没有的好。

2安装直

你可以得到最新的直接从http://www.wakayama-u.ac.jp/?kawahara / puzzlet / STRAIGHTtipse /。然而,

请注意,页面保护基于ip地址的访问机器。如果你不能

访问,请mailto:kawahara@sys.wakayama-u.ac.jp

请直接点击下载链接写成下载的文件被压缩(使用沥青+ gzip)。

请扩大直接代码组成的一个文件夹。请将文件夹添加到你的Matlab搜索路径。

这就完成安装。

3需要环境

直接安装在Matlab信号处理工具箱实现。在Matlab上进行了测试

v7(7.0.4.352(R14)服务包2)。据报道,直也兼容Matlab v5或v6。

mailto:kawahara@sys.wakayama-u.ac。如果你发现任何缺陷在这些环境jp。和有关信息。

Matlab,请检查https://www.360docs.net/doc/67967376.html,/

所有连续的代码是用Matlab编写的。这意味着基本上是平台独立的。

(平台依赖可以发现只有当操纵原始数据格式文件。)连续报道

功能在Max OS X Windows(2000,XP),UNIX。据报道,它不是无法直接使用

在八度(一个开源的Matlab克隆?)小修改。

直是一个实验计划从当前版本基本程序的集合。它

包括许多非优化的代码,他们故意不变保持更新的历史。这是一个

原因目前需要大量的内存。强烈推荐机器上运行它

有1 gb内存或更多。(然而,这并不意味着直接内存急切的算法。的

直接算法最初设计为实时应用程序,只需要100 ms的内存

持续时间。请期待一个内存有效版本在不久的将来。)

4使用默认参数

本节介绍了简单分析和re-synthesis过程。

从文件读演讲

第一步是读取一个文件组成的语音信号。一个文件vaiueo2d。wav用来说明以下

步骤。该文件位于直目录。以下命令读取语音信号进入

变量x和设置采样频率(赫兹)fs。

[x,fs]= wavread(“vaiueo2d.wav”);

提取励磁电源参



下一步是提取源参数。由一个基本频率f0raw和源参数

在每个频带周期性指数据美联社。以下命令它。

[f0raw,美联社]= exstraightsource(x,fs);

基频信息用于指导下面的光谱信息提取。

提取平滑时频表示(连续谱)

n3sgram时频表示,这是一个F0自适应平滑的谱图,提取使用

以下命令。

n3sgram = exstraightspec(x,f0raw,fs);

消除干扰的算法基于一个扩展周期激励引起的同步

分析和最优自适应平滑F0基于连续样条理论的核心,是一个无状态的

算法)。让我们稍后在打电话时频表示为连续谱图。因此,让我们

调用它的时间片作为一个连续谱。

基本的演讲

演讲re-synthesis没有修改只是调用下面的命令。

sy = exstraightsynth(f0raw,n3sgram,美联社,fs);

合成语音信号存储在变量sy。以下的Matlab命令从一个复制它

音频输出。

soundsc(sy,fs);

4.1阅读和写作的音频文件

直接合成过程的输出rms水平exstraightsynth是-22分贝(相对于规范化

最大程度的16位整数)签署。rms值是计算使用(大致说来)表示只有一部分。(这

由于一些历史原因)。因此,有必要减少的振幅,以满足需求

Matlab wavwrite函数以波格式存储的时候。下面的命令是实现的一个例子

老GUI-STRAIGHT。

fs wavwrite(sy / 32768年,16岁的“test.wav”);

直还支持输入和输出()的一个子集,AIFF格式。没有扩展是必要的,因为

在Matlab编写函数aiffwrite写1 1 LSB的输出文件。

aiffwrite(sy、fs、16“test.aiff”);

(这个扩展在连续光谱分析引入一个错误。分析过程优化的信号

在16位整数范围内。这个bug是固定在分析函数exstraightspec直接释放

(V40)。)

3

5为直接使用新的F0器

介绍了新的F0器使用多个F0线索最近和报告在INTERSPEECH2005[5]。新

F0器可用于直接使用其默认F0器代替。尤其是新F0器

有用的操作表达演讲,不规则声襞振动模式更常见。

请使用以下步骤来使用这个新程序。

从文件读取语音数据

这部分是一样的默认程序。

[x,fs]= wavread(“vaiueo2d.wav”);

提取源信息

这部分应该取而代之的是下面的程序。

f0raw = MulticueF0v14(x,fs);

然后你必须计算非周期性使用第四个常规exstraightAPind指数。

美联社= exstraightAPind(x,fs,f0raw);

提取光谱信息

这部分是一样的默认程序。

n3sgram = exstraightspec(x,f0raw,fs);

重新合成新的蛋白质的演讲

这部分是一样的默认程序。

sy = exstraightsynth(f0raw,n3sgram,美联社,fs);

注意:

键入新名称F0器在更详细地展示了如何使用它。

5.1新F0的比较器和defaul方法

本节展示了新的F0器修复问题发现的处理表达演讲中使用默认值

直F0器。下面的脚本执行直接分析和合成使用默认



F0器和新的F0器。

[x,fs]= wavread(“. . /样本/ em001c1013a.wav”);

[f0raw vuv、auxouts prmouts]= MulticueF0v14(x,fs);

[据美联社,analysisParams]= exstraightAPind(x,fs,f0raw);

[n3sgram,prmP]= exstraightspec(x,f0raw。* vuv,fs);

[f0rawFixp,apFixp analysisParams]= exstraightsource(x,fs);

[n3sgramFixp,prmP]= exstraightspec(x,f0rawFixp,fs);

(sy、人口、难民和移民事务局)= exstraightsynth(f0raw。* vuv,n3sgram,美联社,fs);

[syFixp,人口、难民和移民事务局]= exstraightsynth(f0rawFixp,n3sgramFixp apFixp,fs);

下面有关原始和合成声音。(唯一的链接列表访问HTML版本

文档)。

演讲的提取F0如图1所示。红线显示了F0轨迹中提取的

默认提取器。蓝线显示了新F0 F0轨迹提取器。正如你所看到的

新的F0器提供了非零段轨迹甚至在无声的沉默。有声/无声的区别

信息给在vuv的二进制值。段发现的表示表示为黑色的寄宿生

框如图1所示。

默认F0轨迹有几个故障表示部分。这些故障在新的消失了

F0轨迹。特别是故障800毫秒左右resynthesized演讲中产生明显的缺陷的违约

方法。下图显示了波形约800,从上到下,默认的再合成,新

再合成和原始波形显示。

5.1.1违约分析参数的新F0器(*)

默认值是高度调整。请使用这个默认值。


图1:F0轨迹提取的新的和默认的方法

图2:Resynthesized和原始波形。从上到下:默认情况下,新和原始。

6:读默认分析参数

直有许多预设参数的分析和合成过程。推荐使用预设

缺省值,因为它们是通用的优化。然而,访问和控制程序

启用自定义的用户来满足他们的特殊需要。本节介绍了如何获取预设值。

假设工作目录设置为在前一节中相同的目录中。请输入以下

命令。

[x,fs]= wavread(“vaiueo2d.wav”);

[f0raw,美联社,prmF0]= exstraightsource(x,fs);

[n3sgram,prmP]= exstraightspec(x,f0raw,fs);

(sy、人口、难民和移民事务局)= exstraightsynth(f0raw,n3sgram,美联社,fs);

这样做同样的分析和re-synthesis任务。重要的区别在于,这组命令提供读数

预设的参数。他们存储在三个结构变量(prmF0 prmP,人口、难民和移民事务局)。存储在预设值

这些结构变量可以通过简单回顾了Matlab命令窗口输入的变量名。

以下部分介绍这些预设值。

6.1默认值信息提取来源

将显示以下输出输入prmF0 Matlab命令窗口并返回。这些代表字段

Matlab结构化变量的名字prmF0源信息提取及其预设值。这一领域

被设计成自描述的名称。(如果在字段名称代表的瞬时频率)。

prmF0 =

F0searchLowerBound:40

F0searchUpperBound:800

F0defaultWindowLength:40

F0frameUpdateInterval:1

NofChannelsInOctave:24

IFWindowStretch:1.2000

DisplayPlots:0

IFsmoothingLengthRelToFc:1

IFminimumSmoo

thingLength:5

IFexponentForNonlinearSum:0.5000

IFnumberOfHarmonicForInitialEstimate:1

refineFftLength:1024

refineTimeStretchingFactor:1.1000

refineNumberofHarmonicComponent:3

periodicityFrameUpdateInterval:5

注:“

6.2光谱信息提取的默认值

将显示以下输出输入prmP Matlab命令窗口并返回。这些代表字段

Matlab结构化变量的名字prmP连续光谱分析及其预设值。这一领域

被设计成自描述的名称。

prmP =

DisplayPlots:0

defaultFrameLength:40

spectralUpdateInterval:1

spectralTimeWindowStretch:1.4000

spectralExponentForNonlinearity:0.6000

spectralTimeDomainCompensation:0.2000

6.3合成的默认值

将显示以下输出输入人口、难民和移民事务局在Matlab命令窗口并返回。这些代表字段

人口、难民和移民事务局Matlab结构化变量的名字和他们的预设值直接合成字段名称

设计是自描述的。

7

人口、难民和移民事务局=

spectralUpdateInterval:1

groupDelayStandardDeviation:0.5000

groupDelaySpatialBandWidth:70

groupDelayRandomizeCornerFrequency:4000

ratioToFundamentalPeriod:0.2000

ratioModeIndicator:0

levelNormalizationIndicator:1

headRoomToClip:22

powerCheckSegmentLength:15

timeAxisMappingTable:1

fundamentalFrequencyMappingTable:1

frequencyAxisMappingTable:1

timeAxisStretchingFactor:1

8

7改变默认值进行分析和综合

这些预设值可以通过将值分配给特定字段修改通过指定字段名称。下面的

命令提供一个为每个连续函数怎么做例子。这是修改后的值设置为一个

结构化变量相同的字段名,要修改。

[f0raw,美联社,prmF0]= exstraightsource(x,fs prmF0in);

[n3sgram,prmP]= exstraightspec(x,f0raw,fs,prmPin);

(sy、人口、难民和移民事务局)= exstraightsynth(f0raw,n3sgram,美联社、fs、人口、难民和移民事务局);

下面的示例使用源信息提取功能。与合成函数的例子

说明在下一节中,因为它们是许多足以填满多的部分。

的第一件事是显示提取信息和潜在的信息来源通过设置1到这一领域

DisplayPlots。以下命令使源信息提取功能显示面板

的命令。

prminF0.DisplayPlots = 1;

prminF0.note =“viaueo2d.wav”;

图;[f0raw,美联社]= exstraightsource(x,fs,prminF0);

第二行设置读取文件名注意字段。这是一个推荐的做法。

7.1使用其他F0提取器或重新做分析

有时,F0提取失败。这个失败介绍resynthesized演讲中明显退化。它还介绍了

谱估计中的错误,因为距同步连续光谱分析的本质。来

缓解这个问题,你可以手动编辑F0信息或者您可能使用其他F0 ectractors。一次

固定F0信息准备和存储在一个变量,例如在“f0fix”,您可以计算出非周期性

使用下面的函数索引。

美联社= exstraightAPind(x,fs,f0fix);

8控制合成参数


合成参数最频繁修改参数。以下部分说明的例子

使用情况和效果。

8.1群时延参数(*)

一个独特的1996年(至少)特性直接的群延迟操纵激励源信号。的信号

由三个控制参数、groupDelayStandardDeviation groupDelayRandomizeCornerFrequency吗

和groupDelaySpatialBandWidth。以下三个部分说明了控制每个参数的影响。

请保持标志变量ratioModeIndicator不变,因为其他ratioToFundamentalPeriod群时延参数

被发现的问题,通常不使用。

8.1.1参数:groupDelayStandardDeviation(*)

默认值是0.5,这决定的群延迟色散量的标准

偏差在频率轴上。操纵的影响,这个参数下面的图所示。

第一个例子显示了激励源信号时,该参数设置为0。源和光谱信息

(n3sgram f0raw美联社)从元音序列中提取用于前面的部分(vaiueo2d.wav)。

(这里使用一个小技巧是观察激励源信号。所有元素的矩阵变量n3sgram

设置为一个积极的常数值。所有元素的矩阵变量美联社将一个小(例如-60)不变

值)。

激励源信号为0群延迟色散女士是通过调用合成函数计算

字段groupDelayStandardDeviation被设置为一个积极的小值。其他参数默认设置。

prminS.groupDelayStandardDeviation = 0.000001;

sy0 = exstraightsynth(f0raw n3sgram * 0 + 100,美联社* 0 - 80,fs,prminS);

激励源信号和通过使用以下命令显示谱图。请注意

默认的帧更新间隔是1。Matlab的specgram功能系统是用于计算

谱图。

图;

情节((1:长度(syZ))/ fs * 1000,sy0);

轴([650 700 -30000 650]);

集(gca、字形大小,16);

包含('时间(ms)');标题(“delsp = 0,cornf = 4000”);

图;

fs nsgnnZ = specgram(syZ,512年,90年,85年);

(nr / nc)=(nsgnnZ)大小;

显示亮度图像([0数控* 5000 / fs],[0 f / 2)、马克斯(45岁的dB(abs(nsgnnZ))));轴(xy)

轴((650 700 0 f / 2))

包含('时间(ms)');ylabel(“频率(赫兹)”);标题(“delsp = 0,cornf = 4000”);

下面的图显示了激励源波形在基频的地方

75赫兹。小气泡接近激发脉冲线性群延迟操作的副作用

在脉冲间隔控制实现sub-sampling准确性。副作用的原因是直观地理解

巢的光谱显示相同的信号。



相关文档
最新文档