关于ZAKER 合作 加入

自己动手 DIY 3D 手势感应 USB MIDI 控制器

青果飞扬 05-29

分类标签:玩转 DIY

在过去十年左右的时间里,越来越多的消费产品和传感器被推向市场,允许 3D 手势和运动跟踪来控制计算机,游戏机和其他电子设备。这些包括基于相机的设备,如 Microsoft Xbox Kinect 或 Leap Motion Controller; 基于加速度计 / 陀螺仪的设备,如 Nintendo Wii Remote 或 Apple iPhone,以及全新的设备,如基于 EMG 的 Thalmic Labs Myo 臂带或 Google 提供的基于 Radar 的 Project Soli 传感器。

这些设备中的大多数都可用于控制音乐软件,诸如用于 Leap Motion 控制器的Geco MIDI或用于 Myo 的Leviathan等。应用程序允许将这些设备转换为富有表现力的手势和动作感应 MIDI / OSC 控制器,还有一些专门设计的基于手势的音乐控制器,如 mi.mu 手套,Percussa Audiocubes 或 Source Audio Hot Hand。

与之相配套的Pi Supply Flick系列传感器板可以检测七种不同的特定手势,以及 15cm 范围内的 3D XYZ 跟踪信号,还提供 15 种不同类型的触摸感应控制。虽然大多数 Flick 板设计用于连接 Raspberry Pi 板,但有一个独立的 Flick 板可以连接到任何其他支持 I2C 的微控制器或微处理器,如 Arduino,Teensy 或 BeagleBone。

在本教程中,将展示如何与 Teensy 微控制器一起构建基于 Flick 的 3D 手势和跟踪 USB-MIDI 控制器。

在我看来,Teensy 是建立 USB-MIDI 控制器的最佳平台,因为它价格低廉,易于使用,而且灵活性高。虽然 Flick 传感器板不像某些现有的手势和跟踪设备那样先进或功能齐全,但是以下优势仍是采用 Flick 和 Teensy 构建 DIY 设备的充足理由:

Flick 传感器板价格在 25-40 美元之间,而经济实惠的 Teensy LC 板价格不到 12 美元。

它是一个符合类 USB-MIDI 的设备,这意味着它可以与任何支持 MIDI 的操作系统一起使用,包括 iOS 和 Android。

与 Leap Motion Controller 或 Myo 不同,它不需要运行任何中间件软件。

所有手势感应处理都在传感器芯片上完成,而不用借助与其连接的计算机 / 设备。

DIY 开始之前,你需要准备以下材料

Teensy LC你可以使用 Teensy 3.2,3.5 或 3.6;Flick Large Standalone传感器板(以及随附的母对公跳线)

辅助材料:无焊面包板、USB Micro-B 线

软件部分:Arduino IDETeensyduinoSkywriter Arduino 的程序代码

DIY 步骤

第 1 步 连接到 Teensy

首先将面包板水平放置,将 Teensy 放在面包板的中间隔板上,然后将跨接电缆的母侧连接到 Flick 板下侧的引脚上,左边是灰色的线,右边是棕色的线。最后,使用以下引脚连接将跳线的公侧连接到 Teensy。引脚定义如下表:

第 2 步 安装软件

开发 Teensy 之前,需要下载并安装以下两个软件:

Arduino 的应用

Teensyduino Arduino 的附加软件

安装完成后,你需要额外安装一个 Arduino 库,允许 Flick 传感器板与 Teensy 板通信。从这里下载库,并通过将 'arduino / Skywriter' 文件夹放入计算机上的 'Arduino / libraries' 文件夹(通常位于 Applications / Programs 目录中)进行安装。

第 3 步 编写和编译代码

安装完所有软件后,请执行以下步骤:

1. 通过 USB 电缆将 Teensy 板连接到计算机。如果它是全新的 Teensy,则板载 LED 会闪烁。

2. 启动 Arduino 应用程序。

3. 转到文件 – >新建以打开一个新的 Arduino 项目。

4. 编写代码,用此代码替换 Arduino 文本编辑器中的所有文本。

