一种用于音乐教学的音频处理方法技术

技术编号:37982329 阅读:15 留言:0更新日期:2023-06-30 09:57
本发明专利技术提出一种用于音乐教学的音频处理方法,通过音频分析器、音频流数据处理模块、声纹图绘制模块、评分模块实现同步输出声纹图与音频数据的功能,评分模块用于从声纹图绘制模块所绘制的声纹图中获取乐谱并进行智能评分。本发明专利技术可以将采集到的语音流的声纹在前端页面上实时显示并对用户的音频进行打分,适用于在音乐教学中跟踪用户语音特征。在音乐教学中跟踪用户语音特征。在音乐教学中跟踪用户语音特征。

【技术实现步骤摘要】
一种用于音乐教学的音频处理方法


[0001]本专利技术属于可视化教学
,具体涉及一种用于音乐教学的音频处理方法。

技术介绍

[0002]在音乐教育领域,声纹显示和识别相关的技术具有很好的应用前景。尤其是当前在线教育的普及下,如何通过前端技术将用户的录音准确地、实时地显示成声纹图谱是现有技术中没有解决的问题。

技术实现思路

[0003]针对以上技术问题,本专利技术的一个方面提出一种用于音乐教学的音频处理方法,所述音频处理方法通过音频分析器、音频流数据处理模块、声纹图绘制模块、评分模块实现同步输出声纹图与音频数据的功能,所述评分模块用于从所述声纹图绘制模块获取声纹图信息并通过所述声纹图信息进行智能评分。
[0004]本专利技术另一方面还提供了一种用于音乐教学的装置,所述装置包括显示器、音频采集设备、音频渲染设备、一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行用于实现上述音频处理方法的所有步骤。
[0005]本专利技术的有益技术效果在于,可以同步输出音频和动态的声纹图,采集到的语音流的声纹在前端页面上实时显示并对用户的音频进行打分,适用于在音乐教学中跟踪用户语音特征。适合在线音乐学习场景。
附图说明
[0006]图1:一些实施方式的原理图;
[0007]图2:一些实施方式的声纹图;
[0008]图3:一种实施方式的方法流程图;
[0009]图4:一种实施方式的方法流程图;
[0010]图5:一个具体实施方式的装置示意图。
具体实施方式
[0011]首先对本专利技术设计的术语进行如下解释:
[0012]本专利技术的术语“声纹”,是一种携带语音信息和特征的声波频谱。通常,声纹中的数据包括但不限于基音频谱及包络、基音帧的能量、基音共振峰的出现频率及其轨迹等。每一个声音都具有独特的特征,通过该特征能将不同人的声音进行有效的区分。
[0013]Midi格式是Midi数据识别接口可以识读取的通用数据格式。
[0014]以下实施例进一步说明本专利技术的内容,但不应理解为对本专利技术的限制。在不背离本专利技术精神和实质的情况下,对本专利技术方法、步骤或条件所作的修改或替换,均属于本专利技术的范围。
[0015]一些实施方式如图1所示,所述音频处理方法通过音频分析器、音频流数据处理模块、声纹图绘制模块、评分模块实现同步输出声纹图与音频数据的功能,所述评分模块用于从所述声纹图绘制模块获取声纹图信息并通过所述声纹图信息进行智能评分。
[0016]术语“声纹图信息”包括用于绘制声纹图的所有必要信息和数据。
[0017]其中,音频流数据处理模块执行以下步骤:
[0018]录音开始后将音频采集设备采集的实时音频流保存为时域数组,将所述时域数组输出给所述音频分析器;
[0019]向音频渲染设备输出与所述声纹图同步的音频数据。
[0020]一些具体的实施方式的音频流数据处理模块,通过网页音频接口提供一个不会改变输入信号的音频分析对象,通过此对象可以提供实时频率及时间域分析的信息,进而可以获取声音数据并传递到页面上。
[0021]一些更具体的实施方式的音频流数据处理模块通过以下步骤实现:首创建一个音频分析对象,采样的缓冲区大小为4096,输入和输出都是单声道,将该分析对象与麦克风音频进行连接,创建用于存放声音数据的时域数组,该时域数组中的每个数据的最大值为256。频的每个数据占用一个字节,当音频无数据时,对应数组的值均为0。将音频分析对象连接到音频分析器进行频谱分析。
[0022]其中,音频分析器执行以下步骤:
[0023]获取所述时域数组并采用快速傅里叶分析方法对其进行频谱分析得到频域数组;
[0024]所述频域数组中的每个元素分别为不同音高的音频数据。
[0025]声纹图绘制模块执行以下步骤:
[0026]将所述时域数组按时间顺序分帧并读取每帧的频域数组中的音高;
[0027]调用画图功能的API的绘图工具将每帧的频域数组按照音高绘制每帧的声纹图。
[0028]在一些具体的实施方式中涉及的声纹图绘制模块所执行的步骤还包括:
[0029]调用绘画功能接口,获取画布的参数,包括画布的长度、宽度;
[0030]如下式I计算所述频域数组中的每个元素在画布中所占宽度:
[0031]sliceWidth=W
×
1.0/bufferLength
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式I
[0032]其中bufferLength为所述频域数组的长度,W为画布宽度,sliceWidth为每个元素在画布中所占宽度;
[0033]初始化起始绘制点在所述画布上的x轴向的刻度,并从该起始绘制点开始以所述每份数据宽度sliceWidth为步长依次计算各绘制点对应的x轴向的刻度;
[0034]由所述频域数据数组中的音高的值计算每个绘制点的y轴向的刻度,具体如下式II:
[0035]Y=(dataArray[i]/128.0)
×
H/2;i=0,1,2


