本发明属于音频流傅里叶分析领域,尤其是涉及一种基于windows平台的音频流傅里叶分析方法。
背景技术:
目前,基于各类系统和平台的声音采集一般使用普通话筒和麦克风进行模拟信号的采录、并进行数字信号的转换和转发,但是很少有人去分析声音的组成要素:比如频率(音调)、音色(音品)、振幅(响度)。
技术实现要素:
有鉴于此,本发明旨在提出一种基于windows平台的音频流傅里叶分析方法,基于windows平台和以c++开发语言为工具进行声音的采录和分析,根据设定的不同的采样位、采样速度、采样频率和变换数据点数,将数字信号进行傅里叶变换,将声音显示成为频谱图。
为达到上述目的,本发明的技术方案是这样实现的:
基于windows平台的音频流傅里叶分析方法,包括以下步骤:
s1、参数设置:通过界面设定不同的音频参数以及默认的音频通道来初始化可用的音频设备,音频设备准备完毕后进入待采数据状态;
s2、音频数据采集:音频设备采录音频流,并将接收到的音频流数据存储在缓存中,等待数据的转换和解析;
s3、音频数据转换:当指定的数据缓存中音频数据接收完毕并置位后,在子线程中进行音频流的数据傅里叶转换;
s4、频谱和波形的显示:经过傅里叶转换的音频流数据导入页面的点阵转换,根据幅度进行颜色置换,并基于时间维度进行整体的二维展示。
进一步的,在步骤s1中,所述音频参数包括采样率、采样位和采样速度。
进一步的,在步骤s2中,通过调用windowsapi从音频设备采录音频流。
相对于现有技术,本发明所述的基于windows平台的音频流傅里叶分析方法具有以下优势:
本发明所述的基于windows平台的音频流傅里叶分析方法,以windows平台和c++开发语言为工具进行声音的采录和分析,根据设定的不同的采样位、采样速度、采样频率和变换数据点数,将数字信号进行傅里叶变换,将声音显示成为频谱图,使分析人员可以直观的对声音数据进行采集并分析声音的频率和响度,为后续进一步深化研究提供参数。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的基于windows平台的音频流傅里叶分析方法关系图示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明中的具体含义。
下面将参考附图并结合实施例来详细说明本发明。
如图1所示,本发明主要基于windows硬件平台,使用c++语言工具进行音频信号的采录并将转换后的数字信号进行傅里叶转换,通过配置可以分别调节并设置不同的采样位、采样速度、采样频率和变换数据点数。
基于windows平台的音频流傅里叶分析方法,包括以下步骤:
s1、参数设置:通过界面设定不同的音频参数以及默认的音频通道来初始化可用的音频设备,音频设备准备完毕后进入待采数据状态;
s2、音频数据采集:音频设备采录音频流,并将接收到的音频流数据存储在缓存中,等待数据的转换和解析;
s3、音频数据转换:当指定的数据缓存中音频数据接收完毕并置位后,在子线程中进行音频流的数据傅里叶转换;
s4、频谱和波形的显示:经过傅里叶转换的音频流数据导入页面的点阵转换,根据幅度进行颜色置换,并基于时间维度进行整体的二维展示。
在步骤s1中,所述音频参数包括采样率、采样位和采样速度。
在步骤s2中,通过调用windowsapi从音频设备采录音频流。
本发明的具体实现如下:
首先,底层ptrrecorder模块以设置好的固定频率通过windowsapi接口获取声卡数字音频流数据并写入内存缓冲区,同时在记录带尾端为采样数据预留空间已将新的采样点数据拼接到前一段,初始化傅里叶变换缓存;紧接着ptrfft模块针对音频数据进行快速傅里叶变换,依据初始化的指数队列和增量值计算得到新的fft复数队列;最后,转换完毕之后painter模块根据转换结果分别绘制出连续的时域波形图和频谱图。
1、参数设置:
通过界面可以设定不同的采样率、采样位和采样速度,以及默认的音频通道来初始化可用的音频设备。音频设备准备完毕后进入待采数据状态;
2、音频数据采集:
调用windowsapi从音频设备采录音频流,并将接收到的音频流数据存储在缓存中,等待数据的转换和解析;
3、音频数据转换:
当指定的数据缓存中音频数据接收完毕并置位后,在子线程中进行音频流的数据傅里叶转换。
4、频谱和波形的显示:
经过傅里叶转换的音频流数据导入页面的点阵转换,根据幅度进行颜色置换,并基于时间维度进行整体的二维展示;
ptrfft存储基于时域的记录带的数据,并对上下限进行限定,绘制出时域波形图;
针对快速傅里叶转换后的复数队列进行频谱查表,取得对应的颜色值,并按照坐标定位进行时域绘制,得到频谱图。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.基于windows平台的音频流傅里叶分析方法,其特征在于包括以下步骤:
s1、参数设置:通过界面设定不同的音频参数以及默认的音频通道来初始化可用的音频设备,音频设备准备完毕后进入待采数据状态;
s2、音频数据采集:音频设备采录音频流,并将接收到的音频流数据存储在缓存中,等待数据的转换和解析;
s3、音频数据转换:当指定的数据缓存中音频数据接收完毕并置位后,在子线程中进行音频流的数据傅里叶转换;
s4、频谱和波形的显示:经过傅里叶转换的音频流数据导入页面的点阵转换,根据幅度进行颜色置换,并基于时间维度进行整体的二维展示。
2.根据权利要求1所述的基于windows平台的音频流傅里叶分析方法,其特征在于:在步骤s1中,所述音频参数包括采样率、采样位和采样速度。
3.根据权利要求1所述的基于windows平台的音频流傅里叶分析方法,其特征在于:在步骤s2中,通过调用windowsapi从音频设备采录音频流。