一种模拟音箱音色的方法
技术领域
本发明涉及一种乐器领域,具体的说,是一种模拟音箱音色的方法。
背景技术
电声吉他和原声吉他最大的不同是装有专门的拾音器,其内部由永磁体和线圈组成的,通过琴弦振动切割磁力线而产生与音频频率相同的电子信号。不过,这样得到的电子信号是很微弱的,如果直接把它接到扬声器上,根本无法变换成声波。只有将这些微弱的电流进行放大,才能够驱动扬声器实现电声转换,而担当这项工作的设备正是电声吉他音箱。吉他音箱由前级、后级和扬声器构成,演奏电吉他时产生的微弱信号进入前级,信号通过前级放大之后进入后级,后级进行功率放大,驱动扬声器发出声音,吉他音箱可以将吉他的原声进行修饰和放大,并制造出像失真、混响、延时、颤音、合唱、过载等多种音色,让吉他手的表演更加丰富。因此,对于一名吉他手来说,一台好音箱与一把好吉他同等重要,因为即使是一把再昂贵的电吉他,如果没有一台音箱的话,它就只能是个哑巴。电贝斯和电吉他结构和原理类似,同样也是需要经过贝斯音箱放大才能发声,因此贝斯音箱的原理与吉他音箱的原理也是类似的,故不重复叙述。
而一台好的音箱价格昂贵,对于希望获得多种其他音箱音色的乐手而言,成本无疑是很高的。而且,吉他音箱本身的失真音色在不同的音量下差异很大,不是单独增益gain、drive或者master就能得到满意的效果,有时候即使你不需要很大的音量,但是仍然不得不为了音色开大吉他音箱音量,此时对周围环境的影响较大,难免引起邻居不满。因此,对于没有足够好的吉他音箱或者有一个好吉他音箱但是需要多种其他音箱音色的人,或者自己练琴不能开很大音量而想得到吉他音箱特有的大音量下的饱满音色,或者受制于器材与房间特性即使有好的吉他音箱也没办法得到比较好的录音质量的人,这时候选择一个音箱模拟器就比较合适。音箱模拟器顾名思义,它能模拟出多种各种名贵音箱的音色,而且使用方便,没有音箱的笨重,因此音箱模拟器是一种相当不错的在有限资金下追求音色多样性与使用便捷的选择,且效果也不差。
而决定一个音箱音色的关键因素是失真和EQ特性,现有的音箱模拟器在模拟音箱音色时,多仅采用EQ拟合的原理,即首先找一个接近的源音色,使失真特性比较接近,然后通过分析找到一个EQ参数,使EQ特性接近,从而使源音色与目标音色声音更加接近,但是这种方式的效果有限,如果源音色与目标音色的失真特性不像,那模拟出来的结果也不会很接近。因为音色要接近不能只靠线性的调整EQ部分,还要同时调整非线性的失真部分。
发明内容
为解决现有技术中的缺点,本发明提供了一种模拟音箱音色的方法,不仅可以模拟决定音色的线性EQ部分,而且可以模拟非线性的失真部分,因此在模拟之前不需要寻找到接近的音箱音色,就可以对目标音箱进行模拟,且模拟出的音箱音色更加完整和相似。
本发明采用的技术方案为:一种模拟音箱音色的方法,主要适用于吉他和贝斯音箱,包括以下步骤:
自学习系统向目标音箱发送一连串由小到大的逐渐变化的测试信号,所述自学习系统接收目标音箱反馈的输出信号包络,分析获取目标音箱的饱和特征曲线;
所述自学习系统包括由第一滤波器、饱和特征曲线和第二滤波器组成的系统模型,该系统模型设置有滤波器参数F 1 (a 1 ,a 2 ,a 3 ,......,a m )和F 2 (b 1 ,b 2 ,b 3 ,......,b m ),其中m表示滤波器的阶数,自学习系统向目标音箱输入一串有大有小的信号,所述自学习系统接收目标音箱反馈的信号并分析频率响应特性,通过最优化方法辨识所对应的滤波器参数F 1 和F 2 ,使得由第一滤波器参数、饱和特征曲线和第二滤波器参数组成的系统模型频率响应曲线序列与目标音箱反馈的频率响应曲线序列差异最小化;
从而辨识出参数的第一滤波器、第二滤波器和饱和特征曲线对应目标音箱的一组音色。
所述最优化方法优选为粒子群算法,该算法辨识滤波器参数的步骤为:
Step 1,初始化粒子群,群体规模N,使每个粒子对应一组滤波器参数F 1 和F 2 ,则第k个粒子的位置X(k)={a 1 (k), a 2 (k),…, a m (k), b 1 (k), b 2 (k),…, b m (k)}和速度V(k)={V 1 (k), V 2 (k),…, V m (k), V m+1 (k), V m+2 (k),…, V 2m (k)};
Step 2,计算每个粒子的适应度值J=|S M1 -S AMP1 |+|S M2 -S AMP2 |+…+|S Mm -S AMPm |,S M 表示系统模型某一时间段的频率响应,S AMP 表示目标音箱某一时间段的频率响应,J表示自学习系统内由滤波器参数和饱和特征曲线组成的系统模型频率响应曲线序列与目标音箱反馈的频率响应曲线序列差值的范数,将J作为参数优化的目标函数,J越小,则系统建模精度越高,自学习系统模拟目标音箱的差异越小;
Step 3,对每个粒子,用它的适应度值J和个体极值P best 比较,P best ={P 1 (k), P 2 (k),…, P m (k)}如果J>P best ,则用J替换掉P best ;
Step 4,对每个粒子,用它的适应度值J和全局极值G best 比较,G best ={G 1 , G 2 ,…,G m },如果J>G best ,则用J替G best ;
Step 5,根据粒子更新的规则更新粒子的速度V(k)和位置X(k);
Step 6,如果满足结束条件(误差足够好或到达最大循环次数)退出,否则返回Step2。
所述Step 5中粒子更新的规则采用以下公式表示:
V(k+1)=wV(k)+c 1 r 1 (P best (k)-X(k))+c 2 r 2 (G best (k)-X(k)),
X(k+1)=X(k)+V(k+1),
其中,w为惯性权重;r 1 与r 2 是介于[0,1]之间两个独立的随机参数;c 1 与c 2 为学习因子,是非负常数;k=1,2,…,N;X∈[X max ,X min ];V∈[V max,V min];粒子取值范围与飞行速度的范围需要根据实际情况来选取。
所述滤波器为FIR滤波器或者IIR滤波器。
在模拟目标音箱的音色之前,以吉他音箱为例,将包含自学习系统的音箱模拟装置的输出连接到吉他音箱的输入上,将话筒对准吉他音箱的录音部分,并连接到音箱模拟装置的返回输入接口上,以便自学习系统可以发送并且接受信号。连接好音箱后,首先,自学习系统通过向目标音箱发送一连串由小到大的逐渐变化的测试信号,该测试信号可为复合正弦波或者白噪声,根据目标音箱反馈的输出信号包络,分析获取目标音箱的饱和特征曲线,从而获取目标音箱的失真特性。接着,自学习系统向目标音箱输入一串有大有小的信号,该信号可为复合正弦波或白噪声或扫频信号等,然后接收目标音箱反馈的信号并分析频率响应特性,通过最优化方法辨识相对应的滤波器参数,使得由第一滤波器参数、饱和特征曲线和第二滤波器参数组成的系统模型频率响应曲线序列与目标音箱反馈的频率响应曲线序列差异最小化,而获取目标音箱的线性EQ特性。从而辨识出参数的第一滤波器、第二滤波器和饱和特征曲线即对应目标音箱的一组音色。
因此,采用本发明的技术方案,其有益效果为:可模拟各种音箱的音色,不需要寻找源音箱作为模板,且模拟出的音色更加动态和完整。
附图说明
图1是本发明实施例的获取目标音箱饱和特征曲线的原理图。
图2是本发明实施例的获取目标音箱频率响应特性的原理图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步的详细说明。
一种模拟音箱音色的方法,主要适用于吉他和贝斯音箱,包括以下步骤:
如图1所示,自学习系统内的信号发生器向目标音箱发送一连串由小到大的逐渐变化的测试信号,该测试信号可为复合正弦波或者白噪声等,自学习系统接收目标音箱反馈的输出信号包络,该信号包络经过一滤波器后进入信号包络检测装置,通过该装置分析获取目标音箱的饱和特征曲线;
如图2所示,自学习系统还包括由第一滤波器、饱和特征曲线和第二滤波器组成的系统模型,该系统模型设置有滤波器参数F 1 (a 1 ,a 2 ,a 3 ,......,a m )和F 2 (b 1 ,b 2 ,b 3 ,......,b m ),其中m表示滤波器的阶数,自学习系统内的信号发生器向目标音箱和系统模型输入一串有大有小的信号,该信号可为复合正弦波、白噪声或者扫频信号等,自学习系统接收目标音箱反馈的信号并分析频率响应特性,通过粒子群算法模块(即最优化方法)辨识所对应的滤波器参数F 1 和F 2 ,使得由第一滤波器参数、饱和特征曲线和第二滤波器参数组成的系统模型频率响应曲线序列与目标音箱反馈的频率响应曲线序列差异最小化;
从而辨识出参数的第一滤波器、第二滤波器和饱和特征曲线对应目标音箱的一组音色。
其中最优化方法包括很多,本实施例中优选为粒子群算法,该算法辨识滤波器参数的步骤为:
Step 1,初始化粒子群,群体规模N,使每个粒子对应一组滤波器参数F 1 和F 2 ,则第k个粒子的位置X(k)={a 1 (k), a 2 (k),…, a m (k), b 1 (k), b 2 (k),…, b m (k)}和速度V(k)={V 1 (k), V 2 (k),…, V m (k), V m+1 (k), V m+2 (k),…, V 2m (k)};
Step 2,计算每个粒子的适应度值J=|S M1 -S AMP1 |+|S M2 -S AMP2 |+…+|S Mm -S AMPm |,S M 表示系统模型某一时间段的频率响应,S AMP 表示目标音箱某一时间段的频率响应,J表示自学习系统内由滤波器参数和饱和特征曲线组成的系统模型频率响应曲线序列与目标音箱反馈的频率响应曲线序列差值的范数,将J作为参数优化的目标函数,J越小,则系统建模精度越高,自学习系统模拟目标音箱的差异越小;
Step 3,对每个粒子,用它的适应度值J和个体极值P best 比较,P best ={P 1 (k), P 2 (k),…, P m (k)},如果J>P best ,则用J替换掉P best ;
Step 4,对每个粒子,用它的适应度值J和全局极值G best 比较,G best ={G 1 , G 2 ,…,G m },如果J>G best ,则用J替G best ;
Step 5,根据粒子更新的规则更新粒子的速度V(k)和位置X(k);
Step 6,如果满足结束条件(误差足够好或到达最大循环次数)退出,否则返回Step2。
所述Step 5中粒子更新的规则采用以下公式表示:
V(k+1)=wV(k)+c 1 r 1 (P best (k)-X(k))+c 2 r 2 (G best (k)-X(k)),
X(k+1)=X(k)+V(k+1),
其中,w为惯性权重;r 1 与r 2 是介于[0,1]之间两个独立的随机参数;c 1 与c 2 为学习因子,是非负常数;k=1,2,…,N;X∈[X max ,X min ];V∈[V max,V min];粒子取值范围与飞行速度的范围需要根据实际情况来选取。
所述滤波器为FIR滤波器或者IIR滤波器。
在模拟目标音箱的音色之前,以吉他音箱为例,将包含自学习系统的音箱模拟装置的输出连接到吉他音箱的输入上,将话筒对准吉他音箱的录音部分,并连接到音箱模拟装置的返回输入接口上,以便自学习系统可以发送并且接受信号。连接好音箱后,首先,自学习系统通过向目标音箱发送一连串由小到大的逐渐变化的测试信号,该测试信号可为复合正弦波或者白噪声,根据目标音箱反馈的输出信号包络,分析获取目标音箱的饱和特征曲线,从而获取目标音箱的失真特性。接着,自学习系统向目标音箱输入一串有大有小的信号,该信号可为复合正弦波或白噪声或扫频信号等,然后接收目标音箱反馈的信号并分析频率响应特性,通过最优化方法辨识相对应的滤波器参数,使得由第一滤波器参数、饱和特征曲线和第二滤波器参数组成的系统模型频率响应曲线序列与目标音箱反馈的频率响应曲线序列差异最小化,而获取目标音箱的线性EQ特性。从而辨识出参数的第一滤波器、第二滤波器和饱和特征曲线即对应目标音箱的一组音色。
上述实施例仅为本发明的优选方案,并非作为对本发明的进一步限定,不能以此来限制本发明的保护范围,凡是根据本发明精神实质所作的等效变化或修饰,均应涵盖在本发明的保护范围内。