Mitch Altman是如何创建ArduTouch音乐合成器的?

描述

作为一个热爱音乐的孩子,我被1968年问世的“时髦的巴赫”(Switched-On Bach)这张电子音乐专辑里的穆格合成器的声音震撼了。我需要学习如何制作这些声音!因此,当我进入科技行业时,便开始了学习和合成器制作的生涯。进入科技行业后,我发明了TV-B-Gone,这个钥匙扣样子的小工具可以让你关闭几乎任何型号的遥控电视。自从TV-B-Gone大受欢迎以来,我为世界各地的制作工坊发明了许多有趣的、开源的、可编程的硬件套件。在这些制作工坊里,新手们学习焊接,磨练他们焊接电子器件和微控制器的技术。记得在我年轻的时候,我想给他们提供一套易于组装和使用的工具,而这套工具还是一个功能齐全的音乐合成器。

结果是我发明了ArduTouch。ArduTouch的售价是30美元。这个项目将一个触控式键盘、一个ATMega328P(与Arduino Uno使用的处理器相同)和一个带扬声器的音频功放集成在了一块板子上。它还有一个软件库,可以作为进入数字信号处理世界的入口。

设计电路板的最大挑战是ATMega328P的输入/输出(I/O)引脚数量有限。我使用了12个I/O引脚作为合成器的触控式键盘,以提供完整的半音音阶。键盘的布局与老式Stylophone——我最喜欢的20世纪60年代后期的模拟合成器之一——相似,触控时感觉就像在触摸电容。还有2个I/O引脚用于输出立体声,2个引脚用于串行通信(ArduTouch可以使用标准的Arduino开发环境进行编程,但你需要使用一条FTDI电缆将其连接到主机)。其余的I/O引脚刚好够支持两个按钮和两个控制合成器的电位计。

为了让制作者在将套件焊接到一起后能够立即获得可听见的结果,我在板子上放了一个LM386功放芯片和扬声器。(当把插头插入音频输出插孔时,功放会被绕过。)数模转换器芯片价格昂贵,因此我使用脉冲宽度调制(PWM)对来自ATMega328P的立体声音频通道进行编码。每个通道配有一个由一个电阻和一个电容组成的低通滤波器,将PWM信号转换成音频。

经验丰富的设计师会认识到ArduTouch硬件很简单。该项目的核心是用于对ATMega328P进行编程的复杂的音频合成软件库。

实际上,用微控制器来产生基本的音乐音调是相当容易的。只需将扬声器连接到I/O引脚,然后将其打开和关闭以发出不同频率的方波就可以了(至少艾伦•图灵在Manchester Mark II计算机上都使用过这种技术)。但所能得到的是一种刺耳的声音,声音的丰富性远不及穆格合成器。

为了得到更好的声音,我需要转向数字音乐合成。这是一种创建音频波形的二进制表示,胡乱摆弄它们,然后将这些数字转换成模拟信号的行为。有许多不同的方法可以做到这一点,我很高兴地说ArduTouch支持相当多的技术,包括使用波形表(使用存储在内存中的数字音频样本)和生成式方法(动态计算音频)。

一旦创建了声音的基本二进制表示,“弄乱”的阶段就非常重要。除非你把声音弄乱,否则声音通常很薄且枯燥乏味。动态操作产生很酷的声音。ArduTouch可以数字化应用许多动态功能和效果,包括颤音、抑扬顿挫、滑音以及低通和高通滤波器等。

照片来源:Mitch Altman

焊接声音:ArduTouch需要相对较少的组件(上面三张图中中间那张图),它使用电容键盘来演奏音符(最上面的图)。它很简单,可以在教人们入门的工坊中(最下面的图)进行组装。

尽管上述所有内容在概念上都不难学习和理解,但编码却相当复杂。我和我的朋友Bill Alessi创建的ArduTouch库能做所有需要的低级计算,我们花了两年时间来编写该库。

该库在设计时充分考虑了灵活性,即使是没有经验的用户也可以安装新的合成器来制作不同的声音。一个结合了四种锯齿波形的名为Thick的合成器是预先安装好的,但还有其他五个“可预装”的合成器供下载使用。更高级的用户可以通过调用一些高级功能来学习如何从头开始创建自己的合成器。我希望那些喜欢这个项目的人会创建新的合成器并与我分享他们的代码,以便我可以与他人分享。

但即使使用默认的合成器,声音也非常适合这种低功耗微控制器(允许音频采样率仅为15千赫兹)和这种低成本的支持硬件。你可以在我的YouTube频道上看到很多视频演示。

对于这个项目的未来,我们将继续改进ArduTouch Arduino库并制作更多可预装的合成器。我还在制作一个更强大的适合现场公共演出的ArduTouch版本。它不是套件,但它仍然是与Arduino兼容的。它将拥有功能更强大的32位微控制器,带有大量I/O引脚、一个数模转换器、大的存储容量(这将允许MIDI)、一个小型LCD、几个按钮和电位计以及LED指示灯,当然,还有更好的声音。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分