Fast Music Information Retrieval Using PAT Tree

Download Report

Transcript Fast Music Information Retrieval Using PAT Tree

Fast Music Information Retrieval
Using PAT Tree Based Dynamic Time
Warping
云飞
2012-11-9
• 1、PAT tree
• 2、Dynamic Time Warping(DTW)
• 3、Query By Humming System
PAT tree
• 1、采用半无限长字串(sistring)
– 比如一个字符串CUHK。它的子串有C、CU、CUH、CUHK、U、UH、UHK、
H、HK、K十种。
– CUHK —— 完全可以表示 C、CU、CUH、CUHK
– UHK —— 完全可以表示 U、UH、UHK
– HK —— 完全可以表示 H、HK
– K
—— 完全可以表示 K
• 2、存储结构
– 内部结点:存储bit位在完整sequence中的位置。
– 叶子结点:记录sistring的首字符在完整sistring中的开始位置和sistring出现
的频次。
– 左指针:对应bit位上的数据是0,则将这个sistring存储在左子树中。
– 右指针:若数据是1,则存储在右子树中。
PAT tree
• 3、树的构建
– 将所有sistring的字符转化成1 bytes的ASCII码值,用二进制位来表示 (没有的空字符
我们用0来填充)。
PAT tree
• 4、树的搜索
– 要查找string= “CU ”(bit
sequence=010 00 0 1 1 01010101) 是不是在CUHK 中。
– (1) 根据“CUHK ”的PAT tree 结构( 如上图) ,根结点的bit
position=4 ,那么查找bit sequence 的第4 个bit=0 。然
后查找左孩子。
– (2) 左孩子的bit position=5 ,在bit sequence 的第5 个
bit=0 。则查找的左孩子。
– (3) ” CUHK ” 已经是叶子结点了,则确定一下CU 是不是
CUHK 的前缀即可。
Dynamic Time Warping(DTW)
• 1、算法原理
– 一个参考模板可表示为R={R(1),R(2),……,
R(m),……,R(M)},R(m)为第m帧的语音
特征矢量。所要识别的一个输入词条语音称为测试
模板,可表示为T={T(1),T(2),……,T
(n),……,T(N)}。
– 为了比较它们之间的相似度,可以计算它们之间的
距离 D[T,R]。若N=M则可以直接计算,否则要考
虑将T(n)和R(m)对齐。对齐可以采用线性扩
张的方法,如果N<M可以将T线性映射为一个M帧
的序列,再计算它与{R(1),R(2),……,R
(M)}之间的距离。也可以采用动态规划(DP)
的方法。
Dynamic Time Warping(DTW)
• 把测试模板的各个帧号n=1~N在一个二维直角坐标系中的
横轴上标出,把参考模板的各帧号m=1~M在纵轴上标出,
通过这些表示帧号的整数坐标画出一些纵横线即可形成一
个网络,网络中的每一个交叉点(n,m)表示测试模式
中某一帧的交汇点。
Query By Humming System
• 1、Feature Extraction
• 2、PAT Tree Indexing
• 3、DTW Musical Clause Verification
Feature Extraction
• pitch detection is performed followed by a median filtering to
obtain a pitch contour, which is converted to a note sequence
via:
• reason : could obtain more potential regions even under the
noisy environment.
结论
• 在DTW高容错性的基础上使用PATtree大大
减少了计算时间。而且精确度有所提高。