3dsjs

Ableton脚盘控制器

Ableton Foot Controller

2024-03-14 11:51:54

使用说明

  1. 所有模型资源均由用户上传分享,内容来源于网络公开资源
  2. 侵权投诉:通过抖音私信 @jobsfan 联系我们(需附版权证明),24小时内处理
  3. 模型将通过邮件发送(5分钟内自动发货),感谢理解带宽压力
关于费用

我们是爱好者共建社区,为维持服务器成本,每个模型收取微量费用(仅覆盖基础开支)。我们承诺最低成本运营,感谢您的支持!

扫码手机访问
抖音私信 @jobsfan

Summary

5-switch and 2-switch versions of my Loop Controller (LC-5 & LC-2)! Uses Arduino Micro, and is easily reprogrammable.

I love doing little live-looped jams in Ableton, often switching from guitar, to bass, to drums, to piano. For a long while I've wanted some sort of foot controller that can trigger loop recording, so I can create loops while I'm playing, when my hands are occupied. So, with my seriously beginner-level modelling and electronics knowledge, I attempted to make one myself! Well, two in fact, so now I can have one by my guitar pedalboard and one by my drum kit :).

I considered having the Arduino Micros inside send out MIDI calls, but I actually ended up going with keyboard commands instead. This makes it much more versatile - now I can have multiple programs I can load up, so I can use the LC-5 or LC-2 for looping while playing music, shortcuts while editing, or triggering macros during daily computer use. It's become my favorite little productivity tool. The design on the front is meant for music, but it can be used for anything.

The little icons on the front represent what each switch does - on the LC-5, it has track left and right, record, undo, and tap tempo. The LC-2 just has record and undo. I used simple momentary footswitches, and soldered jumper cables directly from the Arduino to the switches.

If anyone wants the code, I'll paste the LC-5's below (LC-2 is the same, just minus three switches). I mostly copied it from what other people had done on similar projects, since I'm clueless when it comes to Arduino code, so the comments and such aren't mine. I just retrofitted it to my specific setup. Then, in Ableton, I set the “Session Record” button to be triggered by “]”, and “Tap Tempo” to “[”. Track left and right are just left and right arrow keys, and undo is CMD-Z (this was made for use on Mac specifically).

CODE BELOW:

#include <Bounce2.h>
#include "Keyboard.h"
#define BUTTON_DEBOUNCE 50 // 50 = 50 ms debounce time

Bounce button2 = Bounce(2, BUTTON_DEBOUNCE);
Bounce button3 = Bounce(3, BUTTON_DEBOUNCE);  
Bounce button4 = Bounce(4, BUTTON_DEBOUNCE);  
Bounce button5 = Bounce(5, BUTTON_DEBOUNCE);  
Bounce button6 = Bounce(6, BUTTON_DEBOUNCE);

void setup() {
  // Configure the pins for footswitch buttons as input mode = pullup resistors.
  // The pushbuttons connect from each pin to ground.  When
  // the button is pressed, the pin reads LOW because the button
  // shorts it to ground.  When released, the pin reads HIGH
  // because the pullup resistor connects to +5 volts inside
  // the chip. 

  pinMode(2, INPUT_PULLUP);
  pinMode(3, INPUT_PULLUP);
  pinMode(4, INPUT_PULLUP);
  pinMode(5, INPUT_PULLUP);
  pinMode(6, INPUT_PULLUP);

}

void loop() {
  // Get a reading from the button
  button2.update();
  button3.update();
  button4.update();
  button5.update();
  button6.update();

  // Turn notes on if a button has been connected to ground
  if (button2.fallingEdge()) {
    Keyboard.press('[');
    delay(50);
    Keyboard.releaseAll();
    delay(100);
  }
  if (button3.fallingEdge()) {
    Keyboard.press(KEY_LEFT_GUI);
    Keyboard.press('z');
    delay(50);
    Keyboard.releaseAll();
    delay(100);
  }
  if (button4.fallingEdge()) {
    Keyboard.press(']');
    delay(50);
    Keyboard.releaseAll();
    delay(100);
  }
   if (button5.fallingEdge()) {
     Keyboard.press(216);
     delay(50);
     Keyboard.releaseAll();
     delay(100);
  }
  if (button6.fallingEdge()) {
    Keyboard.press(215);
    delay(50);
    Keyboard.releaseAll();
    delay(100);
  }
}

Print Settings

  • Printer brand:

    Creality

  • Printer:

    K1

  • Rafts:
    Yes
  • Supports:
    Yes
Ableton脚盘控制器
朋友,你觉得上面这个模型,属于下面的哪个分类?
必须全中文,且长度不超过15

相关内容

猜你喜欢