0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

IEEE电气电子工程师 来源:李倩 2018-11-29 11:46 次阅读

作为一个热爱音乐的孩子,我被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指示灯,当然,还有更好的声音。

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

    关注

    48

    文章

    6809

    浏览量

    147637
  • 处理器
    +关注

    关注

    68

    文章

    18275

    浏览量

    222164
  • 电路板
    +关注

    关注

    140

    文章

    4621

    浏览量

    92486

原文标题:TV-B-Gone发明人Mitch Altman是如何创建ArduTouch音乐合成器的?

文章出处:【微信号:IEEE_China,微信公众号:IEEE电气电子工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用 Arduino Nano 创建基于 DCO 的音频合成器

    在这个项目中,学习使用Arduino Nano或Arduino Uno创建数字控制振荡器或基于DCO的音频合成器。 我喜欢音乐,我也喜欢电子。 多年来,我一直在制造音乐电子设备,主要是
    的头像 发表于 05-03 16:03 1291次阅读
    使用 Arduino Nano <b class='flag-5'>创建</b>基于 DCO 的音频<b class='flag-5'>合成器</b>

    合成器

    1、使用反馈有一种设备与振荡器有关,.称为合成器。在一些情况下,从普通振荡器出来的正弦波不够完美。射频工程师发现如果振荡器与其它电路结合起来,利用反馈,可以使正弦波更完美,这就适合成器的功能:一个振
    发表于 12-06 14:06

    基于DDS的频率合成器设计介绍

    直接数字频率合成(DDS)在过去十年受到了频率合成器设计工程师极大的欢迎,它被认为是一种具有低相位噪声和优良杂散性能的灵活的频率源,基于DDS的频率合成器在许多应用中能比基于锁相环(PLL)频率
    发表于 07-08 07:26

    如何利用FPGA设计PLL频率合成器

    电子技术应用频率合成技术是现代通信的重要组成部分,它是将一个高稳定度和高准确度的基准频率经过四则运算,产生同样稳定度和准确度的任意频率。频率合成器是电子系统的心脏,是影响电子系统性能的关键因素之一
    发表于 07-30 07:55

    什么是频率合成器

      频率合成器是利用一个或多个基准频率,通过各种技术途径产生一系列的离散频率信号的设备。这些频率的稳定度和精度均和基准频率相同,而且频率的转换时间很短,这样才会有效率和实用价值。  频率合成器的实现
    发表于 08-19 19:18

    什么是PLL频率合成器?

    问:什么是PLL频率合成器?
    发表于 09-17 19:00

    锁相环频率合成器是什么原理?

    频率合成器的主要性能指标锁相环频率合成器原理锁相环频率合成器捕捉过程的分析与仿真
    发表于 04-22 06:27

    怎么设计出吉他合成器

    怎么设计出吉他合成器
    发表于 06-02 06:43

    音乐合成器电路图

    音乐合成器电路图
    发表于 04-09 09:40 1697次阅读
    <b class='flag-5'>音乐</b><b class='flag-5'>合成器</b>电路图

    频率合成器,频率合成器原理及作用是什么?

    频率合成器,频率合成器原理及作用是什么? 所谓的频率合成器,就是以一个精确度、稳定度极好的石英晶体振荡器作为基准频率,并利用加、减
    发表于 03-23 11:04 1.5w次阅读

    单环锁相频率合成器,单环锁相频率合成器是什么意思

    单环锁相频率合成器,单环锁相频率合成器是什么意思 频率合成的历史 频率合成器被人们喻为众多电子系统的“心脏”。现代战争是
    发表于 03-23 11:36 913次阅读

    集成锁相环频率合成器,什么是集成锁相环频率合成器

    集成锁相环频率合成器,什么是集成锁相环频率合成器 频率合成的历史 频率合成器被人们喻为众多电子系统
    发表于 03-23 11:45 777次阅读

    基于Arduino的频率合成器

    方案介绍该项目的主要目标是创建一个代码,允许无线电爱好者从菜单配置合成器,而无需为特定任务对其进行编程。合成器也可用于带频段切换的自制收发器。
    发表于 12-26 15:09 2次下载

    如何创建基于DCO的音频合成器

    在此项目中,学习使用 Arduino Nano 或 Arduino Uno 创建数控振荡器或基于 DCO 的音频合成器
    的头像 发表于 04-13 10:04 631次阅读

    如何制作一个音频合成器

    合成器电路是能够使用电子设备产生音频信号的电路。现代合成器现在非常流行,因为它提供了制作优质音乐的便利性。您可能已经看到一些类似的合成器电路,例如电子钢琴,MIDI发生器等。该电路可以
    的头像 发表于 05-13 11:29 1369次阅读
    如何制作一个音频<b class='flag-5'>合成器</b>?