5. 转到工具 – >板,然后选择您正在使用的特定 Teensy 板。如果你找不到 Teensy 板部分,请返回并确保正确安装了 Teensyduino。

6. 转到工具 – > USB 类型,然后选择 "MIDI"。

7. 编译代码 – 转到草图 – >验证 / 编译,或者只需单击 Arduino 工具栏上的勾选图标。

8. 如果底部的控制台窗格中没有出现错误,则应弹出 Teensy 软件窗口。如果没有发生这种情况并且出现错误,请返回第 1 点并再次按照说明进行操作。

9. 如 Teensy 软件窗口中所述,按 Teensy 板上的按钮使其进入程序模式,LED 不应再闪烁。

10. 将代码上传到 Teensy 板 – 在 Arduino 软件中,转到 Sketch – > Upload,或者单击 Arduino 工具栏上的箭头图标。

11. 如果上传成功,Teensy 软件将显示一个进度条,然后显示 "Reboot OK",并且 Arduino 控制台窗格中不会出现任何错误。

第 4 步 测试和使用 3D 手势 MIDI 控制器

打开你的 DAW / MIDI 软件,并连接到名为 "Teensy MIDI" 的 MIDI 设备(或类似的东西),按以下方式使用:

控制器有两种模式:" 手势 " 模式和 " 跟踪 " 模式。要在它们之间切换,请触摸 Flick 传感器的底部面板。

如果 Flick 板 LED 为红色,则表示处于 ' 手势 ' 模式。本模式可以执行七种不同的手势,每种手势都会发送不同的 MIDI CC 消息:

" 投掷 " 手势 – 发送 CC 101

从西向东轻弹 – 发送 CC 102

从东向西轻弹 – 发送 CC 103

从南向北飞 – 发送 CC 104

向北轻拂 – 发送 CC 105

"Airwheel" 手势(顺时针和逆时针) – 发送 CC 7

在上述手势中,前五个在 CC 值 0 和 127 之间切换,但是 "Airwheel" 手势发送 0-127 之间的连续值,由手势的方向和速度改变。

如果 Flick 板 LED 为绿色,则处于 " 跟踪 " 模式。此处传感器将跟踪 3D 空间中的手的位置,并发送以下具有 0-127 之间值的 CC:

X 位置 – 发送 CC 72

Y 位置 – 发送 CC 73

Z 位置 – 发送 CC 74

点击传感器的左侧,顶部和右侧面板将分别为 X,Y 和 Z 映射发送单个 CC。你可以将三个跟踪 CC 映射到 DAW 中的控件,这非常有用。

你可能要做的下一件事是将自定义行添加到 DIY MIDI 控制器。例如更改手势和跟踪位置创建的 CC 编号、范围或整个 MIDI 消息。所有这些都可以在编译和上传的 Teensy 代码中完成。

如何编写代码有点超出本教程的范围,但我在代码中放置了许多注释(以 '//' 开头的行)来描述每个部分正在做什么,希望它能帮助指导你想做任何修改。例如,更改 "#define MIDI_CC_X 72" 行末尾的数字将改变 X 位置跟踪将生成的 MIDI CC 编号。

结论

这就是你如何使用 Flick 传感器板和 Teensy 微控制器构建自己的 3D 手势感应 USB-MIDI 控制器。虽然它可能无法完成现有手势和跟踪设备可以执行的所有操作,但你已经构建了一个独立的,符合类 USB-MIDI 的控制器,而且可以完全根据需求进行定制,这可能会为你的音乐创作和表演带来新的表达和灵感。

版权声明:本文为 KingFour 音乐科技杂志 原创内容,采用 BY-NC-SA 知识共享协议授权。原文链接:http://kingfour.com/3d-induction-midi-controller.html 转载此文请于文首标明作者姓名,并保持文章完整性(包括原文链接、作者信息,并请附上出处)。未按照规范转载者,kingfour 音乐科技杂志 保留追究相应责任的权利。如需商业转载使用,请联系本站。

以上内容由"青果飞扬"上传发布 查看原文

相关阅读

最新评论

没有更多评论了
青果飞扬

青果飞扬

携手科技 音你而乐

订阅

觉得文章不错,微信扫描分享好友

扫码分享