h=mirhisto(t) (15)
整个过程都能被执行在一个单独的线,通过调用mirtempo功能直接与音频输入作为参数:
mirtempo(a,’Frame’) (16)
在这种情况下,不同的可适用选择的在整个过程可以被直接指定为数组元素的节奏功能。例如,以框架为基础的速度估计的计算,选择最好的是三名候选人在每一帧,选择节奏的范围在坯料之间的60 - 120次/分,一个估计的策略基于频谱分析和自相关的混合应用于谱能量与句法会被执行为:
mirtempo(a,’Frame’,’Total’,3,
’Min’,60,’Max’,120,’Spectrum’,
’Autocor’,’SpectralFlux’)
(17) 2.4 分割
更精细的工具也被实施,摇晃的出更高水平的分析和转化。特别是,音频文件可以被自动分割为一系列的均匀部分,通过时态的间断的估计沿着多样化的替代的功能,例如音质特别[17]。首先声音信号分解成帧(18)和一个被选中特征如MFCC(19),被计算是沿著这些帧。这基于在相似度矩阵(20)对所有可能的框架之间距离存放。卷积沿着主对角线利用相似矩阵的高斯棋盘的内核中收益率曲线表明了一种新奇的时间的位置具有重要的参考价值质地变化(21)。峰值检测应用于新奇返回的时间位置曲线特征的间断(22),它也可以应用于实际的分割音频序列(23)。
fr=mirframe(a) (18)
fe=mirmfcc(fr) (19)
sm=mirsimatrix(fe) (20)
nv=mirnovelty(sm)
第 21 页 共 28 页
(21)
ps=mirpeaks(nv) (22)
sg=mirsegment(a,ps) (23)
整个分割过程可以被执行一个单个的线通过直接调用mirsegment函数作为音频输入数据的论点:
mirsegment(a,’Novelty’) (25)
默认的情况下,新奇的曲线图表是基于MFCC曲线,但其他的特性也可以被选择同样的使用一个附加的选择:
mirsegment(a,’Novelty’,’Spectrum’) (26)
一秒钟就可以计算相似度矩阵,以展现距离——根据相同的特性,对比一个人使用的分割-之间所有可能的环节(28日)。
fesg=mirmfcc(sg) (27)
smsg=mirsimatrix(fesg) (28)
2.5 数据分析
作为数据分析这个工具箱包含多样的工具,例如一个高峰撷取器,和计算直方图,熵、零利率的功能,不符合规定或者各种统计时刻(质心,偏态,峰态等传播、平整度)各种类型的,例如当作光谱,信封或直方图。
Mirpeaks功可以接受任何数据传回通过MIRtoolbox的其他功能和能适应不同的种类的数据在任何数量的尺寸。在图形表示法的结果中,山峰都是自动位于相应的曲线(为一维数据)或bit-map图像(2D数据)。
Mirpeaks功能提供了可供选择的可能的试探法。它可能定义为山峰必须被选定超过他们的一个全球性的门槛。我们设计了一个新的峰的选择策略,是基于丢弃的山峰上那不充足的对比I根据某阈值)与邻近的山峰上对比的观念的形成。该自适应滤波曲线策
第 22 页 共 28 页
略因为适应当地的曲线的特殊性。它的发音与其他更为传统阈值策略导致一种高效的峰值采摘模块,它可以应用于整个MIRtoolbox。
悦耳的音乐样品的监督分类可以被演示,利用技术如再邻居或高斯混合模型。一个可能的应用是音频资料的分类到音乐的类型。
3 工具箱的设计
3.1 数据封装
在工具箱里所有的数据被返回通过功能都是封装的进入类型的对象。默认的显示方式是联系到所有这些物体是一种相应的曲线的图形的显示。在这种方式下,当显示器的价值观的一个给定的分析请求,什么是印刷的而不是一个的长向量和矩阵,而是一个正确的格式的图形表示法。
实际数据矩阵的相关数据可以被获得通过调用一个方法叫做mirgetdata,构成了尽可能简单的数据结构的数据(cf.相关段落4.1) 3.2 框架分析
基于帧的分析(即对使用一个滑动窗口为基础)可以指定使用两种替代方法:第一种方法是根据分解一到连续的帧的音频信号的mirframe使用功能,可选参数可以指定帧大小(以秒,默认情况下),跳因素(介于0和1,默认情况下)。例如,在下面的代码(29行)框架有50毫秒的,一半大小相互重叠。
该函数的结果便可以直接发送作为任何一个工具箱(30)其他函数的输入例如: f=mirframe(a,.05,.5) (29)
mirtempo(f) (30)
然而,这第一个方法不正确,例如工作时与处理速度估计在2.4节所述。以下这第一种方法,如图4,框架分解第一步是在进程执行链,因此,该滤波器分解输入是一个短帧系列,其中包括两个主要的问题,第一为了避免短暂在每学年开始存在的不良状况过滤的帧,每个过滤器的初始状态对不同的过滤器在一个的特定瞬间前一帧(不同的重叠因素)将需要调整。第二:对分解的框架裁员demultiplication(如果帧重叠)在整个多渠道该滤波器将需要根据所造成的内存使用空间。如果框架分解分解后的执行和滤波器重构的技术困难和浪费内存诱导在第一个方法就可以立即解决,如图5所示:
第 23 页 共 28 页
第二种方法,在这方面更成功,不能使用以前的管理语法,作为mirtempo输入职能不应框架尚未分解,另一种选择语法包括在建议的框架分解选项作为一个可能的论点的mirtempo功能('框架')(31)。这相当于什么,提出了在第2.4(代码16路和17)。
mirtempo(a,’Frame’,.05,.5) (31) 该框架分解的选项是可以作为实现工具箱的大部分功能一个可能的论点。然后每个函数可以指定在其行动链框架分解的确切位置。此外,如果没有指定默认参数的框架将会分解。帧尺寸和跳因子-可适应每一个具体的功能。因此,从用户的角度执行点和链接不同运营商的MIRtoolbox遵循相同的语法,框架分解与否,除额外使用无论是命令mirframe或选项'框架'的框架分解。当然,从开发的角度来看,这就要求每一个特征提取算法应该适应帧分解的投入。更确切地说,输入可以是一个单一向量或矩阵,其中列代表连续帧。方便的是,在Matlab环境下,基于矢量的算法的泛化以矩阵为基础的版本一般是不费吹灰之力。 3.3 适合的语法
正如以前的解释,工具箱的各种种样的功能可以接受替代的输入:
?一个特定的音频文件的名字(或在音频文件格式wav或非盟)可以直接指定作为神经网络的输入:
mirspectrum(’myfile’) (32)
?语音文件可首先使用miraudio加载不同作用的功能,进行重新采样等施工作业,自动修剪过的沉默开始和/或结束的时候,一个给定序列中提取数列,集中、规范化等方面存在着一定的有效值能源等。
a=mirtempo(’myfile’,’Sampling’,11025,
第 24 页 共 28 页
’Trim’,’Extract’,2,3,
’Center’,’Normal’)
(33)
mirspectrum(a) (34)
?音频文件批量分析可以进行简单的生活更换音频文件的名称通过关键字“文件夹中”。
mirspectrum(’Folder’) (35)
?在Matlab计算任何向量v可以被转化一些文件,再一次,波形的使用功能,通过miraudio可以被指定一个特定的采样率。
a=miraudio{v,44100) (36)
mirspectrum(a) (37)
?任何特征提取可以基于先前的计算结果。例如,自相关函数的一个光谱曲线就可以计算如下:
s=mirspectrum(a) (38)
as=mirautocor(s) (39)
?曲线[10]的产品都可以容易地进行:
mirautocor(a)*mirautocor(s) (40)
在这个特定的例子中,波形自相关mirautocor(a)也会被自动转换为频率域以便相结合频谱自相关mirautocor(s)。
4. 在Marsyas工具箱对比
Marsyas是一个以c++和Java为原型来进行设计和用计算机试听应用软件来进行实验的一个框架,它通常是由连接音频、声音档,信号处理模块和机器学习组成。该模块基于数据流编程,计算法由一个网络节点连接处理/部件通过一系列的沟通渠道/弧表示。
第 25 页 共 28 页