ꢀꢀꢀꢀꢀꢀ
式II
[0036]其中,dataArray[i]为所述频域数组中的第i个元素的值,H为画布的高度,Y为当前绘制点的y轴向的刻度;
[0037]用直线将画布上的所有所述绘制点按x轴向依次连接,得到如图2的声纹图。
[0038]一些较具体的实施方式,音频流数据处理模块还被配置为:将所述实时音频流储存在采样缓冲区。
[0039]一些较具体的实施方式,评分模块从所述声纹图绘制模块所绘制的声纹图中获取
乐谱并进行智能评分的步骤具体包括如图3中的以下步骤:
[0040]S1从声纹图获取音频数据的音高midi值、时间戳、伴奏播放时间点、音量;
[0041]S2将音频数据的包括音高midi值、时间戳、伴奏播放时间点、音量保存为第一乐谱数据。
[0042]S3向服务器发送请求获取第二乐谱数据;
[0043]S4设置不同的时间偏移参数,并按照不同的时间偏移参数分别计算第一乐谱数据的时间戳;
[0044]S5对于每个时间戳的第一乐谱数据,计算其平均音高并将根据其平均音高与第二乐谱数据的音高的差值识别第一乐谱数据的音调偏差;
[0045]S6在不同时间戳的第一乐谱数据的评分结果中采用最高的评分结果,并对该评分结果进行如下式的补偿后输出最终得分:
[0046]y(x)=40+0.6x+0.6*(50/π)*sin((π*x/50)*(x

50))
[0047]其中,x为所述第一乐谱数据的评分结果中最高的评分结果,y为所述最终得分。
[0048]一些具体的实施方式的评分模块具体包括以下步骤:
[0049]对所述第一乐谱数据进行分段处理,分别比较每段所述第一乐谱数据的音高与所述第二本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于音乐教学的音频处理方法,其特征在于,所述音频处理方法通过音频分析器、音频流数据处理模块、声纹图绘制模块、评分模块实现同步输出声纹图与音频数据的功能,所述评分模块用于从所述声纹图绘制模块获取声纹图信息并通过所述声纹图信息进行智能评分。2.如权利要求1所述的音频处理方法,其特征在于,所述音频流数据处理模块执行以下步骤:录音开始后将音频采集设备采集的实时音频流保存为时域数组,将所述时域数组输出给所述音频分析器;向音频渲染设备输出与所述声纹图同步的音频数据。3.如权利要求2所述的音频处理方法,其特征在于,所述音频分析器执行以下步骤:获取所述时域数组并采用快速傅里叶分析方法对其进行频谱分析得到频域数组;所述频域数组中的每个元素分别为不同音高的音频数据。4.如权利要求3所述的音频处理方法,其特征在于,所述声纹图绘制模块执行以下步骤:将所述时域数组按时间顺序分帧并读取每帧的频域数组中的音高;调用画图功能的API的绘图工具将每帧的频域数组按照音高绘制每帧的声纹图。5.如权利要求4所述的音频处理方法,其特征在于,所述声纹图绘制模块执行的步骤还包括:如下式I计算所述频域数组中的每个元素在画布中所占宽度:sliceWidth=W
×
1.0/bufferLength
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式I其中bufferLength为所述频域数组的长度,W为画布宽度,sliceWidth为每个元素在画布中所占宽度;初始化起始绘制点在所述画布上的x轴向的刻度,并从该起始绘制点开始以所述每份数据宽度sliceWidth为步长依次计算各绘制点对应的x轴向的刻度;由所述频域数据数组中的音高的值计算每个绘制点的y轴向的刻度,具体如下式II:Y=(dataArray[i]/128.0)
×
H/2;i=0,1,2


ꢀꢀꢀꢀꢀꢀꢀ
式II其中,dataArray[i]为所述频域数组中的第i个元素的值,H为画布的高度,Y为当前绘制点的y轴向的刻度;用直线将画...

【专利技术属性】
技术研发人员:李现峰葛宏宇王超郭达
申请(专利权)人:北京金三惠科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1