admin管理员组文章数量:1570368
2024年6月18日发(作者:)
本技术公布了一种以相对振幅为依据的直接提取基频方法,建立了频率矩阵和节拍矩阵,实
现了有效哼唱音符音长区域切分;技术了一种可变识别区域的精确识别迭代算法,通过引入
频率变化率和变化阻尼判定方法,显著减少整个哼唱音频的迭代次数。对人声哼唱录音的
WAV
格式音频文件,经过对基频的获取计算、音符音长识别区域切分、可变区域精确识
别、国际音高换算四个环节,最后形成数字乐谱输出。该方法可利用普通智能手机和电脑实
现对普通人声哼唱的精确识别并输出相应的数字曲谱,具有简洁、高效、精准、易推广的特
色优势。
权利要求书
1.
人声哼唱精确识别算法及数字记谱方法,其特征在于所述方法包括如步骤:
(1)
对哼唱录音文件的基频提取,对音频进行离散傅里叶变化
(DFT)
,根据振幅信号值直接提
取基频。
(2)
音符音长识别区域切分,构建了频率矩阵
F
和节拍矩阵
R
,采用了基于海明窗函数的离散
傅里叶变化,对音频数字信号的分帧和频率识别,从而实现了对音符音长识别区域的切分。
(3)
可变区域音符音高音长的精确识别,对音律按照上述方法进行切分后的区域内,通过改
变区域边界,不断迭代计算这个区域内一个发音的频率变化率
Δfk
,寻找最小点来确定哼唱
基频,并以该点出现时的区域所含采样点个数,作为记录该音的音符音长,从而实现对音符
音高音长的精确识别。
(4)
国际音高换算,采用国际标准音高
(Standard Pitch)
度量,按照高度顺序分别为
A
、
Bb
、
B
、
C
、
C#
、
D
、
Eb
、
E
、
F
、
F#
、
G
、
G#
,越靠后表示半音高度越高。
2
个半音高度
(f1,f2)
之
间的频率关系由公式:计算
,
由此计算获得所有音高和频率对照表,并进行存储。
(5)
乐谱输出,根据国际标准音高度量,进行频率
f′k
与音高
Yk
换算后,产生的对应音高
Yk
存
储于矩阵
A
中,将已经计算获得的音符音长
(
步骤
(2))
存储于矩阵
R
中,根据矩阵相应储值,
通过音高和频率对照表输出该哼唱曲调的数字乐谱。
2.
根据权利要求
1
所述的人声哼唱精确识别算法及数字记谱方法,其特征在于步骤
(1)
提出了
相对基频提取方法,包括如下原理及计算公式。
经过大量哼唱特征分析,发现基频的峰值出现在振幅第一次达到最大振幅的
1/10
左右处,误
差不超过
10
%,且能有效地减少噪声。基于这样的原理,直接采用振幅来提取基频,由给
出。式中
f'
是修正后的频率,
[f1/10]
是第一次出现的不超过最大振幅
1/10
对应的频率值
,Fs
是
离散数字哼唱音频对原始连续声音信号的采样频率,
N
是离散数字哼唱音频的采样点数。
3.
根据权利要求
1
所述的人声哼唱精确识别算法及数字记谱方法,其特征在于步骤
(2)
对音频
数字信号分帧和频率识别的区域划分方法,具体特征描述如下:
定义了频率矩阵
F
和节拍矩阵
R
用于存储和输出频率和节拍:
F
矩阵中
fk
是第
k
个连续出现最多次的频率,简称第
k
个频率;
xk
是该频率复现的次数。
R
式中
rk
是第
k
个频率的拍数。
rk
=
int(2xk/xmin)/2
,
xmin
是
F
矩阵中
xk
的最小值,
k
、
n
均为整数。对
区域的切分定义了第
k
个区域所含的采样点数了
Lenk
,计算式为
N
为离散数字哼唱音频信号
采样点的总数。由此实现对离散数字哼唱音频信号进行分帧,再对每一帧进行含时的离散傅
里叶变换。
版权声明:本文标题:人声哼唱精确识别算法及数字记谱方法与制作流程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1718722713a716721.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论