Arduino + Gyro + MIDI
やりたい事
- ボタンやつまみ以外の方法のMIDIコントローラーをつくる
- Gyroセンサーを搭載したArduinoでDAWソフトを操作、エフェクターをつくる
- できれば無線で
イメージ
環境
Mac/Arduino/東芝ジャイロ/
Ableton Live(DAW)/hairless/Audio MIDI設定/
目次
- ジャイロの値をArduinoで計算、角度を算出
- 角度を整形してMIDIデータとしてシリアルで送信
- ソフトウェア経由でシリアルデータをDAWに喰わせる
- 送信部分をBluetoothで実装
ジャイロの値をArduinoで計算、角度を算出
値は角度ではないのでそのまま使えません。
qiita.ino
int xPin = A0;
int yPin = A1;
double xVal = 0;
double yVal = 0;
double xPast = 0;
# define gyro_DEFAULT 288
# define gyro_MIN 0
# define gyro_MAX 650
# define midi_MIN 0
# define midi_MAX 127
double xResult = 0;
void setup() {
// Set MIDI baud rate:
Serial.begin(9600);
}
void loop() {
xVal=analogRead(xPin);
yVal=analogRead(yPin);
xResult = map(xVal, gyro_MIN, gyro_MAX, midi_MIN, midi_MAX);
//Serial.println(xVal);
Serial.println(xResult);
Serial.println("");
delay(40);
}
エフェクターを実装するにあたり、角度が必要。
でもジャイロの値は角速度(?)かなんかなので、そのまま使えません。
角度を整形してMIDIデータとしてシリアルで送信
ジャイロの値は角度ではないのでそのまま使えません。
ソフトウェア経由でシリアルデータをDAWに喰わせる
ソフトウェアにデータを読ませる為にアプリを経由する必要があります。
シリアルデータ > hairless > Audio MIDI設定 > DAWソフト