admin管理员组

文章数量:1532440

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

为离散数字哼唱音频信号

采样点的总数。由此实现对离散数字哼唱音频信号进行分帧,再对每一帧进行含时的离散傅

里叶变换。

本文标签: 哼唱频率识别方法数字