Submit Search
Upload
ArduinoでMidiコントローラーを作ろう
•
11 likes
•
12,983 views
tadfmac
Follow
ArduinoでMIDIフィジカルコントローラーを作ろう、というスライドです。
Read less
Read more
Devices & Hardware
Report
Share
Report
Share
1 of 29
Download now
Download to read offline
Recommended
高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究
horieyuto
テキスト音声合成技術と多様性への挑戦 (名古屋大学 知能システム特論)
テキスト音声合成技術と多様性への挑戦 (名古屋大学 知能システム特論)
Shinnosuke Takamichi
近傍検索ライブラリNGTと深層学習による類似ファッション検索 #yjbonfire
近傍検索ライブラリNGTと深層学習による類似ファッション検索 #yjbonfire
Yahoo!デベロッパーネットワーク
東北大学講義資料 実世界における自然言語処理 - すべての人にロボットを - 坪井祐太
東北大学講義資料 実世界における自然言語処理 - すべての人にロボットを - 坪井祐太
Preferred Networks
20170805 エンジニアの移住交流会 自己紹介スライド
20170805 エンジニアの移住交流会 自己紹介スライド
健一 辰濱
日本語モーラの持続時間長: 単音節語提示による知覚実験(JSLS2015)
日本語モーラの持続時間長: 単音節語提示による知覚実験(JSLS2015)
Kosuke Sugai
ILRMA 20170227 danwakai
ILRMA 20170227 danwakai
SaruwatariLabUTokyo
[DL輪読会]VOICEFILTER: Targeted Voice Separation by Speaker-Conditioned Spectrog...
[DL輪読会]VOICEFILTER: Targeted Voice Separation by Speaker-Conditioned Spectrog...
Deep Learning JP
Recommended
高次アンビソニックスのための マイクロホンアレイ設計の研究
高次アンビソニックスのための マイクロホンアレイ設計の研究
horieyuto
テキスト音声合成技術と多様性への挑戦 (名古屋大学 知能システム特論)
テキスト音声合成技術と多様性への挑戦 (名古屋大学 知能システム特論)
Shinnosuke Takamichi
近傍検索ライブラリNGTと深層学習による類似ファッション検索 #yjbonfire
近傍検索ライブラリNGTと深層学習による類似ファッション検索 #yjbonfire
Yahoo!デベロッパーネットワーク
東北大学講義資料 実世界における自然言語処理 - すべての人にロボットを - 坪井祐太
東北大学講義資料 実世界における自然言語処理 - すべての人にロボットを - 坪井祐太
Preferred Networks
20170805 エンジニアの移住交流会 自己紹介スライド
20170805 エンジニアの移住交流会 自己紹介スライド
健一 辰濱
日本語モーラの持続時間長: 単音節語提示による知覚実験(JSLS2015)
日本語モーラの持続時間長: 単音節語提示による知覚実験(JSLS2015)
Kosuke Sugai
ILRMA 20170227 danwakai
ILRMA 20170227 danwakai
SaruwatariLabUTokyo
[DL輪読会]VOICEFILTER: Targeted Voice Separation by Speaker-Conditioned Spectrog...
[DL輪読会]VOICEFILTER: Targeted Voice Separation by Speaker-Conditioned Spectrog...
Deep Learning JP
マルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCL
maruyama097
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
Preferred Networks
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)
cvpaper. challenge
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
Yuta Kikuchi
避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -
Tomoki YAMASHITA
DNS移転失敗体験談
DNS移転失敗体験談
oheso tori
レコチョクのサービス群を支えるApiたち
レコチョクのサービス群を支えるApiたち
recotech
論文紹介:End-to-End Object Detection with Transformers
論文紹介:End-to-End Object Detection with Transformers
Toru Tamaki
深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3
Preferred Networks
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tips
cvpaper. challenge
実環境音響信号処理における収音技術
実環境音響信号処理における収音技術
Yuma Koizumi
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
インタラクションのためのコンピュータビジョンのお仕事
インタラクションのためのコンピュータビジョンのお仕事
Yasunori Ozaki
音源分離 ~DNN音源分離の基礎から最新技術まで~ Tokyo bishbash #3
音源分離 ~DNN音源分離の基礎から最新技術まで~ Tokyo bishbash #3
Naoya Takahashi
[DL輪読会]Wavenet a generative model for raw audio
[DL輪読会]Wavenet a generative model for raw audio
Deep Learning JP
話者V2S攻撃: 話者認証から構築される 声質変換とその音声なりすまし可能性の評価
話者V2S攻撃: 話者認証から構築される 声質変換とその音声なりすまし可能性の評価
Shinnosuke Takamichi
統計的音声合成変換と近年の発展
統計的音声合成変換と近年の発展
Shinnosuke Takamichi
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
Deep Learning JP
[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP
[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP
Deep Learning JP
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
Hirokatsu Kataoka
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
Yusuke Naka
Raspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作る
Chikashi Miyama
More Related Content
What's hot
マルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCL
maruyama097
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
Preferred Networks
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)
cvpaper. challenge
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
Yuta Kikuchi
避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -
Tomoki YAMASHITA
DNS移転失敗体験談
DNS移転失敗体験談
oheso tori
レコチョクのサービス群を支えるApiたち
レコチョクのサービス群を支えるApiたち
recotech
論文紹介:End-to-End Object Detection with Transformers
論文紹介:End-to-End Object Detection with Transformers
Toru Tamaki
深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3
Preferred Networks
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tips
cvpaper. challenge
実環境音響信号処理における収音技術
実環境音響信号処理における収音技術
Yuma Koizumi
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
Yuki Miyatake
インタラクションのためのコンピュータビジョンのお仕事
インタラクションのためのコンピュータビジョンのお仕事
Yasunori Ozaki
音源分離 ~DNN音源分離の基礎から最新技術まで~ Tokyo bishbash #3
音源分離 ~DNN音源分離の基礎から最新技術まで~ Tokyo bishbash #3
Naoya Takahashi
[DL輪読会]Wavenet a generative model for raw audio
[DL輪読会]Wavenet a generative model for raw audio
Deep Learning JP
話者V2S攻撃: 話者認証から構築される 声質変換とその音声なりすまし可能性の評価
話者V2S攻撃: 話者認証から構築される 声質変換とその音声なりすまし可能性の評価
Shinnosuke Takamichi
統計的音声合成変換と近年の発展
統計的音声合成変換と近年の発展
Shinnosuke Takamichi
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
Deep Learning JP
[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP
[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP
Deep Learning JP
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
Hirokatsu Kataoka
What's hot
(20)
マルチコアのプログラミング技法 -- OpenCLとWebCL
マルチコアのプログラミング技法 -- OpenCLとWebCL
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
物体検知(Meta Study Group 発表資料)
物体検知(Meta Study Group 発表資料)
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
避けては通れないバイナリ地獄 - NDEFってなんだろう -
避けては通れないバイナリ地獄 - NDEFってなんだろう -
DNS移転失敗体験談
DNS移転失敗体験談
レコチョクのサービス群を支えるApiたち
レコチョクのサービス群を支えるApiたち
論文紹介:End-to-End Object Detection with Transformers
論文紹介:End-to-End Object Detection with Transformers
深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3
cvpaper.challenge 研究効率化 Tips
cvpaper.challenge 研究効率化 Tips
実環境音響信号処理における収音技術
実環境音響信号処理における収音技術
BoostAsioで可読性を求めるのは間違っているだろうか
BoostAsioで可読性を求めるのは間違っているだろうか
インタラクションのためのコンピュータビジョンのお仕事
インタラクションのためのコンピュータビジョンのお仕事
音源分離 ~DNN音源分離の基礎から最新技術まで~ Tokyo bishbash #3
音源分離 ~DNN音源分離の基礎から最新技術まで~ Tokyo bishbash #3
[DL輪読会]Wavenet a generative model for raw audio
[DL輪読会]Wavenet a generative model for raw audio
話者V2S攻撃: 話者認証から構築される 声質変換とその音声なりすまし可能性の評価
話者V2S攻撃: 話者認証から構築される 声質変換とその音声なりすまし可能性の評価
統計的音声合成変換と近年の発展
統計的音声合成変換と近年の発展
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
【DL輪読会】DiffRF: Rendering-guided 3D Radiance Field Diffusion [N. Muller+ CVPR2...
[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP
[DL輪読会]Wav2CLIP: Learning Robust Audio Representations From CLIP
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
【チュートリアル】動的な人物・物体認識技術 -Dense Trajectories-
Viewers also liked
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
Yusuke Naka
Raspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作る
Chikashi Miyama
Arduino MIDI Hack
Arduino MIDI Hack
Yoshitaka Kuwata
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミング
Ransui Iso
Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門
Atsushi Tadokoro
Interactive Music II SuperCollider入門 2 - 関数とUGen
Interactive Music II SuperCollider入門 2 - 関数とUGen
Atsushi Tadokoro
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
Atsushi Tadokoro
WebRTC on Native App
WebRTC on Native App
WebRTCConferenceJapan
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクター
Ransui Iso
Arduino / ArduBlock の簡単なプログラムと回路の例
Arduino / ArduBlock の簡単なプログラムと回路の例
mitunaga
ブレッドボードの使い方と Arduino に簡単な回路をつける例
ブレッドボードの使い方と Arduino に簡単な回路をつける例
mitunaga
Arduino 入門
Arduino 入門
mitunaga
arduinoでeVY1 Shieldを歌わせてみた
arduinoでeVY1 Shieldを歌わせてみた
ta9mar
Hipatia de Alejandría
Hipatia de Alejandría
Pablo Profesor
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Atsushi Tadokoro
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
Yusuke Naka
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告
satoru_tk
WebRTC meetup Tokyo 1
WebRTC meetup Tokyo 1
mganeko
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
Yoshitaka Kuwata
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
Atsushi Tadokoro
Viewers also liked
(20)
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
Raspberry PiとPdでオリジナルのシンセを作る
Raspberry PiとPdでオリジナルのシンセを作る
Arduino MIDI Hack
Arduino MIDI Hack
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミング
Interactive Music II - SuperCollider入門
Interactive Music II - SuperCollider入門
Interactive Music II SuperCollider入門 2 - 関数とUGen
Interactive Music II SuperCollider入門 2 - 関数とUGen
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
Interactive Music II SuperCollider入門 3 - 音を混ぜる(Mix)、楽器を定義(SynthDef)
WebRTC on Native App
WebRTC on Native App
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクター
Arduino / ArduBlock の簡単なプログラムと回路の例
Arduino / ArduBlock の簡単なプログラムと回路の例
ブレッドボードの使い方と Arduino に簡単な回路をつける例
ブレッドボードの使い方と Arduino に簡単な回路をつける例
Arduino 入門
Arduino 入門
arduinoでeVY1 Shieldを歌わせてみた
arduinoでeVY1 Shieldを歌わせてみた
Hipatia de Alejandría
Hipatia de Alejandría
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
Interactive Music II SuperCollider入門 4 - 楽器を定義、変調合成(RM, AM, FM)
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告
WebRTC Meetup Tokyo #3 - WebRTC Conference参加報告
WebRTC meetup Tokyo 1
WebRTC meetup Tokyo 1
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
フィジカルコンピューティング入門 USB-MIDIベースのPepper-Monakaを使う
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
More from tadfmac
ブラウザで、なんちゃってIoT
ブラウザで、なんちゃってIoT
tadfmac
BLE無線通信で使えるCHIRIMEN
BLE無線通信で使えるCHIRIMEN
tadfmac
Sensor
Sensor
tadfmac
ちりめn for らずぱい3 おさわり会
ちりめn for らずぱい3 おさわり会
tadfmac
Web Music Demo Party #1 LT
Web Music Demo Party #1 LT
tadfmac
Githubについて
Githubについて
tadfmac
mi:muz開発入門
mi:muz開発入門
tadfmac
缶たたくやつのつくりかた
缶たたくやつのつくりかた
tadfmac
なんでこうなった?
なんでこうなった?
tadfmac
Romo欲しい
Romo欲しい
tadfmac
モノとつないでWebを楽しくしよう
モノとつないでWebを楽しくしよう
tadfmac
ち〜ん
ち〜ん
tadfmac
Web musicハッカソンへ行こう!
Web musicハッカソンへ行こう!
tadfmac
More from tadfmac
(13)
ブラウザで、なんちゃってIoT
ブラウザで、なんちゃってIoT
BLE無線通信で使えるCHIRIMEN
BLE無線通信で使えるCHIRIMEN
Sensor
Sensor
ちりめn for らずぱい3 おさわり会
ちりめn for らずぱい3 おさわり会
Web Music Demo Party #1 LT
Web Music Demo Party #1 LT
Githubについて
Githubについて
mi:muz開発入門
mi:muz開発入門
缶たたくやつのつくりかた
缶たたくやつのつくりかた
なんでこうなった?
なんでこうなった?
Romo欲しい
Romo欲しい
モノとつないでWebを楽しくしよう
モノとつないでWebを楽しくしよう
ち〜ん
ち〜ん
Web musicハッカソンへ行こう!
Web musicハッカソンへ行こう!
ArduinoでMidiコントローラーを作ろう
1.
Arduinoで作るMIDIコン 2014.5.17 @tadfmac 14年5月17日土曜日
2.
自己紹介 @tadfmac http://soundcloud.com/tadfmac 実験音楽の人。自然音、インプロ、コンピュータを組み合わせた作品をつくる。 たまたま見に行ったMaker Faire Tokyo
2013で衝撃を受け、人生初の「ハンダゴ テ」を購入。Arduinoも2013/12月に購入。最初はArduinoでも何かを繋ぐ場合、 ハンダゴテを使うものだと思っていたが、どう使うか判らず呆然とする。 その後本を買い漁り、ブレッドボードとジャンパーのことを知る。 つまり、今楽しい盛り。 14年5月17日土曜日
3.
MIDIコンとは? PCと繋いで音をぐりぐりやったりするアレ。 14年5月17日土曜日
4.
MIDIのメリット 1. 音楽系ソフト(DAWなど)と直接繋いで遊べる 2. 実はブラウザとも繋がる
(Web MIDI API) 3. プロトコルが決まってる(制御が簡単) MIDIのデメリット 1. ATmega16U2の書き換えが必要 2. Arduino側でジャンパーピン刺すの忘れる 3. プロトコルが決まってる(制約が多い) FirmataとMIDI 14年5月17日土曜日
5.
こんな感じになる USBケーブル 今回は最低限な感じで 14年5月17日土曜日
6.
用意するモノ ジャンパーピン USBケーブル Arduino UNO R3 ブレッドボード、部品 Mac (Winでも出来ますが、今回 はMacで説明します) 14年5月17日土曜日
7.
手順 1. ATmega16U2にUSB MIDIファームを書き込む 2.
回路を組む(ブレッドボードとArduinoを配線) 3. Arduinoのスケッチを書いてロード 完成! 14年5月17日土曜日
8.
1. ATmega16U2にUSB MIDIファームを書き込む 14年5月17日土曜日
9.
1. ATmega16U2に書き込むツールを用意 Mac: dfu-programmer Win:
ATMEL FLIP (今回説明しません) 2. USB-MIDIファームイメージを用意 3. DFUモードでファーム書き換え 4. スケッチ書き込みモードへ 1. ATmega16U2にUSB MIDIファームを書き込む 14年5月17日土曜日
10.
1. ATmega16U2に書き込むツールを用意 Mac: dfu-programmer MacPorts
→バージョン古くてATmega16U2未対応 ソースからビルド →「面倒」 ビルド済バイナリ 1. ATmega16U2にUSB MIDIファームを書き込む http://temp.dfm.lrv.jp/dfuprogrammer/dfu-programmer-061bin.zip http://qiita.com/tadfmac/items/b941f7d4858386e2d1b0 14年5月17日土曜日
11.
2. USB-MIDIファームイメージを用意 MORECAT_LAB様 『Midi Firmware
for Arduino Uno (Moco)』 http://morecatlab.akiba.coocan.jp/lab/index.php/ aruino/midi-firmware-for-arduino-uno-moco/ ダウンロード http://morecatlab.akiba.coocan.jp/lab/wp-content/uploads/2013/09/dualMocoLUFA.tgz 1. ATmega16U2にUSB MIDIファームを書き込む 14年5月17日土曜日
12.
DFUモード ATmega16U2 ATmega328P スケッチ書き込み dfu-programmer 1. ATmega16U2にUSB
MIDIファームを書き込む 14年5月17日土曜日
13.
3. DFUモードでファーム書き換え 1. ATmega16U2にUSB
MIDIファームを書き込む DFUモードへの入り方 1. ジャンパーする 2. USBつなぐ 3. (ArduinoのLEDが光った ら)ジャンパはずす 14年5月17日土曜日
14.
3. DFUモードでファーム書き換え 1. ATmega16U2にUSB
MIDIファームを書き込む $ dfu-programmer atmega16u2 get まずはDFUモードに入れてるか確認 Bootloader Version: 0x20 (32) こんな感じに表示されたら入れてます。 14年5月17日土曜日
15.
3. DFUモードでファーム書き換え 1. ATmega16U2にUSB
MIDIファームを書き込む $ dfu-programmer atmega16u2 erase 消去 dualMoco.hex書き込み $ dfu-programmer atmega16u2 flash dualMoco.hex 最後にreset $ dfu-programmer atmega16u2 reset 14年5月17日土曜日
16.
4. スケッチ書き込みモードへ 1. ATmega16U2にUSB
MIDIファームを書き込む 2. ジャンパーを今度は 下記のようにする。 1. USBはずす 3. USBつなぐ 14年5月17日土曜日
17.
dualMocoを書き込んだArduinoはジャンパとセットで 持ち歩こう! 1. ATmega16U2にUSB MIDIファームを書き込む ジャンパなし:MIDIデバイスになる
下記のようにジャンパ:スケッチ書き込み 14年5月17日土曜日
18.
2. 回路を組む(ブレッドボードとArduinoを配線) 14年5月17日土曜日
19.
回路 ※タクトスイッチが プルダウンなのは、 反省していますw 14年5月17日土曜日
20.
3. Arduinoのスケッチを書いてロード 14年5月17日土曜日
21.
#include <MIDI.h> // つなげる場所により変えよう const
int LED = 13; const int BUTTON = 8; const int VOLUME = 0; const int CDS = 1; // 回路の抵抗度合いなどに応じて数値は調整しよう #define note_MIN 0 #define note_MAX 127 #define vol_MIN 200 // volume保護用抵抗 #define vol_MAX 1023 // CdSを手で覆った時だけ使いたいのでこんな値 // 明るさによって変わるので調整しよう #define cds_MIN 820 #define cds_MAX 1023 // pitchbendは本当は -8192 - 8191 だけど // 元々の値が荒いので、ベンド幅を1/4にしとく。 // #define pb_MIN -2048 #define pb_MAX 2048 スケッチ 1 2 14年5月17日土曜日
22.
// 初期化処理です void setup(){ pinMode(LED,OUTPUT); pinMode(BUTTON,INPUT); MIDI.begin(1); } //
これはセンサー入力のフラつき対策 boolean checkChange(int val1,int val2, int range){ int l,h; l = val2-range; h = val2+range; if((l > val1)||(h < val1)){ return true; } return false; } int button = 0; int note = 0; int cds = 0; boolean isplay = false; void loop(){ int nowbutton; int nownote; int nowcds; // Note Number change nownote = analogRead(VOLUME); nownote = map(nownote, vol_MAX, vol_MIN, note_MIN, note_MAX); if(checkChange(nownote,note,1)){ if(isplay){ MIDI.sendNoteOff(note,0,1); MIDI.sendNoteOn(nownote,100,1); } note = nownote; } スケッチ 3 4 14年5月17日土曜日
23.
// Cds (Pitchbend) nowcds
= analogRead(CDS); if(nowcds > cds_MIN){ nowcds = map(nowcds, cds_MIN, cds_MAX, pb_MAX, pb_MIN); MIDI.sendPitchBend(nowcds,1); }else{ nowcds = 0; if(cds != nowcds){ MIDI.sendPitchBend(0,1); } } cds = nowcds; // Button (Note ON/OFF) nowbutton = digitalRead(BUTTON); if(nowbutton != button){ if(nowbutton == HIGH) { MIDI.sendNoteOn(note,100,1); isplay = true; digitalWrite(LED,HIGH); }else{ MIDI.sendNoteOff(note,0,1); isplay = false; digitalWrite(LED,LOW); } delay(50); } button = nowbutton; } スケッチ 5 6 14年5月17日土曜日
24.
スケッチ ソースは下記にあります。 http://qiita.com/tadfmac/items/9136f47ae1eea99a4ef7 14年5月17日土曜日
25.
ATmega16U2を書き換えると、ArduinoのUSB機能を変更 できる! MIDI以外にも、同じやり方でキーボードやマウスなどに もできるので、シリアル以外の可能性も広がる! http://mitchtech.net/arduino-usb-hid-keyboard/ まとめ 14年5月17日土曜日
26.
Q&A @tadfmac http://soundcloud.com/tadfmac http://www.slideshare.net/tadfmac/arduinomidi 14年5月17日土曜日
Download now