CN106157973A - 音乐检测与识别方法 - Google Patents
音乐检测与识别方法 Download PDFInfo
- Publication number
- CN106157973A CN106157973A CN201610583217.9A CN201610583217A CN106157973A CN 106157973 A CN106157973 A CN 106157973A CN 201610583217 A CN201610583217 A CN 201610583217A CN 106157973 A CN106157973 A CN 106157973A
- Authority
- CN
- China
- Prior art keywords
- music
- signal
- fundamental frequency
- frequency
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000001514 detection method Methods 0.000 title claims abstract description 39
- 239000011159 matrix material Substances 0.000 claims abstract description 32
- 238000001914 filtration Methods 0.000 claims abstract description 16
- 230000008878 coupling Effects 0.000 claims description 20
- 238000010168 coupling process Methods 0.000 claims description 20
- 238000005859 coupling reaction Methods 0.000 claims description 20
- 238000001228 spectrum Methods 0.000 claims description 20
- 239000000284 extract Substances 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims description 5
- 239000012634 fragment Substances 0.000 claims description 4
- 230000000052 comparative effect Effects 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 3
- 230000013011 mating Effects 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009527 percussion Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 229940061368 sonata Drugs 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B15/00—Teaching music
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本发明公开了一种音乐的检测与识别方法,包括以下步骤:1、对音乐信号进行采集并对相应的乐谱信息进行提取;2、结合乐谱信息设计低通滤波器,通过半波整流后低通滤波得到音乐信号的包络,从而实现音符初步切分;3、对切分的每一段音乐分高低通道与乐谱匹配,信号经过低通滤波后采用谐波峰值排序比较法,经过高通滤波后采用基频峰值排序比较法,综合两通道的匹配结果得到第段音乐信号与乐谱键号矩阵第行的匹配结果;4、经过多次比较最终得到钢琴演奏者的每个音乐事件的演奏正误结果。本发明的音乐检测与识别方法能够实现对演奏音乐中各个音乐事件的演奏正误判断,有利于提高音乐教学的质量。
Description
技术领域
本发明属于音频信号处理领域,特别是一种演奏音乐的检测与识别方法。
背景技术
随着物质生活水平的不断提高,越来越多的人通过学习乐器来提高自身的音乐素质。在音乐教学过程中老师需要花费大量时间在曲目的多次演奏、以及纠正学生的指法与错音上,如果能够准确检测并识别演奏的音乐,并反馈演奏正误结果,学生就可以有针对性的改正错误,从而提高学习效率,同时减轻音乐老师的教学负担。
随着音乐信号处理技术的发展,产生了多种音乐检测与识别的方法,现阶段的检测方法可以大致分为基于特征分析、基于统计模型、基于矩阵分解三种,其中效果最好的是基于特征分析的方法,即从时域、频域、时频域提取信号特征。提取信号特征之后通过建立数学模型实现音乐识别。大多数方法是针对数字音乐信号即midi信号进行分析检测,提取到的特征稳定,便于音乐识别。而实际演奏音乐具有节奏、情感和旋律等语义要素,且会受演奏者的技术水平和现场演奏环境影响,这使得演奏音乐的检测识别具有更高的复杂性。
专利申请号为CN201010299618.4,发明名称为“语音/音乐识别方法及装置”的中国专利,在上一帧音频信号的编码模式为音乐模式时,判断当前帧之前的指定个数帧的帧能量的变化率和所述当前帧的帧能量是否满足打击乐条件;在当前帧之前的指定个数帧的帧能量的变化率和所述当前帧的帧能量满足打击乐条件时,确定当前帧的编码模式为音乐模式。该方法可以实现语音模式和音乐模式的判断,其局限性在于无法实现音乐中各个音符的检测与识别。
专利申请号为CN201210516769.X,发明名称为“单声道多音音乐信号的自动转录方法及装置”的中国专利,通过将多音音乐信号分离成多路单音音乐信号,对分离出的各路单音音乐信号分别进行音色和旋律、节奏及节拍的提取,获得演奏乐器信息和音频信息,进而根据所述演奏乐器信息和所述音频信息获得高准确率的多音音乐乐谱。该方法可以实现演奏音乐与乐谱的转换,其局限性在于没有实现对演奏音乐与已知乐谱的比较,无法起到找错改错的作用。
由上可知,现有技术能够实现音乐模式判断和音乐信号转录,但无法实现对演奏音乐中各个音乐事件的演奏正误判断。
发明内容
本发明所解决的技术问题在于提供一种用于音乐教学的音乐检测与识别方法。
实现本发明目的的技术解决方案为:一种音乐检测与识别方法,包括以下步骤:
步骤1、对音乐信号进行采集并对相应的乐谱信息进行提取;
步骤2、对音乐信号进行音符切分,具体是通过半波整流后低通滤波得到音乐信号的包络,从而将音乐信号划分为多个音乐片段;
步骤3、对切分的每一段音乐进行高低通道划分,将其划分为高通道信号与低通道信号,之后将高通道信号与低通道信号分别与乐谱进行匹配,综合两通道的匹配结果得到第i段音乐信号与乐谱键号矩阵第j行的匹配结果,记为si_mj;
步骤4、综合步骤3中得到的所有音乐片段的结果,最终得到钢琴演奏者的音乐事件演奏正误结果。
本发明与现有技术相比,其显著优点为:1)本发明的音乐检测与识别方法主要结合乐谱中的先验信息,降低了基频检测的难度,提高了检测效率;2)本发明的音乐检测与识别方法中直接对信号包络检波实现音符初步切分,计算复杂度低,运行速度快;3)本发明的音乐检测与识别方法结合钢琴单音特性,在基频检测时进行高低通双通道处理,提高了多基频检测的准确度;4)本发明的音乐检测与识别方法可以实现多音音乐的检测识别,对单音音乐同样适用;5)本发明的音乐检测与识别方法将切分的音乐片段与乐谱一一匹配,便于实现音乐的实时检测;6)本发明的音乐检测与识别方法能够实现对演奏音乐中各个音乐事件的演奏正误判断,有利于提高音乐教学的质量。
下面结合附图对本发明作进一步详细描述。
附图说明
图1是本发明的音乐检测与识别方法框图。
图2是钢琴曲《小奏鸣曲》前六小节的乐谱。
图3是音乐信号包络峰值提取和音符切分结果图,其中图3(a)为《小奏鸣曲》前六小节的音乐信号包络;图3(b)是音符切分结果。
图4是为第i段音乐信号与乐谱键号矩阵第j行的匹配比较的框图。
图5是谐波峰值排序方法流程图。
图6是基频峰值排序方法流程图。
图7以小奏鸣曲第六小节中第一段音乐信号为例说明匹配比较的仿真图,其中图7(a)为第一段音乐信号的频谱图;图7(b)为低通滤波后信号的频谱图;图7(c)为高通滤波后信号的频谱图。
图8为输出演奏正误结果流程图。
图9为演奏乐曲《小奏鸣曲》的一部分演奏正误结果图。
具体实施方式
结合图1,本发明的一种音乐检测与识别方法,包括以下步骤:
步骤1、对音乐信号进行采集并对相应的乐谱信息进行提取;对乐谱信息进行提取具体是对乐谱对应的MIDI文件进行解析,提取出乐谱中的音符时值和音高信息。
步骤2、对音乐信号进行音符切分,具体是通过半波整流后低通滤波得到音乐信号的包络,从而将音乐信号划分为多个音乐片段;低通滤波处理时所用滤波器的通带截止频率为(1/T)Hz,所述T为乐谱中时值最小的音符演奏时间。
步骤3、对切分的每一段音乐进行高低通道划分,将其划分为高通道信号与低通道信号,之后将高通道信号与低通道信号分别与乐谱进行匹配,综合两通道的匹配结果得到第i段音乐信号与乐谱键号矩阵第j行的匹配结果,记为si_mj;具体为:
步骤3-1、以中央C键为界限,将频率f作为通带截止频率设计低通、高通滤波器,所述中央C键的键名为x,对应频率为f;
步骤3-2、采用谐波峰值排序的方法将低通信号与低音乐谱进行匹配,所述谐波峰值排序方法具体为:
步骤3-2-1、取出乐谱键号矩阵M第j行中低于x键的部分{m1,m2,…mq}对应的q个基频序列{f(m1),f(m2),…,f(mq)};
步骤3-2-2、对低通信号Sl作傅里叶变换,得到信号频谱;
步骤3-2-3、提取上述频谱中的峰值;
步骤3-2-4、将上述峰值从大到小进行排序;
步骤3-2-5、确定前3×q个峰值对应的频率{fp(1),fp(2),…,fp(3q)};
步骤3-2-6、对第k个基频与对应的峰值频率fp(l)进行匹配,k的取值范围为[1,q],l的取值范围为[1,3×q],所用匹配公式为:
其中fp(l)是待测基频的倍频,a为倍数,若小于0.02,则将检测到的谐波个数num(k)自增1,否则谐波个数不变;所述检测到的谐波个数num(k)的初始值为0;
步骤3-2-7、判断检测到的谐波个数num(k)是否大于等于f_len(k),若大于等于则判断该基频f(mk)存在,记为value(k)=1,将匹配的基频个数num_l自增1;否则,该基频f(mk)不存在,记为value(k)=0,匹配的基频个数num_l不变;
所述为低音单音在频谱中至少能够找到的谐波个数,其中floor(x)为取整函数;
步骤3-2-8、判断匹配的基频个数num_l是否等于基频个数q,若等于则信号低频部分基频与乐谱一致,记为value_l=1,否则记为value_l=0;
步骤3-3、采用基频峰值排序的方法将高通信号与高音乐谱进行匹配,所述基频峰值排序方法具体为:
步骤3-3-1、取出乐谱键号矩阵M第j行高于x键的部分{m1,m2,…mq}对应的q个基频序列{f(m1),f(m2),…,f(mq)};
步骤3-3-2、对高通信号Sh作傅里叶变换,得到信号频谱;
步骤3-3-3、提取上述频谱中的峰值;
步骤3-3-4、将上述峰值从大到小进行排序;
步骤3-3-5、确定前q个峰值对应的频率{fp(1),fp(2),…,fp(q)};
步骤3-3-6、对第k个基频与对应的峰值频率fp(k)进行匹配,k的取值范围为[1,q],若小于0.02,则判断该基频f(mk)存在,记为value(k)=1,将匹配的基频个数num_h自增1;否则,该基频f(mk)不存在,记为value(k)=0,匹配的基频个数num_h不变;
步骤3-3-7、判断匹配的基频个数是否等于基频个数q,若等于则信号高频部分基频与乐谱一致,记为value_h=1,否则记为value_h=0;
步骤3-4、综合两通道的匹配结果,如果两通道检测到的基频均与对应乐谱一致,即value_l=1且value_h=1,则判断第i段音乐信号与乐谱键号矩阵第j行一致,记为si_mj=1,否则判断第i段音乐信号与乐谱键号矩阵第j行不一致,记为si_mj=0。
步骤4、综合步骤3中得到的所有音乐片段的结果,最终得到钢琴演奏者的音乐事件演奏正误结果。具体为:
步骤4-1、设待匹配的音乐片段为Si(i=1,2,…,s_len),其中s_len是音乐片段个数,将乐谱信息表示为N*P的矩阵,待匹配的第j行乐谱键号矩阵记为Mj(j=1,2,…,N);将待匹配的音乐片段序数temp_j初始化为1,待匹配的乐谱键号矩阵行数j初始化为1;
步骤4-2、初始化i=temp_j,按步骤3方法将第i个音乐片段与乐谱第j行进行匹配得到比较结果si_mj;
步骤4-3、判断匹配结果,若匹配结果si_mj为0,则认为该段音乐信号是无用片段,将i自增1,并返回步骤4-2,直至i等于len为止,所述len为一个小节中音乐事件的个数;如果向后匹配比较len次之后匹配结果仍为零,则判断乐谱第j个音乐事件演奏错误,即value(j)=0;
若匹配结果si_mj为1,则判断乐谱第j个音乐事件演奏正确,即value(j)=1,同时令待匹配的音乐片段序数temp_j=j+1;
步骤4-4、将j自增1,之后返回步骤4-2,当j=N+1时,乐谱中所有音乐事件演奏正误判断完毕。
下面结合实施例对本发明做进一步详细的描述:
实施例
图1为音乐检测与识别方法框图,音乐检测与识别方法主要包括音乐信号采集、提取乐谱信息、音符切分、音乐信号与乐谱匹配比对和输出演奏正误结果五个部分。下面以钢琴演奏音乐为例说明本发明的音乐检测与识别方法。
钢琴的发音过程是演奏者触键,然后通过机械传导呢毡榔头击弦而发声。钢琴的琴槌本身连着琴键,当琴键被按下时,琴槌便会打落在琴弦上并借着琴弦的振动使钢琴发声。
假设琴弦长为l,槌敲击的区间为(x0-δ≤x≤x0+δ)。敲击点为x=x0处,弦的运动初速度为v0,弦振动的加速度为a,振动时间为t,此时钢琴弦振动方程为:
从方程看出,钢琴琴弦振动是所有驻波的叠加,其中正弦、余弦函数所组成的泛音序列与1/n成比例进行衰减,而弹拨弦振动的泛音列与1/n2成比例衰减。
钢琴音乐中,基频决定音高,倍频影响音色。钢琴上的88个琴键几乎包含了整个乐音体系的音列,它的基音频率范围为27.5Hz~4186Hz。表1是钢琴88键对应的基音频率。
表1 钢琴88键对应的基音频率
音名 | A | #A(bB) | B | C | #C(bD) | D | #D(bE) | E | F | #F(bG) | G | #G(bA) |
键号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
频率/Hz | 27.5 | 29.14 | 30.9 | 32.703 | 34.648 | 36.708 | 38.891 | 41.203 | 43.654 | 46.249 | 48.999 | 51.913 |
键号 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
频率/Hz | 55 | 58.27 | 61.7 | 65.406 | 69.296 | 73.416 | 77.782 | 82.407 | 87.307 | 92.499 | 97.999 | 103.826 |
键号 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
频率/Hz | 110 | 116.5 | 123 | 130.81 | 138.59 | 146.83 | 155.56 | 164.814 | 174.614 | 184.997 | 195.998 | 207.652 |
键号 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
频率/Hz | 220 | 233.1 | 247 | 261.63 | 277.18 | 293.67 | 311.13 | 329.628 | 349.228 | 369.994 | 391.995 | 415.305 |
键号 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 |
频率/Hz | 440 | 466.2 | 494 | 523.25 | 554.37 | 587.33 | 622.25 | 659.255 | 698.456 | 739.989 | 783.991 | 830.609 |
键号 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 |
频率/Hz | 880 | 932.3 | 988 | 1046.5 | 1108.7 | 1174.7 | 1244.5 | 1318.51 | 1396.91 | 1479.978 | 1567.982 | 1661.219 |
键号 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 |
频率/Hz | 1760 | 1865 | 1976 | 2093 | 2217.5 | 2349.3 | 2489 | 2637.02 | 2793.83 | 2959.955 | 3135.963 | 3322.438 |
键号 | 85 | 86 | 87 | 88 | ||||||||
频率/Hz | 3520 | 3729 | 3951 | 4186 |
通过麦克风将演奏的钢琴音乐信号采集到计算机中,计算机声卡可以实现模数转换,即连续信号离散化。钢琴音乐属于多音音乐,对于多音音乐,具有相同开始时间的所有音高被称为一个音乐事件。钢琴乐谱有双行谱表,即高音、低音谱表。MIDI文件中的二、三音轨对应乐谱中的高音、低音谱表,通过解析MIDI文件,可以提取各音轨包含的音符时值和音高信息。将两个音轨的音高信息合并即可得到N行P列的乐谱键号矩阵,矩阵中的每一行表示了一个音乐事件对应的所有键号,表2是《小奏鸣曲》第六小节的乐谱键号矩阵,其中第1列为高音谱表,2-4列为低音谱表。
表2
56 | 44 | 40 | 37 |
57 | 0 | 0 | 0 |
56 | 44 | 40 | 37 |
55 | 0 | 0 | 0 |
56 | 44 | 40 | 37 |
57 | 0 | 0 | 0 |
56 | 44 | 40 | 37 |
55 | 0 | 0 | 0 |
将钢琴振动信号看成是一个低频信号对一个高频信号的幅度调制,通过半波整流后低通滤波即可得到音乐信号的包络。设计滤波器时需结合乐谱中的先验知识,图2为钢琴曲《小奏鸣曲》前六小节的乐谱,可以看到该乐曲为2/4拍,假设1拍为1s,该乐谱中时值最小的音符为十六分音符,演奏时间约0.25s,此时将低通滤波器的通带频率设置为4Hz可以较为准确地提取信号包络。
采用中值滤波对信号包络进行平滑处理,并用梯度法提取包络中的极大极小值,极大值对应的位置为一个音符的起点,极小值对应的位置为一个音符的终点。图3(a)为《小奏鸣曲》前六小节的音乐信号包络,图中标注了包络极大极小值的位置,其中红色圆圈部分的极大值并非音符起始点。图3(b)是音符切分结果,实线部分为一个音乐片段的起点,虚线部分为一个音乐片段的终点,可以看到在切分过程中出现了多分的情况。由于钢琴音乐信号复杂,国内外现有的音符切分方法均不能百分之百的切分信号,所以不能将切分出的信号与乐谱信息直接一一对应,需要多次匹配,最终得到音乐检测结果。
根据钢琴演奏音乐信号的频域特点,基频的峰值并不总是最大,对于低频信号,峰值最大处可能是其倍频,因此针对低频信号要采取谐波分析的方式,高频信号只分析基频即可。图4为第i段音乐信号与乐谱键号矩阵第j行匹配比较的框图。
以钢琴49键即中央C音(频率440Hz)为界限,分别设计通带频率为440Hz的低通滤波器和高通滤波器,乐谱键号矩阵也以49为界按照高音低音重新分配。信号经过低通滤波器之后采用谐波峰值排序的方法与低音乐谱匹配,图5为谐波峰值排序方法流程图,算法描述为:
(1)取乐谱键号矩阵M第j行低于49键的部分{m1,m2,…mq},对应基频序列{f(m1),f(m2),…,f(mq)},由此得到待检测的q个基频;
(2)对低通后的音乐信号Sl作fft;
(3)提取频谱峰值;
(4)将峰值从大到小排序;
(5)取前3×q个峰值分别得到对应的频率{fp(1),fp(2),…,fp(3q)};
(6)初始化k=1,匹配的基频个数num_l初始化为0;
(7)初始化l=1;
(8)令误差err=0.02,如果则可以确定fp(l)是待测基频的倍频,a为倍数,将检测到的谐波个数num(k)自增1;
(9)重复步骤(8)直到l=3×q;
(10)信号经过低通滤波之后,各低音单音在频谱中至少能够找到的谐波个数为:
其中floor(x)为取整函数,返回小于或者等于指定表达式的最大整数;
(11)如果检测到的谐波个数num(k)大于等于f_len(k),则判断该基频f(mk)存在,记为value(k)=1,将匹配的基频个数num_l自增1;若该基频f(mk)不存在,记为value(k)=0;
(12)返回到步骤(7),直到k=q结束,即完成每个待测基频的检测;
(13)如果每个待测基频都检测到了,即num_l=q,则信号低频部分基频与乐谱一致,记为value_l=1,否则不一致,记为value_l=0。
信号经过高通滤波器之后采用基频峰值排序的方法与高音乐谱匹配,图6为基频峰值排序方法流程图,算法描述为:
(1)取出乐谱键号矩阵M第j行高于49键的部分{m1,m2,…mq}对应的q个基频序列{f(m1),f(m2),…,f(mq)};
(2)对高通信号Sh作傅里叶变换,得到信号频谱;
(3)提取上述频谱中的峰值;
(4)将上述峰值从大到小进行排序;
(5)确定前q个峰值对应的频率{fp(1),fp(2),…,fp(q)};
(6)初始化k=1,匹配的基频个数num_h初始化为0;
(7)对第k个基频与对应的峰值频率fp(k)进行匹配,k的取值范围为[1,q],令误差err=0.02,若小于0.02,则判断该基频f(mk)存在,记为value(k)=1,将匹配的基频个数num_h自增1;否则,该基频f(mk)不存在,记为value(k)=0,匹配的基频个数num_h不变;
(8)重复步骤(8)直到k=q结束,即完成每个待测基频的检测;
(9)判断匹配的基频个数是否等于基频个数q,如果每个待测基频都检测到了,即num_h=q,信号高频部分基频与乐谱一致,记为value_h=1,否则记为value_h=0。
综合两通道的匹配结果,如果两通道检测到的基频均与对应乐谱一致,即value_l=1且value_h=1,则判断第i段音乐信号与乐谱键号矩阵第j行一致,记为si_mj=1,否则判断第i段音乐信号与乐谱键号矩阵第j行不一致,记为si_mj=0。
以小奏鸣曲第六小节中第一段音乐信号为例说明匹配比较的方法,该音乐信号待匹配的乐谱键号数组为{56,44,40,37},对应基频序列为{659.255Hz,329.628Hz,261.626Hz,220Hz},图7(a)为第一段音乐信号的频谱图,图7(b)为低通滤波后的频谱图,其中菱形、方形、圆形分别表示37键、40键、44键对应的基频和倍频,图7(c)为高通滤波后的频谱图,其中圆形表示56键对应的基频。根据两通道的匹配结果可以说明该段音乐信号与待匹配乐谱一致。
切出的每段信号进行多次匹配比较后需给出最终的演奏正误结果。图8为输出演奏正误结果流程图,描述如下:
(1)待匹配的音乐片段为Si(i=1,2,…,s_len),其中s_len是音乐片段个数。将乐谱信息表示为N*P的矩阵,待匹配的第j行乐谱键号矩阵记为Mj(j=1,2,…,N)。将待匹配的音乐片段序数temp_j初始化为1,待匹配的乐谱键号矩阵行数j设置为1;
(2)初始化i=temp_j,将第i个音乐片段与乐谱第j行进行匹配比较,比较结果记为si_mj;
(3)若匹配结果si_mj为0,则认为该段音乐信号是无用片段,将i自增1,即i=i+1,重复步骤(2),设匹配比较的最大次数len为一个小节中音乐事件的个数,如果向后匹配比较len次之后匹配结果仍为零,则判断乐谱第j个音乐事件演奏错误,即value(j)=0;
若匹配结果si_mj为1,则判断乐谱第j个音乐事件演奏正确,即value(j)=1,同时令待匹配的音乐片段序数temp_j=j+1;
(4)将j自增1,即j=j+1,重复步骤(2)(3),当j=N+1时,乐谱中所有音乐事件演奏正误判断完毕,由此实现整首乐曲检测与识别。图9为演奏乐曲《小奏鸣曲》的一部分演奏正误结果图。
由上可知,本发明音乐检测与识别方法结合乐谱先验知识,将切分的音乐片段与乐谱一一匹配,能够实现对演奏音乐中各个音乐事件的演奏正误判断,有利于提高音乐教学的质量。
Claims (5)
1.一种音乐检测与识别方法,其特征在于,包括以下步骤:
步骤1、对音乐信号进行采集并对相应的乐谱信息进行提取;
步骤2、对音乐信号进行音符切分,具体是通过半波整流后低通滤波得到音乐信号的包络,从而将音乐信号划分为多个音乐片段;
步骤3、对切分的每一段音乐进行高低通道划分,将其划分为高通道信号与低通道信号,之后将高通道信号与低通道信号分别与乐谱进行匹配,综合两通道的匹配结果得到第i段音乐信号与乐谱键号矩阵第j行的匹配结果,记为si_mj;
步骤4、综合步骤3中得到的所有音乐片段的结果,最终得到钢琴演奏者的音乐事件演奏正误结果。
2.根据权利要求1所述的音乐检测与识别方法,其特征在于,步骤1中对乐谱信息进行提取具体是对乐谱对应的MIDI文件进行解析,提取出乐谱中的音符时值和音高信息。
3.根据权利要求1所述的音乐检测与识别方法,其特征在于,步骤2中低通滤波处理时所用滤波器的通带截止频率为(1/T)Hz,所述T为乐谱中时值最小的音符演奏时间。
4.根据权利要求1所述的音乐检测与识别方法,其特征在于,步骤3中对切分的每一段音乐进行高低通道划分,将其划分为高通道信号与低通道信号,之后将高通道信号与低通道信号分别与乐谱进行匹配,具体为:
步骤3-1、以中央C键为界限,将频率f作为通带截止频率设计低通、高通滤波器,所述中央C键的键名为x,对应频率为f;
步骤3-2、采用谐波峰值排序的方法将低通信号与低音乐谱进行匹配,所述谐波峰值排序方法具体为:
步骤3-2-1、取出乐谱键号矩阵M第j行中低于x键的部分{m1,m2,…mq}对应的q个基频序列{f(m1),f(m2),…,f(mq)};
步骤3-2-2、对低通信号Sl作傅里叶变换,得到信号频谱;
步骤3-2-3、提取上述频谱中的峰值;
步骤3-2-4、将上述峰值从大到小进行排序;
步骤3-2-5、确定前3×q个峰值对应的频率{fp(1),fp(2),…,fp(3q)};
步骤3-2-6、对第k个基频与对应的峰值频率fp(l)进行匹配,k的取值范围为[1,q],l的取值范围为[1,3×q],所用匹配公式为:
其中fp(l)是待测基频的倍频,a为倍数,若小于0.02,则将检测到的谐波个数num(k)自增1,否则谐波个数不变;所述检测到的谐波个数num(k)的初始值为0;
步骤3-2-7、判断检测到的谐波个数num(k)是否大于等于f_len(k),若大于等于则判断该基频f(mk)存在,记为value(k)=1,将匹配的基频个数num_l自增1;否则,该基频f(mk)不存在,记为value(k)=0,匹配的基频个数num_l不变;
所述为低音单音在频谱中至少能够找到的谐波个数,其中floor(x)为取整函数;
步骤3-2-8、判断匹配的基频个数num_l是否等于基频个数q,若等于则信号低频部分基频与乐谱一致,记为value_l=1,否则记为value_l=0;
步骤3-3、采用基频峰值排序的方法将高通信号与高音乐谱进行匹配,所述基频峰值排序方法具体为:
步骤3-3-1、取出乐谱键号矩阵M第j行高于x键的部分{m1,m2,…mq}对应的q个基频序列{f(m1),f(m2),…,f(mq)};
步骤3-3-2、对高通信号Sh作傅里叶变换,得到信号频谱;
步骤3-3-3、提取上述频谱中的峰值;
步骤3-3-4、将上述峰值从大到小进行排序;
步骤3-3-5、确定前q个峰值对应的频率{fp(1),fp(2),…,fp(q)};
步骤3-3-6、对第k个基频与对应的峰值频率fp(k)进行匹配,k的取值范围为[1,q],若小于0.02,则判断该基频f(mk)存在,记为value(k)=1,将匹配的基频个数num_h自增1;否则,该基频f(mk)不存在,记为value(k)=0,匹配的基频个数num_h不变;
步骤3-3-7、判断匹配的基频个数是否等于基频个数q,若等于则信号高频部分基频与乐谱一致,记为value_h=1,否则记为value_h=0;
步骤3-4、综合两通道的匹配结果,如果两通道检测到的基频均与对应乐谱一致,即value_l=1且value_h=1,则判断第i段音乐信号与乐谱键号矩阵第j行一致,记为si_mj=1,否则判断第i段音乐信号与乐谱键号矩阵第j行不一致,记为si_mj=0。
5.根据权利要求1所述的音乐检测与识别方法,其特征在于,步骤4中综合上述所有音乐片段的结果,最终得到钢琴演奏者的音乐事件演奏正误结果,具体为:
步骤4-1、设待匹配的音乐片段为Si(i=1,2,…,s_len),其中s_len是音乐片段个数,将乐谱信息表示为N*P的矩阵,待匹配的第j行乐谱键号矩阵记为Mj(j=1,2,…,N);将待匹配的音乐片段序数temp_j初始化为1,待匹配的乐谱键号矩阵行数j初始化为1;
步骤4-2、初始化i=temp_j,按步骤3方法将第i个音乐片段与乐谱第j行进行匹配得到比较结果si_mj;
步骤4-3、判断匹配结果,若匹配结果si_mj为0,则认为该段音乐信号是无用片段,将i自增1,并返回步骤4-2,直至i等于len为止,所述len为一个小节中音乐事件的个数;如果向后匹配比较len次之后匹配结果仍为零,则判断乐谱第j个音乐事件演奏错误,即value(j)=0;
若匹配结果si_mj为1,则判断乐谱第j个音乐事件演奏正确,即value(j)=1,同时令待匹配的音乐片段序数temp_j=j+1;
步骤4-4、将j自增1,之后返回步骤4-2,当j=N+1时,乐谱中所有音乐事件演奏正误判断完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610583217.9A CN106157973B (zh) | 2016-07-22 | 2016-07-22 | 音乐检测与识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610583217.9A CN106157973B (zh) | 2016-07-22 | 2016-07-22 | 音乐检测与识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106157973A true CN106157973A (zh) | 2016-11-23 |
CN106157973B CN106157973B (zh) | 2019-09-13 |
Family
ID=58060310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610583217.9A Expired - Fee Related CN106157973B (zh) | 2016-07-22 | 2016-07-22 | 音乐检测与识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106157973B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649811A (zh) * | 2016-12-29 | 2017-05-10 | 广州酷狗计算机科技有限公司 | 构建乐谱库的方法和装置 |
CN107290043A (zh) * | 2017-06-15 | 2017-10-24 | 贵州电网有限责任公司电力科学研究院 | 一种输电线路振动次数在线分布式监测方法 |
CN107945809A (zh) * | 2017-05-02 | 2018-04-20 | 大连民族大学 | 一种复调音乐多音高估计方法 |
CN108038146A (zh) * | 2017-11-29 | 2018-05-15 | 无锡同芯微纳科技有限公司 | 音乐演奏人工智能分析方法、系统及设备 |
CN109377818A (zh) * | 2018-12-10 | 2019-02-22 | 北京金三惠科技有限公司 | 一种数字音乐教学系统的乐谱播放模块组件 |
CN110299049A (zh) * | 2019-06-17 | 2019-10-01 | 韶关市启之信息技术有限公司 | 一种电子乐谱的智能展现方法 |
CN111028615A (zh) * | 2019-11-29 | 2020-04-17 | 尤剑 | 智能化乐器演奏教学方法、系统及存储介质 |
CN111028860A (zh) * | 2019-11-22 | 2020-04-17 | 深圳市康冠智能科技有限公司 | 音频数据处理方法、装置、计算机设备以及存储介质 |
CN111477038A (zh) * | 2020-05-12 | 2020-07-31 | 金延松 | 一种数字声乐教学仪 |
WO2020199381A1 (zh) * | 2019-03-29 | 2020-10-08 | 广州市百果园信息技术有限公司 | 音频信号的旋律检测方法、装置以及电子设备 |
CN112466334A (zh) * | 2020-12-14 | 2021-03-09 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频识别方法、设备及介质 |
CN113066512A (zh) * | 2021-03-24 | 2021-07-02 | 平安科技(深圳)有限公司 | 佛教音乐识别方法、装置、设备及存储介质 |
CN113658612A (zh) * | 2021-08-25 | 2021-11-16 | 桂林智神信息技术股份有限公司 | 一种基于音频识别被弹奏琴键的方法及系统 |
WO2022052940A1 (zh) * | 2020-09-09 | 2022-03-17 | 桂林智神信息技术股份有限公司 | 基于音频识别被弹奏琴键的方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446504A (zh) * | 2010-10-08 | 2012-05-09 | 华为技术有限公司 | 语音/音乐识别方法及装置 |
CN104143324A (zh) * | 2014-07-14 | 2014-11-12 | 电子科技大学 | 一种乐音音符识别方法 |
CN104200818A (zh) * | 2014-08-06 | 2014-12-10 | 重庆邮电大学 | 一种音高检测方法 |
CN104835507A (zh) * | 2015-03-30 | 2015-08-12 | 渤海大学 | 一种串并结合的多模式情感信息融合与识别方法 |
-
2016
- 2016-07-22 CN CN201610583217.9A patent/CN106157973B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446504A (zh) * | 2010-10-08 | 2012-05-09 | 华为技术有限公司 | 语音/音乐识别方法及装置 |
CN104143324A (zh) * | 2014-07-14 | 2014-11-12 | 电子科技大学 | 一种乐音音符识别方法 |
CN104200818A (zh) * | 2014-08-06 | 2014-12-10 | 重庆邮电大学 | 一种音高检测方法 |
CN104835507A (zh) * | 2015-03-30 | 2015-08-12 | 渤海大学 | 一种串并结合的多模式情感信息融合与识别方法 |
Non-Patent Citations (1)
Title |
---|
高雪松: "《基于MIDI的乐器控制系统和音符的自动识别方法研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649811A (zh) * | 2016-12-29 | 2017-05-10 | 广州酷狗计算机科技有限公司 | 构建乐谱库的方法和装置 |
CN107945809A (zh) * | 2017-05-02 | 2018-04-20 | 大连民族大学 | 一种复调音乐多音高估计方法 |
CN107945809B (zh) * | 2017-05-02 | 2021-11-09 | 大连民族大学 | 一种复调音乐多音高估计方法 |
CN107290043A (zh) * | 2017-06-15 | 2017-10-24 | 贵州电网有限责任公司电力科学研究院 | 一种输电线路振动次数在线分布式监测方法 |
CN108038146B (zh) * | 2017-11-29 | 2021-08-17 | 无锡同芯微纳科技有限公司 | 音乐演奏人工智能分析方法、系统及设备 |
CN108038146A (zh) * | 2017-11-29 | 2018-05-15 | 无锡同芯微纳科技有限公司 | 音乐演奏人工智能分析方法、系统及设备 |
CN109377818A (zh) * | 2018-12-10 | 2019-02-22 | 北京金三惠科技有限公司 | 一种数字音乐教学系统的乐谱播放模块组件 |
WO2020199381A1 (zh) * | 2019-03-29 | 2020-10-08 | 广州市百果园信息技术有限公司 | 音频信号的旋律检测方法、装置以及电子设备 |
CN110299049A (zh) * | 2019-06-17 | 2019-10-01 | 韶关市启之信息技术有限公司 | 一种电子乐谱的智能展现方法 |
CN110299049B (zh) * | 2019-06-17 | 2021-12-17 | 韶关市启之信息技术有限公司 | 一种电子乐谱的智能展现方法 |
CN111028860A (zh) * | 2019-11-22 | 2020-04-17 | 深圳市康冠智能科技有限公司 | 音频数据处理方法、装置、计算机设备以及存储介质 |
CN111028615A (zh) * | 2019-11-29 | 2020-04-17 | 尤剑 | 智能化乐器演奏教学方法、系统及存储介质 |
CN111477038A (zh) * | 2020-05-12 | 2020-07-31 | 金延松 | 一种数字声乐教学仪 |
WO2022052940A1 (zh) * | 2020-09-09 | 2022-03-17 | 桂林智神信息技术股份有限公司 | 基于音频识别被弹奏琴键的方法及系统 |
CN112466334A (zh) * | 2020-12-14 | 2021-03-09 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频识别方法、设备及介质 |
CN113066512A (zh) * | 2021-03-24 | 2021-07-02 | 平安科技(深圳)有限公司 | 佛教音乐识别方法、装置、设备及存储介质 |
CN113066512B (zh) * | 2021-03-24 | 2024-02-23 | 平安科技(深圳)有限公司 | 佛教音乐识别方法、装置、设备及存储介质 |
CN113658612A (zh) * | 2021-08-25 | 2021-11-16 | 桂林智神信息技术股份有限公司 | 一种基于音频识别被弹奏琴键的方法及系统 |
CN113658612B (zh) * | 2021-08-25 | 2024-02-09 | 桂林智神信息技术股份有限公司 | 一种基于音频识别被弹奏琴键的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106157973B (zh) | 2019-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106157973B (zh) | 音乐检测与识别方法 | |
CN109448754B (zh) | 一种多维度演唱评分系统 | |
US7619155B2 (en) | Method and apparatus for determining musical notes from sounds | |
Lee et al. | Acoustic chord transcription and key extraction from audio using key-dependent HMMs trained on synthesized audio | |
US6967275B2 (en) | Song-matching system and method | |
Klapuri et al. | Robust multipitch estimation for the analysis and manipulation of polyphonic musical signals | |
CN104143324B (zh) | 一种乐音音符识别方法 | |
CN104200818A (zh) | 一种音高检测方法 | |
CN110599987A (zh) | 基于卷积神经网络的钢琴音符识别算法 | |
CN104616663A (zh) | 一种结合hpss的mfcc-多反复模型的音乐分离方法 | |
CN103354092A (zh) | 一种带检错功能的音频乐谱比对方法 | |
CN102723079B (zh) | 基于稀疏表示的音乐和弦自动识别方法 | |
CN104992712A (zh) | 能识别音乐自动成谱的方法 | |
CN106847248A (zh) | 基于鲁棒性音阶轮廓特征和向量机的和弦识别方法 | |
CN105976803B (zh) | 一种结合乐谱的音符切分方法 | |
CN112634841B (zh) | 一种基于声音识别的吉他谱自动生成方法 | |
Sridhar et al. | Swara indentification for south indian classical music | |
KR20190080437A (ko) | 기계 학습을 이용한 음악 소스 검색 장치 및 그 방법 | |
CN117198251A (zh) | 一种音乐旋律生成方法 | |
Spich et al. | Drum music transcription using prior subspace analysis and pattern recognition | |
Yang et al. | A multi-stage automatic evaluation system for sight-singing | |
WO2007119221A2 (en) | Method and apparatus for extracting musical score from a musical signal | |
CN115662465A (zh) | 一种适用于民族弦乐乐器的声音识别算法及装置 | |
Oudre et al. | Chord recognition using measures of fit, chord templates and filtering methods | |
CN112201100A (zh) | 一种中小学艺术素质测评中音乐演唱评分系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190913 |
|
CF01 | Termination of patent right due to non-payment of annual fee |