基于FPGA逻辑对电吉他多重音效处理系统的实现

基于FPGA逻辑对电吉他多重音效处理系统的实现,第1张

这一项目作品来自以色列特拉维夫大学的两名大四学生,基于Digilent与Avnet联合出品的Xilinx Zynq一代名板:ZedBoard实现。本质上,项目通过在FPGA器件上设计和部署音频处理算法,为电吉他实现了一套音频效果处理系统,并且实现了包括:失真音和过载音、八度音+颤音、颤音、延迟音四种音效。在音乐界,这样一套东西俗称为“综合效果器/踏板效果器”,嗯,大致是介个样子:
 

基于FPGA逻辑对电吉他多重音效处理系统的实现,第2张

相比于商业界传统的基于DSP/CPU技术的“电吉他综合效果器”,这一作品完全基于FPGA逻辑实现,借助FPGA天生并行的优势,将多个音频信道一起处理,从而提高实时性能——对标一些业界领先的商用踏板效果器所宣传的“几毫秒”延时,该作品的最大延时仅仅约为1ms。

系统原理功能

作品的简易框图如下:
 

基于FPGA逻辑对电吉他多重音效处理系统的实现,第3张

基于FPGA逻辑对电吉他多重音效处理系统的实现,第4张

上图黄色部分为作品实际用到的Zedboard板载硬件:系统通过Line-in端口与电吉他连接以接收音频,并通过Line-out端口将处理音效传送到放大器。板载的Zynq器件与音频解码器是整个系统的核心,其中Zynq的PL端的主要用来进行音频处理,以及产生不同的时钟并实现用户界面;ARM部分(PS端)则主要用来做一下辅助的框架搭建与支持工作。所有的编程通过JTAG USB端口实现;同时,作者利用了板载的按键与LED灯设计了一个简易的物理用户界面。
软件部分,作者使用Vivado 2016.2,全部手动基于VHDL硬件描述语言为音频信号路径,效果,用户界面和PS-PL交互创建了所有的IP blocks;PS端,作者使用Xilinx SDK 2016.2借助C语言编程,通过AXI功能读取/写入PL音频采样,并初始化板载音频编解码器。在VHDL代码部署之前,作者还使用了MATLAB来进行仿真并测试整个系统设计。
 

基于FPGA逻辑对电吉他多重音效处理系统的实现,第5张

图:效果链,以及每个效果的内部变化


 

基于FPGA逻辑对电吉他多重音效处理系统的实现,第6张

图:音频信号路径

基于FPGA逻辑对电吉他多重音效处理系统的实现,第7张

图:控制信号路径

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2629737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-11
下一篇 2022-08-11

发表评论

登录后才能评论

评论列表(0条)

保存