嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

通过 BeagleBone Black 和 Bela 实现高级音频效果第 2 部分:为 Red Tin 搭建多效果模块

finished2_d753f4f2a3ecbf33ca930e247064de3908410675.jpg

设计和搭建外壳,连接旋钮和按钮线路以及调整 Bela 项目。

在本贴的第 1 部分中,我探索了 Bela cape 在 BeagleBone Black (125-2412) 上的应用潜力,尝试了一些不同的程序(代码项目)并感受了效果。现在我要将它用于 Red Tin

我找到了一个基于 BeagleBone Black 和 Bela 的吉他效果踏板示例,我认为这是开始尝试 DJ 效果装置的好方法。它具有多种声音效果,可通过按钮选择并调节参数。

由于它专为吉他设计,因此有的效果并不完全符合我的预期,但我希望可以通过编辑 Bela 程序来代替其他的程序。

我在 Bela 用户论坛上联系到了踏板的制作人,他向我提供了很多帮助。最近每次当我进行电子领域的新尝试时,总是有人不吝啬时间,慷慨地分享专业知识和经验,对此我非常感激。

机箱

prototype-bela-in-tin_1152826f9af10339559c3066f8837592646fd05d.jpg我在之前搭建的声音效果模块的基础上设计外壳。我知道它能装在我的工具箱中,但是由于 BeagleBone Black 和 Bela 组合占用的空间比 Adafruit Sound FX 处理器板大得多,同时还要安装 6 个电位器和 3 个按钮,这意味着空间会比较紧张。未来我还想添加一个用于指示正在运行的效果或用作电平表的 LED 灯条,因此需要留出空间。

bending21_e818d2fc1479cc0f615162ae857df85e5f5fa2dd.jpg

我以 MDF 为底,以一块透明的亚克力废料为盖制作了一个原型,以上材料均采用激光切割,盖子的侧面通过亚克力折弯机加热并弯曲成形。

prototype3_ef79b7145c459eaa37e299fbd423c577fc4ea057.jpg

当然,最终版本将使用红色亚克力。

接线

parts2_131cf1afe23e3176db2bc700a0f7421bec8ff58e.jpg

我组装了以下元器件:

  • 6 个 10k 电位器 (168-140)
  • 3 个瞬时微型按钮开关 (133-6473)
  • 6 个旋钮 (467-6689)
  • 6 个 470 Ω 电阻器 (707-7647) (无图)
  • 3 个 3.3 kΩ 电阻器 (125-1162) (无图)
  • 直角引脚管座,1 x 2.54mm 节距,36 路,1 排

图中还有一个 10 段 LED 显示光条 (246-5689) ,以及一些 470 Ω 总线电阻器,我打算以后安装这些元器件,用于显示已激活的效果。

jig1_ff59597dad823e0ccf652264de5119b55f92dbfa.jpg

我按照 Bela 论坛上一位名叫“ryjobil”的用户慷慨提供的吉他效果接线指南进行操作;在 ADC 参考引脚和接地之间安装 6 个 10k 电位器,并接线到 Bela 上的模拟输入通道 0-5。我在 5V 和模拟参考引脚之间连接了一个 470 Ω 电阻器,以补偿 10k 电位器所消耗的额外电流。

wiring_03ac8c5f136650eec40292a66277bd33bc656669.jpg

我将它焊接在夹具上,然后转移至外壳中。

接着,将瞬时型按钮开关连接在数字输入引脚和 3.3V 上,再将 3.3k 下拉电阻接地。然后将它们装入最新版的外壳中。side-view_273daa43727749d9b2622b49b8b804592771a598.jpg

我将直角引脚管座 (251-8654) 切割成合适的长度,然后将所有元器件连接到 Bela 模拟和数字输入端,直角设计可节省外壳中的空间。

我又添加了第 7 个电位器,但这时意识到它是用于哇音效果的旁通音量,而我不打算用到这一效果。因此尽管在有的图片上可以看到它,但是没有接线。尽管如此,由于以后会更新代码/项目,因此将来可能会有用。

然后我运行了快速测试以观察其工作情况,我可以从 Bela IDE 控制台的读数中看到开关和电位器的工作情况与预期一致。

修改脚本

editing-wah2_2d9eef55419a65482b64e2df5992a79062d38cfd.png

这时我应该指出,我的编码水平为略懂 HTML 5 和 Arduino,因此接下来是一个真正的初学者尝试修改原始程序的过程。

作为吉他踏板的 Bela 项目,有的效果我不打算使用。不同的效果可通过多次按下按钮进行浏览,因此我想删除不感兴趣的效果,并重新排列剩下的效果。

由于我不打算使用哇音效果,因此在开头部分使用以下“注释掉”:

#include "inductorwah.h"

Bela IDE 控制台的更新功能非常实用,它会显示因修改而破坏的程序细节。这意味着我可以系统地浏览程序,并注释掉无关行。由于主要的“render.cpp”已超过 2000 行,并且调用了许多其他程序,因此实时语法错误更新非常有用。

然后我又去掉延音,最终保留了 10 种效果选择。

该过程还有额外的好处,就是我开始了解项目的运行原理,例如哪些位是相互依赖的,以及它们是如何组合在一起的。

最终成品

 

finished3_d753f4f2a3ecbf33ca930e247064de3908410675.jpg

完成接线,将所有组件装入外壳中,并对主程序进行稍许修改之后,我用它测试了一些实际声音。我找到了一段吉他氛围循环音乐,将它作为声音源,然后开始滚动测试各种效果,过程如下:

  • 数字输入 0:滚动浏览 FX 列表,激活控制。(CONTROL_EFFECT_SWITCH)
  • 数字输入 1:切换激活效果的开启/旁通状态。(EFFECT_BYPASS_SWITCH)
  • 数字输入 2:滚动浏览效果的控制页,将电位器分配至不同的参数集。(CONTROL_CONTEXT_SWITCH)

我还不太确定按钮与输入之间如何分配,但是通过移动 Bela 管座上的引脚可以很容易地进行切换。

现在我可以随意选择 10 种效果,还能进行叠加,如此一来效果的排列开始变得有些混乱,但是从视频中已经能感受到此装置的潜力了。

未来研发

我可以制作一个不带无用的第 7 个拨盘的版本(并且将输入和输出标注正确方向!)。如上所述,我还打算添加 LED 指示灯一类的组件,以便查看正在运行哪种效果。在编码方面,由于我对它的工作原理有了更好的了解,因此希望能够尝试整合一些不同的效果。

 

通过 BeagleBone Black 和 Bela 实现高级音频效果第 1 部分:安装和运行

 

I have a background in the arts, environmental conservation and IT support. In my spare time I do a bit of DJing and I like making things.