本实用新型涉及音频信号处理技术领域,尤其涉及一种数字混响器。
背景技术:
在室内混响效果设计中,为了达到最好的混响效果,传统的方式是依赖建筑声学手段来实现。当混响效果要求不一样时,很难在某一个固定的建筑内同时满足这些要求。传统的解决办法是通过在室内布置不同吸声系数的反射板,采用可升降的吊顶以改变室内空间。很明显,这些方法很麻烦而且无法每次搭建出相同的混响环境。
近年来,混响器的不断发展,已经出现了多种系列,供各种专业和非专业的音乐制作人及各种流派的摇滚乐队选用。实际上,已经形成产品的混响器大部分都是国外研发的,国内在这方面还有所欠缺。数字音效的研究涉及电声学、心理声学、音乐声学、计算机技术和数字信号处理技术等多学科知识,国外的的数字音效产品一般都把数字音效的核心算法加密固化在DSP芯片内部ROM中。国内对于数字音效的研究尚处于起步阶段,没有成熟的产品。
技术实现要素:
本实用新型涉及了一种现场可编程门阵列FPGA中的数字混响器,该数字混响器具备混响模块,混响模块包括梳状滤波器和全通滤波器,梳状滤波器和全通滤波器产生湿信号,湿信号与干信号进行迭加形成混响模型。
优选地,本实用新型涉及的数字混响器,混响模块包括运算模块,该运算模块包括乘法器和加法器,完成抽头延迟线功能,实现混响模块中100阶抽头延迟线,得到的结果直接输出到后续处理模块。
混响模块的延时单元为所述FPGA的内部M9k或外部存储器。
运算模块以分时复用方式共用一个乘法器和加法器。
优选地,本实用新型涉及的数字混响器,混响模块包括延迟模块、输入模块、衰变模块、湿音模块、混音模块及定点转浮点和浮点转定点两个子模块:延迟模块将输入的左、右声道音频数据相加再乘以增益,得到的结果送入到所述输入模块;输入模块包含1个梳状滤波器和4个全通滤波器,得到的信号输出到所述衰变模块;衰变模块分为两个相同的模块设置在左、右声道,各包括2个全通滤波器、2个缓存和1个梳状滤波器,全通滤波器与梳状滤波器共用浮点乘法器和浮点加法器;湿音模块完成将衰变模块中输出的数据做加权处理后得到左、右声道的湿信号;湿音模块包括浮点乘法器和浮点加法器。混音模块完成湿信号与干信号的混合。
优选地,本实用新型涉及的数字混响器,该混响模块包括延迟模块、运算模块、接入模块和混音模块:延迟模块完成抽头延迟线功能,实现算法中100阶抽头延迟线;运算模块包括8个梳状滤波器,分为左右两组设置在左右声道,完成乘、加运算,得到的信号输出到所述的接入模块;接入模块包括8个全通滤波器和2个低通滤波器,分为左右两组设置在左右声道,其中,低通滤波器与所述运算模块的梳状滤波器共用浮点乘法器和浮点加法器;混音模块完成湿信号与干信号的混合。
运算模块采用时分复用方式实现8个梳状滤波器的计算。
接入模块中的低通滤波器为二阶IIR滤波器。
本实用新型涉及的一种现场可编程门阵列FPGA中的数字混响器,采用数字音频处理技术,通过软件编程实现在任何时间任何地点享受音乐厅演奏音乐的效果。利用具备DSP处理能力的FPGA芯片实现数字混响器,充分扩展了DSP在音频处理的应用,而且提升了传统DSP芯片的并行处理能力。
附图说明
下面参考附图描述本实用新型实施例,附图为了说明本实用新型实施例而不是为了限制本实用新型的目的。附图中,
图1为实施例一的混响模型湿音算法框图;
图2为实施例一的混响模块框图;
图3为实施例二的混响模型的湿音算法框图;
图4为实施例二的混响模块框图;
图5为实施例三的混响模型湿音算法框图;
图6为实施例三的混响模块框图。
具体实施方式
本实用新型的具体实施方式用来具体说明本实用新型,但并不局限于具体实施方式的实施例。
本实用新型涉及了一种现场可编程门阵列FPGA中的数字混响器,该数字混响器具备混响模块,混响模块包括梳状滤波器和全通滤波器,梳状滤波器和全通滤波器产生湿信号,湿信号与干信号进行迭加形成混响模型。
【实施例一】
实施例一模拟一个声音从声源发出,在某一距离碰到坚硬的表面被弹回去,然后经过足够长的一段时间返回听觉器官,这时听到的是与原来声音分开的重复。通过调整混响中的回响音量与延时两个参数模拟产生不同的听音环境。
图1为实施例一的混响模型湿音算法框图;
图2为实施例一的混响模块框图。
混响模块实现混响效果的原理为通过梳状滤波器、全通滤波器来产生湿信号,与干信号按一定规则进行迭加。其湿音算法框图如图1所示。图1中,X(n)为输入的干信号,yL(n)为左声道输出信号,yR(n)为右声道输出信号。
混响模块包括运算模块,如图2所示。
运算模块完成图1中抽头延迟线功能,实现算法中100阶抽头延迟线。运算模块完成混响计算,得到的结果可以直接输出或送入到后续处理模块。
运算模块中只关心计算,图1中的延时单元由内部M9k或外部存储器来实现。运算模块只有乘加运算,为节省乘法器和加法器,模块采用分时复用方式共用一个乘法器和加法器来完成计算。
使用现场可编程门阵列FPGA的cyclone IV系列芯片EP4CE11529C7编译混响模块。
混响模块计算时延为28个工作时钟周期即560ns。
【实施例二】
实施例二模拟各种金属板及木板的效果,具有较高的初始扩散和明亮度,有染色的金属声和明亮清脆的感觉。适用于人声、钢管乐器及流行音乐中的打击乐。通过调整混响中预延时、带宽、衰减变量等参数模拟出不同的听音环境。
图3为实施例二的混响模型的湿音算法框图。
混响模块实现混响效果的原理为通过梳状滤波器、全通滤波器来产生湿信号,与干信号按一定规则进行迭加,其算法框图如3图所示。
图4为实施例二的混响模块框图。
如图4所示,混响模块包括混响模块包括延迟模块、输入模块、衰变模块、湿音模块、混音模块及定点转浮点和浮点转定点两个子模块。图3中的1为延迟模块的湿音算法,2为输入模块湿音算法,3为衰变模块湿音算法。
延迟模块完成图3中预延迟功能,实现算法中指定时长的延时,如图3中延迟模块的湿音算法1所示。
模块中的数据为单精度32位格式,直接例化altera的altsyncram来实现。延迟模块计算时延为1个工作时钟周期即20ns。
输入模块完成图3中预延迟后到输入扩散之间的计算功能,包含1个梳状滤波器和4个全通滤波器。得到的信号输出到下一级,如图3中输入模块湿音算法2所示。
从图3中可知,输入模块主要包括梳状滤波器和全通滤波器,主要是乘、加运算,因浮点乘法器、加法器占用硬件资源较多,因此考虑将这1个梳状滤波器和4个全通滤波器中所用到的乘法器、加法器复用,而图中的延时单元则与延迟模块相同,采用altsyncram来实现。
输入模块计算时延为114个工作时钟周期即1.28us。
衰变模块完成图3中衰变扩散的计算功能,由于左、右声道处理基本相同,考虑模块化设计,将其分为两个相同的模块,分别为左、右衰变模块。
从图3中可知,每个衰变模块包含2个全通滤波器、2个缓存和1个梳状滤波器,其中全通滤波器与梳状滤波器共用浮点乘法器和浮点加法器,如图3中衰变模块湿音算法3所示。
衰变模块计算时延为94个工作时钟周期即1.84us。
湿音模块完成将从衰变模块中取得的数据做加权处理后得到左、右声道的湿信号。
湿音模块主要是实现乘加,考虑数据接口因素及模块化,采用浮点来实现。采用时分复用方式完成上面的计算所用到的浮点加法器与浮点乘法器。
湿音模块计算时延为37个工作时钟周期即0.24us。
使用现场可编程门阵列FPGA的cyclone IV系列芯片EP4CE11529C7编译混响模块。
将5个模块中的处理时延相加,得到混响模块计算时延为245个工作时钟周期即4.9us。
【实施例三】
实施例三模拟各种大、中、小型音乐厅的空气吸声特性效果,具有相当低的初始回声密度,密度随时间增加逐渐建立,有心旷神怡的感觉。适用于古典音乐及其它需润色的音乐。通过调整混响中延时、带宽、衰减变量等参数模拟出不同的听音环境。
图5为实施例三的混响模型的湿音算法框图。
混响模块实现混响效果的原理为通过梳状滤波器、全通滤波器来产生湿信号,与干信号按一定规则进行迭加。其湿音算法框图如图5所示。
图6为实施例三的混响模块框图。
混响模块包括延迟模块、运算模块、接入模块和混音模块。混响模块框图如图6所示。
图5中的延迟模块tdl完成100阶的抽头延迟线的计算,得到的结果送入到后续处理模块。
模块中的数据为单精度32位格式,直接例化altera的altsyncram来实现。
延时模块计算时延为434个工作时钟周期即8680ns。
如图5所示,运算模块实现左右两组梳状滤波器计算,每组有4个梳状滤波器,左运算模包括梳状滤波器comb1、梳状滤波器comb2、梳状滤波器comb3和梳状滤波器comb4,右运算模块包括梳状滤波器comb5、梳状滤波器comb6、梳状滤波器comb7和梳状滤波器comb8,得到的信号输出到接入模块。
运算模块采用时分复用方式实现8个梳状滤波器的计算,主要是乘、加运算,因浮点乘法器、加法器占用硬件资源较多,因此考虑将这8个梳状滤波器中所用到的乘法器、加法器复用,而延时单元则与延迟模块一样采用altsyncram来实现。
运算模块计算时延为40个工作时钟周期即0.8us。
由于左、右声道处理基本相同,考虑模块化设计,将接入模块分为两个相同的模块,分别为左、右接入模块。
如图5所示,接入模块包含左、右两个模块,分别包括4个全通滤波器和1个低通滤波器,左接入模块包括全通滤波器AP1、全通滤波器AP2、全通滤波器AP3、全通滤波器AP4和低通滤波器LP1,右接入模块包括全通滤波器AP5、全通滤波器AP6、全通滤波器AP7、全通滤波器AP8和低通滤波器LP2,其中低通滤波器与运算模块中的梳状滤波器共用浮点乘法器和浮点加法器。
接入模块计算时延为230个工作时钟周期即4.6us。
混音模块实现干音与湿音的混合。混音模块主要为乘加运算。
混音模块计算时延为41个工作时钟周期即820ns。
混响模块将上述延迟模块、运算模块、接入模块和混音模块进行例化。
使用现场可编程门阵列FPGA的cyclone IV系列芯片EP4CE11529C7编译混响模块。
将5个模块中的处理时延相加,得到混响模块计算时延为745个工作时钟周期即14.9us。