基于FPGA的乐曲演奏器文献综述
2020-04-10 16:11:14
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,是高科技在音乐领域的一个代表,它是古典文化与现代文明的一个浓缩体。它不但可以帮助我们的音乐教师进行传统音乐文化的教育教学工作,而且由于它又具备现代音乐,特别是电子音乐、电脑音乐的基本结构、特征,因而使我们的教师在进行现代音乐、电子音乐、电脑音乐的教学时,更直接、更简便。基于当前市场上的电子琴价格较昂贵,很难大众化,而且市场上大多电子琴 靠硬件实现其功能,这样很难降低其成本,基于 EDA 技术的发展,我们可以利 VHDL 用软件实现电子琴的功能, 从而降低成本, 并且可以进行一定的功能扩展。系统可实现乐曲的演奏。考虑到输出信号是脉宽极窄的脉冲,可在输出端加占空比均衡电路和功放,以驱动扬声器。如要演奏其他乐曲,只需改变程序中的相关数值,无需改变程序结构。故程序具有可重用性,充分体现了VHDL 的灵活性。适用于此类实用设备的模拟仿真, 以并行和顺序的多种语句方式来描述在同一时 刻中所有可能发生的事情,因此可以认为,VHDL 具有描述由相关和不相关的多维时空组合的复合体系统的功能,因此要以多为并发的思路运用 VHDL 来完成 电子琴的程序设计。
当美国人制造的哈蒙德电风琴在全世界风靡一时之际,东方的日本却在默默地进行模仿研究,籍着新器件技术的发展,日本YAMAHA公司于1959年制造了世界上第一台双排键电子琴:D-1,并以electone作为注册商标。D-1实际上是哈蒙德琴的翻版,但由于采用先进的晶体管技术,内部电路和综合性能都有相当的进步。后来更发展出FS、ME、HS、EL等众多系列,确立YAMAHA的双排键电子琴霸主地位。1982年,YAMAHA公司推出了震惊世界的DX7,DX7型合成器是第一台小型数字式商业电子合成器,它不是象模拟合成器一样,用电压调制电子元件来发出声音,而是采用先进得多的技术:用数学的方法直接制造波形。它同样有震荡器、滤波器和放大器,只不过是通过数字控制而不是电压控制。在DX7的整个发声系统的末端,还加入了一个数字/模拟转换器,用它把合成器内部的数字信号转换成人耳能够听到的模拟信号。时至今日,随着电子技术的飞速发展,传统的手工设计不能满足微电子技术飞速发展对集成电路设计的要求,已经被先进的电子设计技术自动化技术(EDA技术)所取代。单片机等设计的电子琴已经不能在满足人们的需求,与其他硬件描述语言相比,VHDL设计的电子琴具有:功能强大、设计灵活、支持广泛、易于修改、强大的系统硬件描述能力、独立于器件的设计、易于共享等特点得到了业界的广泛应用。与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保障。
在设计编程的时候,最大的前提是处理好音名与频率的关系,这是编程的前提。乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间。由此可见,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素。 本设计的关键是要准确地产生音乐中各音符所对应的频率信号,并根据乐曲要求按节拍输出。本设计采用具有预置功能的可变模值计数器实现不同频率的信号输出。
音乐的十二平均率规定:每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。在两个八度音之间,又可分为十二个半音,每两个半音的频率比为。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1至高音1之间每个音名的频率,如表1所示。
由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若基准频率过低,则由于分频系数过小,四舍五入取整后的误差较大。若基准频率过高,虽然误码差变小,但分频结构将变大。实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下取合适的基准频率。本实验中选取4MHZ的基准频率。若无4MHz的时钟频率,则可以先分频得到4MHz或换一个新的基准频率。实际上,只要各个音名间的相对频率关系不变,C作1与D作1演奏出的音乐昕起来都不会”走调”。
简谱中音名与频率的关系如下图所示:
音名 |
频率(HZ) |
音名 |
频率(HZ) |
音名 |
频率(HZ) |
低音1 |
261.63 |
中音1 |
523.25 |
高音1 |
1046.50 |
低音2 |
293.67 |
中音2 |
587.33 |
高音2 |
1174.66 |
低音3 |
329.63 |
中音3 |
659.25 |
高音3 |
1318.51 |
低音4 |
349.23 |
中音4 |
698.46 |
高音4 |
1396.92 |
低音5 |
391.99 |
中音5 |
783.99 |
高音5 |
1567.98 |
低音6 |
440 |
中音6 |
880 |
高音6 |
1760 |
低音7 |
493.88 |
中音7 |
987.76 |
高音7 |
1975.52 |
参考文献:
[1]Voknei A.Pedroni.VHDL数字电路设计教程.电子工业出版社,2008.5
[2]潘松,黄继业.EDA技术实用教程.科学出版社,2005.2
[3]焦素敏.EDA应用技术.清华大学出版社,2002.4
[4]徐向民.数字系统设计及VHDL实践.机械工业出版社,
[5]谭会生,张昌凡.EDA技术及应用[M].西安:西安电子科技大学出版社,2004
[6]刘江海.EDA技术课程设计.华中科技大学出版社,2009.5
[7]高吉祥 数字系统与自动控制系统设计.2008
[8]黄智伟等.全国大学生电子设计竞赛系统设计2009
[9]姜雪松, 吴钰淳, 王鹰. VHDL设计实例与仿真.2007
[10]罗杰,康华光.两种硬件描述语言VHDL/Verilog的发展及其应用.电气电子教学学报, 2002,24(04):1-5
[11]潘国荣,谷川.BP算法改进及其在变形数据处理中的应用[J].同济大学学报,2008
[12]Principles Of Modern Digital Design [美]Parag K.lala.2007
[13]Circuit Design With VHDL佩德罗尼(Pedroni,V.A.).2007
[14]全国大学生电子设计竞赛培训系列教程北京航空航天大学出版社,2008
[15]高书莉,罗朝霞. 可编程逻辑设计技术及应用.人民邮电出版社.2004
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,是高科技在音乐领域的一个代表,它是古典文化与现代文明的一个浓缩体。它不但可以帮助我们的音乐教师进行传统音乐文化的教育教学工作,而且由于它又具备现代音乐,特别是电子音乐、电脑音乐的基本结构、特征,因而使我们的教师在进行现代音乐、电子音乐、电脑音乐的教学时,更直接、更简便。基于当前市场上的电子琴价格较昂贵,很难大众化,而且市场上大多电子琴 靠硬件实现其功能,这样很难降低其成本,基于 EDA 技术的发展,我们可以利 VHDL 用软件实现电子琴的功能, 从而降低成本, 并且可以进行一定的功能扩展。系统可实现乐曲的演奏。考虑到输出信号是脉宽极窄的脉冲,可在输出端加占空比均衡电路和功放,以驱动扬声器。如要演奏其他乐曲,只需改变程序中的相关数值,无需改变程序结构。故程序具有可重用性,充分体现了VHDL 的灵活性。适用于此类实用设备的模拟仿真, 以并行和顺序的多种语句方式来描述在同一时 刻中所有可能发生的事情,因此可以认为,VHDL 具有描述由相关和不相关的多维时空组合的复合体系统的功能,因此要以多为并发的思路运用 VHDL 来完成 电子琴的程序设计。
当美国人制造的哈蒙德电风琴在全世界风靡一时之际,东方的日本却在默默地进行模仿研究,籍着新器件技术的发展,日本YAMAHA公司于1959年制造了世界上第一台双排键电子琴:D-1,并以electone作为注册商标。D-1实际上是哈蒙德琴的翻版,但由于采用先进的晶体管技术,内部电路和综合性能都有相当的进步。后来更发展出FS、ME、HS、EL等众多系列,确立YAMAHA的双排键电子琴霸主地位。1982年,YAMAHA公司推出了震惊世界的DX7,DX7型合成器是第一台小型数字式商业电子合成器,它不是象模拟合成器一样,用电压调制电子元件来发出声音,而是采用先进得多的技术:用数学的方法直接制造波形。它同样有震荡器、滤波器和放大器,只不过是通过数字控制而不是电压控制。在DX7的整个发声系统的末端,还加入了一个数字/模拟转换器,用它把合成器内部的数字信号转换成人耳能够听到的模拟信号。时至今日,随着电子技术的飞速发展,传统的手工设计不能满足微电子技术飞速发展对集成电路设计的要求,已经被先进的电子设计技术自动化技术(EDA技术)所取代。单片机等设计的电子琴已经不能在满足人们的需求,与其他硬件描述语言相比,VHDL设计的电子琴具有:功能强大、设计灵活、支持广泛、易于修改、强大的系统硬件描述能力、独立于器件的设计、易于共享等特点得到了业界的广泛应用。与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保障。
在设计编程的时候,最大的前提是处理好音名与频率的关系,这是编程的前提。乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。而要准确地演奏出一首乐曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间。由此可见,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素。 本设计的关键是要准确地产生音乐中各音符所对应的频率信号,并根据乐曲要求按节拍输出。本设计采用具有预置功能的可变模值计数器实现不同频率的信号输出。
音乐的十二平均率规定:每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。在两个八度音之间,又可分为十二个半音,每两个半音的频率比为。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1至高音1之间每个音名的频率,如表1所示。
由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若基准频率过低,则由于分频系数过小,四舍五入取整后的误差较大。若基准频率过高,虽然误码差变小,但分频结构将变大。实际的设计应综合考虑两方面的因素,在尽量减小频率误差的前提下取合适的基准频率。本实验中选取4MHZ的基准频率。若无4MHz的时钟频率,则可以先分频得到4MHz或换一个新的基准频率。实际上,只要各个音名间的相对频率关系不变,C作1与D作1演奏出的音乐昕起来都不会”走调”。
简谱中音名与频率的关系如下图所示: