一种智能音律校对系统、方法、存储介质、设备及终端
技术领域
本发明属于音乐
技术领域
,尤其涉及一种智能音律校对系统、方法、存储介质、设备及终端。背景技术
目前,在进行弦乐类乐器的练习中,由于多数弦乐器的指板上没有各音高的标记位,初学者往往只能靠彩色胶带或修正液对纸板进行标记,不仅会对昂贵的木质乐器造成伤害,而且标记的音高数量有限,同时胶带和修正液容易在练习中脱落、掉色,效果并不理想。另一方面,一旦没有专业的指导老师帮助指出初学者在自主练习的过程中发生音准错误的情况,初学者很容易形成错误的肌肉记忆,从而影响后续的练习效果。
现阶段“互联网+”是互联网发展的新业态,利用信息通信技术以及互联网平台,将互联网与传统行业进行深度融合并创造新的发展形态是不可避免的趋势。因此,互联网与弦乐器的不断融合也产生了一系列以互联网技术和互联网平台为核心的弦乐类智能软件。
经过市场调研发现市面上开发较为成熟的弦乐类APP大体分为两类。一类是以网课教学为主,依赖用户的自主练习性而缺乏针对性的指导;另一类则多局限于调音器类,此类调音器APP只适用于练习前对吉他、小提琴、尤克里里等弦乐器进行松紧调音,缺乏对于演奏全程的实时动态监测。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有技术依赖用户的自主练习性而缺乏针对性的指导。
(2)现有技术中调音器APP只适用于练习前对吉他、小提琴、尤克里里等弦乐器进行松紧调音,缺乏对于演奏全程的实时动态监测。
解决以上问题及缺陷的难度为:针对性的指导需要对演奏者当前的演奏水平进行实时的反馈,并对此进行评估分析。大部分的乐器初学者在前期往往会因为某些问题陷入瓶颈期,而缺乏对自我纠错的能力,问题得不到解决后陷入自我认知负反馈的循环,在某种程度上阻碍了自学者的进步和自我积极性。在以往教学中,针对性指导往往通过线下面对面教学完成,而线上教学也会因为双方存在的时空位置存在一定的滞后性,而大部分自学者要花费大量的精力和时间才能跨过这一步。
演奏全程的动态检测需要产品对演奏者全程的检测及跟踪判断,要求软件对实时的演奏音色高低进行标准比对和反馈显示,这对软件的处理即时性和反馈有着较高的要求。除此以外,与目前的松紧调音功能相比,对演奏者的演奏音频的实时分析也对软件本身的音库和快速分析能力提出了更高的要求。
解决以上问题及缺陷的意义为:本发明作为弦乐类智能化产品,利用智能识别与检测纠错完成对弦乐器的教学创新实践。通过对本发明的功能和应用进行分析,将会让更多相关行业的专业人士意识到“互联网+”时代让初学者即使足不出户的练琴也能兼顾正确性,让乐器的教学模式逐渐发生转变。这在一定程度上改变以往的教学思维,也会对其他乐器与互联网的结合起到向导作用。如此智能化产品带来的教学便利易于促进弦乐类乐器,甚至音乐领域的良好发展。本发明在对演奏者音准进行智能快速识别判定的基础上,还可以加入智能图像识别整个乐谱的功能,提高用户使用的自由度。同时还可以加入智能评分机制,对用户的音准、节奏甚至情感方面进行综合分析,让用户能够获得自己的量化的练习评估报告,提高本发明的专业性,让功能更加完整。随着人们对美好生活的向往更加强烈,人们对艺术的需求也日益提高,越来越多的人开始享受音乐,接触乐器。未来生活中,一.方面器乐教师不必为一一个个纠正学生的音准问题而苦恼,另一方面,人们甚至可能不需要专门为简单学习一门乐器去报名课程,而可以利用碎片化的时间,足不出户就可以简单.上手一种乐器,同时也对自己的音准有足够的信心,这是所期待的方向。
发明内容
针对现有技术存在的问题,本发明提供了一种智能音律校对系统、方法、存储介质、设备及终端。
本发明是这样实现的,一种智能音律校对方法,所述智能音律校对方法,包括:
步骤一,二维码识别的部分,主控芯片对FreeRTOS系统、摄像头和屏幕等外设的配置进行初始化调用,使用摄像头和drp库函数进行处理采集,采集后通过串口传入数据,并对无效或残缺数据进行剔除,选出匹配的字符串信息。同时,将摄像头的图像以灰度模式进行输入,通过滤波、增强、检测三个步骤对图像中的黑白矩阵色块包含的01信息特征识别,将数据字符转换为位流,每8位一个码字,整体构成一个数据的码字序列。知道这个数据码字序列就等同知道了二维码的数据内容。再于以HDMI线进行连接的屏幕上进行输出显示;
步骤二,当摄像头接收到含有二维码的画面后,将其与二维码识别开源库zxing进行解码,并取回解码内容,一方面在显示屏左上角进行回显,对提示信息进行初始化,通过指定坐标的方式,在显示屏左上角回显现在是否识别到二维码,另一方面将其与曲库中已保存的乐谱标识数据进行比对。这一步可以帮助用户尽快得知自己是否成功启用了本软件的识别功能;
步骤三,软件调出对应的电子乐谱数据,再另一个交互界面专用的显示屏上进行提示数据的回显,提示用户开始练习,并等待用户按下开始按键,这一步完成了识别前的准备工作;
步骤四,到此开始进入第二个部分,即音准识别的部分,正式进入循环声音检测模块,显示当前应演奏的单音的唱名,使初学用户的快速了解,再以1秒为间隔循环录音并识别。
进一步,所述步骤三中,声音检测模块声音检测的具体过程为:
用户所演奏的声音,经过滤波与快速傅立叶变换的处理;
首先判断用户是否正在演奏或未对准话筒,声音过小,再与库中标准音高频率比对表进行对照,得到比对结果并在显示屏上进行实时提示;
音准准确则进入下一个单音的判断,直到整个曲目结束,结束后进行完成练习的提示。
进一步,所述实时提示包括:声音过小、音准准确、音调过高和音调过低四种情况。
进一步,所述的智能音律校对方法使像素点矩阵中的元素都满足R=G=B,此时的颜色变量值称为灰度值;
灰度化常见的加权平均公式如下:
1)Gray=B;Gray=G;Gray=R;
2)Gray=max(B+G+B);
3)
4)Gray=0.072169B+0.715160G+0.212671R;
5xGrαy=0.11B+0.59G+0.3R;
式中:R、G、B一分别为红、绿、蓝三个分量;Gray--灰度值结果;
在边缘检测的同时尽量削弱了噪声。其模版大小为3X3,其将方向差分运算与局部加权平均相结合来提取边缘。在求取图像梯度之前,先进行加权平均,然后进行未分,经过处理后可以确定其在图像中的大概位置,提取出完整的二维码图像;最后借助多个矫正图形和定位图标建立取样网络,将二维码转化为数据矩阵获取数据;
经过FFT变换前后信号的对应关系如下:采样频率为Fs,信号频率F,采样点数为N,那么FFT之后结果就是一个为N点的复数,每一个点就对应着一个频率点;原始信号的峰值为A,那么FFT的结果的每个点的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍;而每个点的相位呢,就是在该频率下的信号的相位;第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加;
某点n所表示的频率为:Fn=(n-1)*Fs/N,由公式看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则分辨到1Hz。1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析精确到1Hz,如果采样2秒时间的信号并做FFT,则结果分析精确到0.5Hz,如果要提高频率分辨率,则必须增加采样点数,也即采样时间,频率分辨率和采样时间是倒数关系;根据Nyquist采样定理,FFT之后的频谱宽度最大只能是原始信号采样率的1/2,如果原始信号采样率是4GS/s,那么FFT之后的频宽最多只能是2GHz;时域信号采样周期的倒数,即采样率乘上一个固定的系数即是变换之后频谱的宽度,即Frequency Span=K*(1/△T),其中OT为采样周期,K值取决于在进行FFT之前是否对原始信号进行降采样(抽点),因为这样可以降低FFT的运算量;
经过FFT变化后,就得到频谱更宽、特征更清晰、分辨率更精确的音频。
十二平均律的应用与计算,用频率f表示科学音调记号法中的A4,则在[f,2f]的区间内可以根据十二平均律分出十三个不同的单音,跨五个小二度的两个音,其频率计算式为:
式中:f0-参考音频率/Hz;f5-比参考音高五个小二度单音的频率/Hz;
音高比对的计算,依靠快速傅立叶变换对音频进行识别与比对,wav格式的音频文件是实数,对采样得到的数据的虛部需要进行补零的预处理;快速傅立叶变换的本质就是离散傅立叶变换。离散傅立叶变换的公式为:
式中:x-采样信号;N-信号点数;X-离散傅立叶变换后的频域信号;n-时域米样点的序列索引;k-频域值的索引;
而对快速傅立叶变换,将含有X(n)(n=0,1,…,N-1)的系数部分拆分成奇数项和偶数项两个向量;
x[0]=[x(0),x(2),....,x(n-2)]T;
x[1]=[x(1),x(3),...,x(n-1)]T;
它们分别对应两个新的多项式X[0](x)和X[1](x)因此现在得到以下三个表达式:
X(a)=x0+x1a+x2a2+...+xn-1an-1;
推出:
X(a)=X[0](a2)+aX[1](a2);
令:带入上式,又依据消去引理:
以及折半原理为:
推出:
波形分辨率由原始数据采样的时间长度决定:
式中:ΔRω′-波形分辨率;T-原始数据时间;
而FFT分辨率由采样频率和参与FFT的数据点数决定:
式中:ΔRfft-FFT分辨率;Fs-采样率;N-数据点数。
本发明的另一目的在于提供一种实施所述智能音律校对方法的智能音律校对系统,所述智能音律校对系统设置有主控芯片;
主控芯片分别与摄像头、接口屏幕、屏幕、麦克风、按键、SD卡存储设备。
进一步,所述SD卡存储设备与SD卡座连接。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:音准是乐器学习中最为基础而重要的一部分,而对于弦乐初学者而言,由于多数弦乐器的指板上没有各音高的标记位,因此对音准的把握较为困难。传统弦乐学习中,初学者常用彩色胶带或修正液在指板上进行标记,这不仅会对昂贵的木质乐器本身造成较大伤害,且标记的音高数量有限,同时胶带和修正液容易在练习中脱落、掉色,效果并不理想。另一方面,初学者进行自主练习的过程中,如果没有专业的指导老师帮助指出音准的错误,长此以往,易让初学者形成错误的肌肉记忆,从而让训练效果大打折扣。
同时,经过市场调研,了解到业内产品多局限于调音器类,调音器是一种乐器辅助装置,主要指电子调音器,用于各种弦乐器的调音,包括小提琴调音器、大提琴调音器、贝斯调音器、吉他调音器、古筝调音器和尤克里里调音器等,调音器是将振动原理和声音原理配合起来进行调音,用于练习前的准备工作,能够对吉他、小提琴等弦乐器的每根弦进行简单的较音,鲜有自动校正音准用以帮助用户练习的调音设备,缺乏对于演奏全程的实时动态监测。本发明基于以上局限,克服了人们对调音器的片面之见,创新性的设计了能对用户音准进行实时的检测与校对的功能。本发明能够在用户练习中,实时监测并指出演奏的每一个音是否准确,并提出改进的方向。用户练习前,可以通过二维码扫描识别本次需要练习的乐谱,作品能够从曲库中调出对应的乐谱数据,并开始对用户音准的检测与校对。本发明不仅能够起到调音作用,还能在练习时加深用户对各音准的把握,填补了业内关于用户自主练习空白。
综上,本发明是有实用意义的。从弦乐初学者角度,本发明不仅简单易用、界面清晰简洁,而且可以更好地保护乐器,通过对练习曲目进行智能追踪识别,也提高了训练效率和演奏者的信心;从教学者角度,可以减轻教学负担,教师也不必一直对学生的练习进行监督;从商业价值角度,本产品适用范围广,受众人群大,同时目前缺少与本发明功能相似的同类产品,本发明在同类产品中的竞争优势相对较大,一旦推广使用,其简单易用、容易上手的优点将吸引大批用户,具有很高的商业价值。
本发明使用基于瑞萨公司开发平台提供的开发板进行设计,本发明的功能为:在用户练习前,通过二维码扫描识别本次需要练习的乐谱,经过处理后从曲库中调出对应的乐谱数据,对用户音准进行实时的检测与校对,以达到帮助初学者练琴的效果。本发明不仅简单易用、界面清晰简洁,而且可以更好地保护乐器。同时本发明能够对练习曲目进行智能追踪识别,在用户练习中实时监测每个音的音准高低,并指出演奏的每一个音是否准确,提出改进的方向。这种特殊的线上陪练模式在提高用户练习质量的同时,解决了线下陪练课耗时耗力的问题,简化了传统教学的步骤,从而降低了学习弦乐器的成本与门槛,推动弦乐器的发展,契合如今”智能家居”的生活主题。
同时本发明对乐器学习相关的软件与硬件市场状况进行了较为全面的调查,根据乐器学习中的难点与特殊种类乐器的特点进行设计,使用价值高,另外让各种子模块的协调合作,提高了本系统的易用性。本发明在对现有的乐器调音器相关功能了解的基础之上,结合快速傅里叶变换等信号处理相关知识,完成二维码扫描、音高识别与屏幕反馈等子模块的设计与结合,同时也能较好地完成对用户所演奏的单音进行音高识别的任务。
附图说明
图1是本发明实施例提供的智能音律校对方法流程图。
图2是本发明实施例提供的智能音律校对系统结构示意图。
图3是本发明实施例提供的二维码识别方法流程图。
图4是本发明实施例提供的智能音律校对软件流程图。
图中:1、摄像头;2、HDM1接口屏幕;3、屏幕;4、RZ/A2M主控芯片;5、麦克风;6、按键;7、SD卡存储设备;8、SD卡座。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种智能音律校对系统、方法、存储介质、设备及终端,下面结合附图对本发明作详细的描述。
本发明提供的智能音律校对方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的智能音律校对方法仅仅是一个具体实施例而已。
如图1所示,本发明实施例提供的智能音律校对方法,包括:
S101:二维码识别的部分,主控芯片对FreeRTOS系统、摄像头和屏幕等外设进行初始化,将摄像头的图像以灰度模式进行输入,再于以HDMI线进行连接的屏幕上进行输出显示。
S102:接着在屏幕左上角对提示信息进行初始化,通过指定坐标的方式,在显示屏左上角回显现在是否识别到二维码。
S103:软件调出对应的电子乐谱数据,再另一个交互界面专用的显示屏上进行提示数据的回显,提示用户可以开始练习了,并等待用户相应的指令。
S104:到此开始进入第二个部分,即音准识别的部分,进入循环声音检测模块。
本发明实施例提供的S102中,当摄像头接收到含有二维码的画面后,将其与二维码识别开源库zx ing进行解码,并取回解码内容。一方面在显示屏左上角进行回显,另一方面将其与曲库中已保存的乐谱标识数据进行比对。
本发明实施例提供的S103中,显示当前应演奏的单音的唱名,使初学用户的快速了解,再以1秒为间隔循环录音并识别。
本发明实施例提供的S103中,声音检测模块声音检测的具体过程为:
用户所演奏的声音,经过滤波与快速傅立叶变换的处理;
首先判断用户是否正在演奏或未对准话筒,声音过小,再与库中标准音高频率比对表进行对照,得到比对结果并在显示屏上进行实时提示;
如果音准准确则进入下一个单音的判断,直到整个曲目结束,结束后进行完成练习的提示;整个软件系统具有较为明确的流程,同时能够达到实时检测的功能,且有较好的识别准确性。
所述实时提示包括:声音过小、音准准确、音调过高和音调过低四种情况。
如图2所示,本发明实施例提供的智能音律校对系统中RZ/A2M主控芯片4分别与摄像头1、HDM1接口屏幕2、屏幕3、麦克风5、按键6、SD卡存储设备7;SD卡存储设备7与SD卡座8连接。
本发明的具体实施过程如下:
练习开始,使用者点击“开始练习”按钮,再打开配套的实体乐谱书,利用本发明的摄像头模块,扫描需要练习的篇章对应的二维码,扫描时HDMI屏幕液晶显示模块会对应显示二维码采集的实时图像,便于使用者将二维码对准摄像头。扫描结束,软件应用上即可调出所扫描二维码对应的电子乐谱数据,同时提示扫描成功,使用者可以根据个人喜好选择参考实体纸质书或电子乐谱,并开始本次练习。此时话筒开始采集音频数据,同时软件界面左下角也会实时显示音频采集动画,此动画跟随使用者演奏曲调高低实时变化,提高界面美观性的同时也提示使用者当前采集到的声音样本的大致情况。软件界面右下角的迷你钢琴动画,根据需要演奏的音符实时更新,以提示钢琴初学者当前应按下的琴键。同时,中间进度条也会根据使用者的弹奏实时刷新,使用者可以参考进度条获取当前的演奏进度。画面右上角同时会实时提示当前演奏音符,以及使用者的演奏准确度、改进意见。使用者每演奏一个音符,均可以通过右上角的提示得知自己的音准是否准确。如演奏准确,则可以进行下一个音符的演奏;如不准确,可以根据提示调整音准,如提琴初学者可以调整指板按压位置、钢琴初学者更换按下的琴键等,直到音准准确后,方可进行下一个音符。所有音符演奏完毕后,软件界面右上角将提示演奏结束信息。
本发明的创新点主要体现在:由于使用快速傅里叶变换的方法判断音准,因此得以适用于多种乐器的演奏判断,不局限于某一种乐器的音准判别,让不同乐器的初学者能够减少设置过程,快速上手使用;另外,基于快速傅里叶变换,音准判断的整体程序软件占用内存更少,实现了软件的轻量化,减少使用者的内存占用烦恼;本发明还提供了乐谱数据更改、更新的接口,通过按下选项按键,使用者可以自行选择电子乐谱文件的存放位置,这意味着使用者可以自行选择乐谱文件的位置,当乐谱数据过大时可以选择存放在外部磁盘内,自由度高,同时这也意味着,使用者可以随时向文件夹中有选择地下载、删除乐谱,能够跟随练习内容的不断丰富更新乐谱,提高了本发明的实际使用寿命。
下面结合具体实施例对本发明的技术方案作进一步的描述。
1.1本发明的系统方案主要由二维码图像识别模块、声音采集与识别模块、HDMI屏幕液晶显示模块组成。本发明基于快速傅里叶变换(FFT)的基本原理使用,最大限度地使用了RZ/A2M芯片和FREERTOS系统本身的图像识别功能,给出了一种较为方便、快捷的音符检测方案。综合考虑了检测准确度和检测速率两方面的因素,引入了模块,然后通过对一段具体的语音信号进行采样、比较,较准确地得到弦乐语音的音准结果。二维码识别模块使Renesas(瑞萨)RZ/A2M单片机的摄像头和drp库函数进行处理采集,采集后通过串口传入数据,并对无效或残缺数据进行剔除,选出匹配的字符串信息。
弦乐的基本七大音符构成为CDEFGAB,分别为do,re,mi,fa,so,la,si,数字表示为1,2,3,4,5,6。弦乐音阶的标准频率位于40-4000Hz。根据采样定理,采样频率要大于信号最大频率的两倍才能保证信号不失真。弦音信号为一种短时平稳信号,左右声音采集和识别模块对单片机的ADC进行单声道采样,采样率44100Hz,实际录制时间设置为1s,方便识别且不过多占用系统空间。把FFT算法处理后得到的音高与弦乐单音频率表进行对比,以确定音差高低,从而实现辅助演奏者自我修正演奏练习的效果。HDMI屏幕液晶显示模块的端口连接单片机的HDMI口,实时显示摄像头及摄像头信息。
1.2实现原理
传统的二维码识别主要依赖Opencv中的Canny边缘检测算法识别二维码列阵中编码区域和功能区域中亮度变化明显的点,也就是通过滤波、增强、检测三个步骤对黑白矩阵色块包含的01信息特征识别。具体的编码区域和功能区域包括寻像图形,分隔符,定位图案和矫正图形,功能区域不用于数据编码,周围为空白区。
特征识别的普遍思路如下:第一,依靠二维码左上、左下、右上三个定位矩阵,对图案进行平滑滤波,二值化,寻找大体轮廓。其二,判断定位矩阵的具体位置,需要判断三个角点围成的三角形的最大的角就是二维码左上角的点。然后根据这个角的两个边的角度差确定另外两个角点的左下和右上位置,从而对二维码进行透视矫正或放射矫正。其三,是对条码数据的解码和码字元素的分割识别,将数据字符转换为位流,每8位一个码字,整体构成一个数据的码字序列。其实知道这个数据码字序列就知道了二维码的数据内容。现存的单片机识别流程如图3所示,主要由图像预处理、初步定位和目标提取三个模块组成,流程图3所示。
一般摄像头直接得出的二维码得出的是彩色的RGB图像,每个像素点矩阵都由R,G,B这三个800*800的颜色向量矩阵组成。为了单片机处理更简单,需要将图像灰度化,也就是使像素点矩阵中的元素都满足R=G=B,此时的颜色变量值称为灰度值。
灰度化常见的加权平均公式如下:
1)Gray=B;Gray=G;Gray=R;
2)Gray=max(B+G+B);
3)
4)Gray=0.072169B+0.715160G+0.212671R;
5)Gray=0.11B+0.59G+0.3R;
式中:R、G、B一分别为红、绿、蓝三个分量;Gray-灰度值结果。
二值化负责将灰度图转化为整体只有黑和白的效果,其中阈值的选取直接决定了图像效果。Sobel算子在边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪声。其模版大小为3X3,其将方向差分运算与局部加权平均相结合来提取边缘。在求取图像梯度之前,先进行加权平均,然后进行未分,加强了对噪声的一致。并且由于二维码较为复杂的图像边缘曲线在坐标.上表现出了较大投影值,经过处理后可以确定其在图像中的大概位置,从而提取出完整的二维码图像。
定位图案的查找对于二维码检测具有相当重要的意义,黑∶白∶黑∶白∶黑=1∶1∶3∶1∶1的特殊图形比例使其在掩模模式下也独一无二,因此可以通过三个定位图案的中心坐标确定条码是否旋转或旋转角。最后借助多个矫正图形和定位图标建立取样网络,将二维码转化为数据矩阵获取数据。
快速傅里叶变化(FFT)是将直接测量得到的原始信号从原始域(通常是时间或空间)转换到频域的表示或者逆过来转换的计算理论。音频处理中需要经过FFT处理的原因是,日常生活中的大部分信号都是复杂信号,难以通过时域中得到有效的特征值,但转化到频域时就可以看出其频率、相位和振幅等特征。
其主要原理在于任何连续测试的时域信号都可以表示为不同频率的正弦信号的无限叠加。而正弦波输入至线性系统,不会产生新的频率成分(非线性系统如变频器,就会产生新的频率成分,称为谐波)。用单位幅值的不同频率的正弦波输入至某线性系统,记录其输出正弦波的幅值和频率的关系,就得到该系统的幅频特性,记录输出正弦波的相位和频率的关系,就得到该系统的相频特性FFT会通过把DFT矩阵分解为稀疏(大多为零)因子之积来快速计算此类变换。
作为识别中的一环,单片机只能处理一些离散的有限长信号,而之所以使用FFT而不是DFT的原因在于,在计算机上处理的DFT所使用的的输入值是数字示波器通过ADC后采集得到的采样值,输入采样点的数量决定了转换的计算规模。变换后的频谱输出包含同样数量的采样点,但是其中有一半的值是冗余的,通常不会显示在频谱中,所以真正有用的信息是N/2+1个点。而FFT可以快速简化DFT的计算过程,如果计算DFT的复杂度是N2次运算(N代表输入采样点的数量),进行FFT的运算复杂度是Nlg10(N)。
经过FFT变换前后信号的对应关系如下:
假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍。而第一个点就是直流分量,它的模值就是直流分量的N倍。而每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量(即0Hz),而最后一个点N的再下一个点(实际上这个点是不存在的,这里是假设的第N+1个点,也可以看做是将第一个点分做两半分,另一半移到最后)则表示采样频率Fs,这中间被N-1个点平均分成N等份,每个点的频率依次增加。
某点n所表示的频率为:Fn=(n-1)*Fs/N。由上面的公式可以看出,Fn所能分辨到频率为为Fs/N,如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析精确到1Hz,如果采样2秒时间的信号并做FFT,则结果可以分析精确到0.5Hz。如果要提高频率分辨率,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。
变换之后的频谱的宽度与原始信号也存在一定的对应关系。根据Nyquist采样定理,FFT之后的频谱宽度最大只能是原始信号采样率的1/2,如果原始信号采样率是4GS/s,那么FFT之后的频宽最多只能是2GHz。时域信号采样周期的倒数,即采样率乘上一个固定的系数即是变换之后频谱的宽度,即Frequency Span=K*(1/△T),其中OT为采样周期,K值取决于在进行FFT之前是否对原始信号进行降采样(抽点),因为这样可以降低FFT的运算量。
经过FFT变化后,就可以得到频谱更宽、特征更清晰、分辨率更精确的音频。
1.3设计计算
1.3.1十二平均律的应用与计算
音高识别是本发明中最为重要的环节之一,频率决定音调的高低,而如何将具体的频率数值与不同的音阶联系起来也是一个重点。世界通用的十二平均律就是对单音之间相对音高进行判定的极佳工具,其将一个八度的音程按频率比例地分成十二等份,每一等份称为一半音小二度,每两等份为一大二度。十二平均律在连续变化的频率中取出离散的音,用以度为单位的音程表示两个音之间的频率差距。而音高每提高一个八度,频率就是之前的两倍。如果用频率f表示科学音调记号法中的A4(对应唱名为la),则在[f,2f]的区间内可以根据十二平均律分出十三个不同的单音(包括频率为f和2f的音)。如跨五个小二度的两个音,其频率计算式为:
式中:f0-参考音频率/Hz;f5-比参考音高五个小二度单音的频率/Hz。
根据以上理论,规定单音A4的频率为440.010Hz,则可以得出中间四个八度的音高与频率参照表,也是本发明中主要用到的频率范围,如表1所示:
表1音高与频率对照表
根据本表格可以设计出每个单音的检测大致范围,本系统取土5Hz的误差为可接受的误差范围。
1.3.2音高比对的计算
作品使用的音频格式主要为wav格式,而wav格式的文件主要包含RIFF、FORMAT和DATA三个区块,FORMAT区块包含音频文件的声道数、采样率、每秒数据字节数和采样存储的位数等信息,其中,为尽量提高采样精度,本发明采样率一般设定为44100Hz,而对声道的要求不高,设为单声道采集即可满足要求。DATA区块中的数据区是需要关注的重点,而本发明主要依靠快速傅立叶变换对音频进行识别与比对,wav格式的音频文件是实数,因此对采样得到的数据的虛部需要进行补零的预处理。
音高比对的部分主要应用了快速傅立叶变换的相关知识,而快速傅立叶变换的本质就是离散傅立叶变换。离散傅立叶变换的公式为:
式中:x-采样信号;N-信号点数;X-离散傅立叶变换后的频域信号;n-时域采样点的序列索引;k-频域值的索引。
而对快速傅立叶变换,它将含有X(n)(n=0,1,…,N-1)的系数部分拆分成奇数项和偶数项两个向量;
x[0]=[x(0),x(2),...,x(n-2)]T;
x[1]=[x(1),x(3),...,x(n-1)]T;
它们分别对应两个新的多项式X[0](x)和X[1](x)因此现在得到以下三个表达式:
X(a)=x0+x1a+x2a2+...+xn-1an-1;
因此可推出:
X(a)=X[0](a2)+aX[1](a2);
令:带入上式,又依据消去引理:
以及折半原理为:
推出:
根据以上以2为基的按时间抽取的FFT算法,让DFT算法的运算量减少了一半,有利于快速敏捷地完成从时域信号到频域信号的转换。而为了让相近的频率区分开,获得更好的识别性能,需要提高频率分辨率,可以从波形分辨率和FFT分辨率入手。波形分辨率由原始数据采样的时间长度决定:
式中:ΔRω-波形分辨率;T-原始数据时间。
而FFT分辨率由采样频率和参与FFT的数据点数决定:
式中:ΔRfft-FFT分辨率;Fs-采样率;N-数据点数;
如果让频域曲线显示地更加光滑,可以在时域末尾进行补零,相当于在频域中进行插值,然而波形分辨率最终决定着是否可以区分两个相近频率的信号分量,因此只依靠补零操作无法满足要求,还需要延长采样时间。为得到精确到1Hz的变换结果,应维持采样时间在ls左右。
1.4硬件框架
作品中以RZ/A2M为主控芯片,连接多种外设构成整个音准识别与回显提示的系统。外设包括两个显示屏,分别将扫描二维码时的实时画面和演奏时单音音高的识别结果与操作提示,为人机交互提供了良好环境;同时包括按键、麦克风、摄像头和SD卡存储设备等多种基本外部设备。其硬件框图如图2所示。
1.5软件流程
本发明软件方面的基本流程如下。软件总体分为二维码图像的识别部分以及音准识别的部分,运用到图像与声音处理两方面的技术。
如图4所示,首先是二维码识别的部分,主控芯片首先对FreeRTOS系统、摄像头和屏幕等外设进行初始化,将摄像头的图像以灰度模式进行输入,再于以HDMI线进行连接的屏幕上进行输出显示。接着在屏幕左上角对提示信息进行初始化,通过指定坐标的方式,在显示屏左上角回显现在是否识别到二维码。当摄像头接收到含有二维码的画面后,将其与二维码识别开源库zx ing进行解码,并取回解码内容,一方面在显示屏左上角进行回显,另-方面将其与曲库中已保存的乐谱标识数据进行比对。接着,软件调出对应的电子乐谱数据,再另一个交互界面专用的显示屏上进行提示数据的回显,提示用户可以开始练习了,并等待用户按下开始按键。到此开始进入第二个部分,即音准识别的部分。开始按键按下后,进入循环声音检测模块。首先显示当前应演奏的单音的唱名,方便初学用户的快速了解,再以1秒为间隔循环录音并识别用。
户所演奏的声音,经过滤波与快速傅立叶变换的处理,首先判断用户是否正在演奏或未对准话筒,声音过小,再与库中标准音高频率比对表进行对照,得到比对结果并在显示屏上进行实时提示:声音过小、音准准确、音调过高和音调过低四种情况,如果音准准确则进入下一个单音的判断,直到整个曲目结束,结束后进行完成练习的提示。整个软件系统具有较为明确的流程,同时能够达到实时检测的功能,且有较好的识别准确性。
1.6功能
识别检测二维码
用户正式开始练习前,本发明通过瑞萨RZ/A2M微处理器的摄像头模块进行图像识别,经扫描后智能识别二维码,通过读取二维码中的信息判断本次需要练习的乐谱。
检测单音的音准高低
用用户正式开始练习时,通过麦克风外设采集音频数据,同时本发明将从曲库中调出对应的乐谱数据,用于对用户弹奏的音准进行实时检测与校对。用户每弹奏一个音符,系统对应实时检测每个音符的音准高低。
将音准高低结果反馈给用户
通过显示该音的高、标准、低来提示用户此音符的弹奏是否准确以及指导练习者如何进行改正,如果音准准确则进入下一个单音的判断,直到整个曲目结束,结束后提示用户完成练习。
1.7指标
设计一个基于瑞萨RZ/A2M微处理器的智能音律校对系统;
设计体现实用性好,独立性强,功耗小等特点;
设计参数一一性能指标要求;音频文件的采样率为44100Hz;采样时间为ls;各单音的频率检测范围(误差土5Hz)。
下面结合实验对本发明的技术方案作进一步的描述。
1测试设备
智能音律校对助手包括几个部分:瑞萨RZ/A2M微处理器、HDMI接口屏幕1、摄像头、屏幕2、麦克风、按键、标准SD卡存储设备、标准SD卡座、库乐队APP。
本发明中以RZ/A2M为主控芯片,连接多种外设构成整个音准识别与回显提示的系统。外设包括两个显示屏,作用分别是显示扫描二维码的实时画面和显示演奏时单音音高的识别结果与操作提示,按键用于开始练习,麦克风采集用户练习的音符,摄像头用于识别二维码以及SD卡存储设备用于存储乐谱信息。
本发明主要使用库乐队APP模拟不同的乐器声音进行测试,库乐队APP是一款由苹果公司编写的数码音乐创作软件,其功能之一为模拟发出各种不同的乐器声音,此次便使用了库乐队APP模拟吉他、小提琴的乐器声音进行测试。
2测试环境搭建
为了验证该系统各部分能否正常运行,搭建系统试验整体结构,主要目的是通过模拟实际练琴环境来测试程序的正确性以及设备是否可以正常运行。测试环境的搭建以MATLAB平台为基础,对本次比赛的作品进行初步的调试与指标评判。测试环境经历了两次改版升级,首先,以普通脚本为载体,对每次识别到的演奏单音的频率在命令行窗口进行回显,并对结果进行评估,修改采样参数;第一次改版使用GUI设计工具,对界面进行初步规划并将软件代码修改成界面各个元素的回调函数的模式;第二次改版使用App Designer设计工具,对界面进行进步的美化与功能完善,并打包得到可以移植的exe文件,同时得到本发明的软件版本,测试环境的搭建旨在为本发明的改进提供思路和方向,同时收集不同的改进方案,提高作品的用户友好性和稳定性。最终测试环境以第二次整体改版的版本为主,测试环境的搭建注重测试用户的易用美观性、软件移植稳定性和音准识别准确性。
2.1易用美观性
首先,在易用美观性方面,界面元素以乐谱显示模块、进度条模块、提示显示窗口模块、钢琴动画提示模块和按键组组成进行风格优化后的界面。“演奏乐谱”区块会显示三部分内容,首先在二维码扫描时显示“加载中”动画。
再在演奏进程中显示对应乐谱,便于用户的查看参考,同时在乐谱下方显示实时音量块动画,运行状态所示,提高了界面的美观性,让不同年龄层的使用者都可以简单上手。进度条模块位于用户界面的分界处,对当前演奏进度进行标记,根据用户的演奏进度自动刷新,便于用户了解当前位置,同时也起到划分工作界面的作用。显示屏位于界面右上角,包括三色提示灯组与文字显示模块,提示灯根据演奏音准高低自动对应亮起,让用户更快接收到提示信息的同时,也可以让年轻用户不必阅读提示文字也可以进行操作。右下角钢琴动画界面不仅起到装饰作用,也可以让钢琴初学者在使用本测试环境的同时,对琴键对应的单音提高熟悉度。测试环境界面的美观易用为测试的顺利进行提供保障,同时也为本发明提供改进思路和方向。
2.2软件移植稳定性
为提高软件移植稳定性,需要能够对不同机器的文件夹位置进行自定义设置,因此在按键组模块加入了选项按键,并以弹窗的形式提供服务,保证了界面的美观。为保证设置方便,在每条选项后新增“浏览”按键,易于查看和更改。
2.3音准识别准确性
测试环境需要为音准识别准确性的测试做好准备,因此软件程序不仅会在显示屏区域显示单音的检测结果与声调高低匹配结果,同时也会在命令行窗口实时显示当前识别到的具体声音频率,便于测试数据的获取与测试结果。
3测试方案
3.1图像测试
图像方面的测试是通过摄像头识别多个二维码,当摄像头接收到含有二维码的画面后,将其与二维码识别开源库进行解码,取回解码内容并在显示屏左上角进行回显,由此测试二维码图像识别部分的准确性。
3.2循环声音检测模块测试
音频处理方面为测试循环声音检测模块,通过麦克风采集用户弹奏的音符,每个单音的采样时间为1s,采样率为44100Hz,主控芯片对此进行滤波与快速傅立叶变换处理,并与库中标准音高频率比对表进行对照,由此判断演奏的正误。该循环声音检测模块设有屏幕2,用来显示弹奏时每个音符的提示信息,因此,测试时需判断屏幕上显示的“声音过小”、“音准准确”、“音调过高”、“音调过低”四种情况是否为正确的情况,并且由于客观因素的不确定性,用户练习时不一定处于十分安静的环境,本测试方案还需增加噪声干扰测试以判断该模块的准确性。由于本发明的主要目标人群是弦乐初学者,而其中最主要的目标用户是小提琴初学者,因此检测音高在小提琴第一把位所涉及的范围内,即最高音为B2,因此所需要测试的最高音也为B2(唱名为si)。
据此判断标准,本发明测试时模拟了以下六种情况:
(1)“声音过小”测试
将本发明与用户弹奏地点之间的距离设为5米,同时将测试使用的库乐队APP发出的音量调至30%,观察弹奏时屏幕2是否显示“声音过小”。为确保实验的准确性与严谨性,该测试重复10次,距离分别设置为0.5米、1米、2米、3米、4米,每个固定的距离测试2次,音量分别为30%、50%,观察屏幕2显示的是否为“声音过小”。
(2)“音准准确”测试
开始练习后,扫描二维码识别乐谱进行弹奏,按照乐谱图中的音正确的弹奏整首曲谱,观察屏幕2显示的是否为“音准准确”。为确保实验的准确性与严谨性,该测试更换10首乐曲,依次进行检测。
(3)“音调过高”测试
开始练习后,扫描二维码识别乐谱进行弹奏,弹奏时使用比乐谱图中对应单音更高的音进行弹奏,观察屏幕2显示的是否为“音准过高”。为确保实验的准确性与严谨性,该测试将所有待检测的音都使用更高的音进行检测10次。
(4)“音调过低”测试
开始练习后,扫描二维码识别乐谱进行弹奏,弹奏时使用比乐谱图中对应单音更低的音进行弹奏,观察屏幕2显示的是否为“音准过低”。为确保实验的准确性与严谨性,该测试将所有待检测的音都使用更低的音检测10次。.
(5)噪声干扰测试
将本发明置于持续发出40-50分贝、60-70分贝、70-80分贝噪音的环境中进行测试,观察每个音检测出的准确性。
(6)单音频率范围测试
系统在宿舍封闭环境进行测试,采样率44100Hz,音频的一次实际录制时间设置为1s。根据十二平均律得知,每个音符都有着各自不同八度的标准频率,只需要将程序测试得出的频率数据与其对比即可。本测试中选择第五八度中的“Do、Re、Mi、Fa、So、La、Si”七个基本音符进行测试,使用弦乐演奏曲目,系统录入弦音后FFT计算得出测试,并与标准频率进行对比。
3.3测试数据与结果分析
3.3.1图像测试
通过摄像头识别10个二维码进行测试,结果均准确的在显示屏左上角进行回显。
3.3.2循环声音检测模块测试
(1)“声音过小”测试:
10次实验中,只有在本发明与用户弹奏地点之间的距离为3米,库乐队APP音量设置为30%;以及距离为4米,库乐队APP音量设置为30%的情况下显示“音量过小”,考虑到测试地点为封闭的场所,该测试结果在误差允许的范围内是准确的。
(2)“音准准确”测试:
用正确的音弹奏10首不同曲谱,均能准确识别。
(3)“音调过高”测试:
将所有待检测的音都使用更高的音检测10次,结果均显示“音调过高”。
(4)“音调过低”测试:
将所有待检测的音都使用更低的音检测10次,结果均显示“音调过低”。
(5)噪声干扰测试:
本发明置于40-50分贝以及50-60分贝的环境下仍能准确的识别单音,故在室外或较嘈杂的环境中,本发明能于60分贝以下的环境准确识别单音。
(6)单音频率范围测试:
测试结果将实测数据与标准数据频率差的绝对值显示在标准差一栏,计算误差率。如表2所示,标准音符的测试结果与标准频率差各有不同,最大频率差与最小频率差分别为1.727Hz和0.021Hz,所有音符的误差都小于0.3%,平均误差率为0.112%,误差很小。
表2第六八度的测试结果
为了进一步检测所设计的系统的有效性,另外选取第五八度的七个基本音符进行等条件的重复性试验测试,并计算平均误差率,如表3所示。
由表3可知,另外一个八度的平均误差均小于0.2%,最大误差为0.193%,最小误差为0.007%,平均误差为0.102%,,在十二平均律规定的相邻半音频率误差范围之内。
表3第五八度测试结果
测试结果证明,该系统可以有效地对演奏者的声音计时地进行计算分析,且误差较小。
本发明的调音系统在对现今市场上移动端的乐器辅助应用APP产品的调研基础上,从更好帮助弦类乐器初学者自我矫正学习的角度入手,结合二维码扫描识别入库乐谱的图像识别技术,动态实时监测练习者的指法及弹奏错误,有效解决线下陪练课耗时耗力的弊端,简化传统教学的步骤,体现了未来生活的趋势。以安卓以及IOS不同系统上开发较为成熟的弦类乐器辅助APP为例,该类APP产品的内容方向大体分为两类。一是以Finger和彼岸吉他等网课APP为主,这类APP的主要内容以用户社交和零基础网课,教学曲谱为主,依赖用户的自主练习性,但缺乏对个人的专业音准矫正训练。二是以solo和Guitartuna等调音软件为主,APP针对尤克里里,吉他等弦类乐器练习前的准备工作,即对不同弦的松紧矫音。
本发明结合初学者的普遍练习经验,创造性地发现了现有APP在辅助初学者功能的内容缺陷,即对乐谱练习过程中初学者弹奏的矫正。在初学者刚开始接触曲谱练习时,由于指板上没有音高的标记位,他们往往表现出对弹奏指法、音准记忆的不熟练,当出现弹奏失误时往往只能通过重复确认指板上的人为标记形成肌肉记忆。除此之外,传统弦乐练习中通过彩色显眼胶带或者修正液在指板.上进行标记的方法也存在着缺陷,一是标记的数量有限且容易脱落,二是会对乐器本身造成伤害。
根据以上调研结果,本发明提出了以下创新性方案:即允许用户使用二维码扫描入库乐谱,在显示乐谱的同时动态显示每个弹奏音的高低音准,以期避免传统练习记忆中的缺陷,为用户提供更好的自我练习体验。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:歌曲生成方法、装置、电子设备及存储介质