实施方案
[0015] 以下结合实施例和附图对本发明作进一步说明。
[0016] 如图1所示为音乐彩灯控制器设计的基本流程框图。从音频文件中获得音乐的波形后,对波形信号进行短时分析,将信号分段处理,每一段信号称为一帧。每一帧的时长相等,长度为20 100ms。计算每一帧的能量和,通过一帧与其相邻几帧之间能量变化的比较,~判断这一帧信号所在的时间点是否为音乐的节拍点或者节奏周期端点。设第n帧信号的能量为En,一个较好的节拍点判别公式如下:
[0017]
[0018] 若En满足上式中的条件,则第n帧信号所在的时间点判定为一个节拍点。节奏周期不仅包含节拍点,还有节奏端点,端点是一个节奏周期结束或另一个节奏周期开始的时间点。一个较好的节奏周期端点判别公式如下:
[0019]
[0020] 若En满足上式中的条件,则将第n帧信号所在的时间点判定为一个节奏周期端点,此时一个节奏周期已经结束,下一个节奏周期即将开始。
[0021] 提取节拍点处的声音波形信号的短时能量、基频和各阶次的泛音频率分布,分别得到音强,音高和音色等声音的基本声学信息。对于得到的声学特征参数,通过图2所示的映射关系模型,转换为颜色参数。将颜色数据通过无线网络发送到彩灯节点,触发彩灯颜色变化。
[0022] 如图2所示为声音基本特性与彩灯色彩的映射关系示意图。首先将音强、音色和音高特征与HSV颜色空间建立映射关系,其中音强对应色调H,音色对应饱和度S,音高对应亮度V。音强用声波的振幅表征,音高用声音信号的基频表示,音色用声音信号不同阶次的泛音强度的差异来区分。声学特征参数转换为HSV颜色参数后,进行颜色空间转换,将HSV颜色参数转换为RGB数值。色调值H不能随便设置,要与声音音高参数联合考虑,一个较好的参考关系公式如下:
[0023]
[0024] 式中fm为这一帧信号的基音频率,fM为本实施例中设定基频最大值。利用人耳对低频段频率变化敏感、对高频段频率变化区分能力较弱的特性,将色调与频率之间变化关系设计为基频越低时色调变化随基频变化越明显,而基频越高色调随频率变化越平缓。如图3所示为声音基频与色调H的映射函数关系曲线。饱和度S与泛音频率分布情况需要联合考虑,一个比较好的参考关系如下:
[0025]
[0026] 式中A0为基音频率对应幅度。An为第n阶泛音频率对应幅度,不同阶次的泛音强度分布的差异,A0和An可通过信号的幅频特性分析得到。亮度值V需要与音乐的音强联合考虑,一个比较好的参考关系如下:
[0027]
[0028] 式中Amp为该段信号的振幅,振幅可以表征音强的大小。采用正弦关系可以使得声音音强变化时彩灯亮度在一定区间内变化较为明显,获得良好的变化效果。
[0029] 如图4所示为音乐彩灯控制器程序的信息流示意图。首先从MP3音频文件中,解码得到该音乐的PCM波形数据,保存到数据缓冲区,等待处理。缓冲区的PCM波形数据,需要做双重处理,一方面需要短时分析,对PCM波形信号分帧后获取每一帧信号的能量和频率信息并提取声学特征参数,通过图2所示的映射关系模型转换为颜色数据,并按时序保存。另一方面需要发送到播放器,通过音频设备播放。在音乐播放过程中,以短时信号的帧长为时间间隔,定时获取音乐播放进度,并通过节奏判断程序判断该时间点处是否为节奏周期中的节拍点或者端点,在节拍点所在的时间点,将彩灯颜色改变为该时间点处的帧信号映射得到的颜色。在节奏端点所在的时间点,只改变彩灯HSV颜色值中的V值,即只改变彩灯亮度。
[0030] 图5所示为本实施例中彩灯响应延时分析示意图。响应延时是指彩灯颜色变化进度与音乐播放进度之间存在的时间差,可能导致响应延时的因素包括信号采样统计与处理耗时,网络传输响应耗时,节点响应耗时和彩灯颜色渐变响应耗时。本实施例中可以将解码操作提前进行,以保证音乐播放过程中能及时得到当前播放进度对应的彩灯颜色数据。在音乐播放到某一帧所在时间点时,还需要将该时间点之后的几帧数据解码并处理得到所需的特征数据,用于节奏判断。在得到节奏点所在的时间信息后,根据总的延时情况提前一定时间发送相应的彩灯颜色数据,从而保证彩灯颜色变化与音乐节奏同步。