翻译-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准确性。副作用的原因是直观地理解
巢的光谱显示相同的信号。