CONTROLADOR MIDI - COM ROTARY ENCODER (Encoder Rotativo)

Olá pessoal, sou novato aqui:

Depois de varrer a internet procurando algum exemplo que me ajudasse a resolver um problema no meu projeto, resolvi postar aqui para obter a ajuda de vocês:

Atualmente estou trabalhando em um projeto que consiste em desenvolver um Controlador MIDI para utilização pessoal.

Para quem não conhece ou nunca ouviu falar, um Controlador MIDI é uma interface física que Conectada a um programa específico tipo (Traktor ou Virtual DJ), consegue controlar os Botões, Potenciômetros e outros controles existentes na interface virtual desses programas, usando protocolo MIDI para envio de mensagens.

Eu já consigui codificar os botões e Potenciometros...Para fazer o programa entender a linguagem MIDI eu utilizo um programinha chamado hairless-midi-serial (que converte o sinal serial para midi).

O Fato é que: Gostaria de criar um DISCO tipo aqueles de Dee Jay para que quando fosse girado através do envio de MIDI essa ação refletisse no programa. (Virtual DJ ou Traktor).

Segue link de um vídeo simples do que já tenho pronto (por enquanto é apenas um protótipo):

https://www.youtube.com/watch?v=8lXoGs26kQo

Alguém poderia me dar um dica sobre como fazer isso?

Ví na internet alguns exemplos com HD Velho e outros com Rotary Encoder de Mouse e tal....então achei melhor comprar 2 Rotary Encoder (Modelo abaixo) 03 pinos. Eu atualmente já consigo fazer um contador incremental com esses rotary encoders: Giro pra direita ele incrementa um contador e se giro pra esquerda decrementa um contador (acompanho apenas pelo serial monitor do arduino).

Modelo do encoder  que comprei.

Como posso fazer pra enviar SINAIS MIDI que sejam entendidos pelo programa (Virtual DJ ou Traktor) para fazer o que preciso, conforme descrito acima? Não consegui desenvolver um código com o equipamento que tenho atualmente para fazer funcionar o que preciso.

Esse vídeo mostra perfeitamente o que gostaria de fazer, porém o cara que postou o vídeo me informou que ele usa arduino Leonardo e a biblioteca que ele usa não funciona com UNO, segue o link do vídeo:

https://www.youtube.com/watch?v=ZpI2iBhp52w

Eu estou utilizando um arduino UNO Genérico.

Segue anexo o arquivo .INO que estou usando nesse projeto. Está bagunçado mas vou melhorar ele.

Futuramente pretendo usar Registradores de Deslocamento 4051 para expandir as portas do Arduino UNO.

Muito obrigado pessoal a todos que poderem me dar alguma dica.

Geraldo Ribeiro

Exibições: 2748

Anexos

Responder esta

Respostas a este tópico

"Como posso fazer pra enviar SINAIS MIDI que sejam entendidos pelo programa (Virtual DJ ou Traktor) para fazer o que preciso, conforme descrito acima? Não consegui desenvolver um código com o equipamento que tenho atualmente para fazer funcionar o que preciso." 

Minhas dúvidas:

- quais dados MIDI pretende enviar ? 

- Pretende usar a interface USB . Sabe qual é o protocolo usado pelo Hairless MIDI ?

- Vai montar o projeto https://rideonbeat.wordpress.com/2014/07/20/14/ ?

Olá José Gustavo,

- quais dados MIDI pretende enviar ? 

  Não sei exatamente no caso do encoder. Estou estudando pra entender melhor como funciona.

- Pretende usar a interface USB . Sabe qual é o protocolo usado pelo Hairless MIDI ?

  Sim. USB. O Hairless já funciona no meu projeto. No arquivo .ino anexo tem no código o detalhamento do   funcionamento do botão e dos potenciômetros.

- Vai montar o projeto https://rideonbeat.wordpress.com/2014/07/20/14/ ?

Sim. Pretendo, porém ví que ele utiliza uma biblioteca chamada Arcore (link da biblioteca) e não estou conseguindo instalar essa biblioteca. Talvez se conseguir instalar funcionaria. Tb não tenho certeza se essa biblioteca funciona no Arduino UNO que tenho. Ele usa um Arduino Leonardo.

Muito obrigado.

Continuo tentando e estudando.

Arduino Leonardo :

The 32U4 also allows for serial (CDC) communication over USB and appears as a virtual com port to software on the computer. The chip also acts as a full speed USB 2.0 device, using standard USB COM drivers. On Windows, a .inf file is required. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB connection to the computer (but not for serial communication on pins 0 and 1).

Biblioteca Arcore :

This is only officially tested on the Arduino Leonardo. Users have also reported it working on the Arduino Micro and Freeduino Leonardo.

Vamos começar pela instalação da Biblioteca Arcore . Poste as mensagens de erro ...

http://labdegaragem.com/profiles/blogs/tutorial-arduino-instalando-...

José Gustavo,

Até consegui instalar a biblioteca, porém tive uma triste surpresa:

Percebi que a biblioteca na verdade cria mais opções de BOARD no menu Tools/Ferramentas da IDE do Arduino: Arduino leonardo (arcore), etc.. É um tipo de biblioteca diferente. Na verdade eu até já tinha conseguido instalar, porém não entendi que ela aparecia em um outro menu na IDE e com um comportamento diferente das bibliotecas que tinha costume de utilizar.

Pelo que entendi após esta experiência eu teria que comprar um Arduino Leonardo para utilizar essa biblioteca.

Ou buscar outra solução........aguardo uma opinião de vocês amigos.

E mais uma vez obrigado.

Continuo tentando e estudando.

Segue tela da IDE após instalação da biblioteca Arcore:

E deu o seguinte erro na execução:

C:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware "C:\Program Files\Arduino\hardware" -hardware "C:\Users\Notebook\Documents\Arduino\hardware" -tools "C:\Program Files\Arduino\tools-builder" -tools "C:\Program Files\Arduino\hardware\tools\avr" -built-in-libraries "C:\Program Files\Arduino\libraries" -libraries "C:\Users\Notebook\Documents\Arduino\libraries" -fqbn=Arcore:avr:leonardo -ide-version=10610 -build-path "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Users\Notebook\Documents\Arduino\sketch_sep13c\sketch_sep13c.ino"
C:\Program Files\Arduino\arduino-builder -compile -logger=machine -hardware "C:\Program Files\Arduino\hardware" -hardware "C:\Users\Notebook\Documents\Arduino\hardware" -tools "C:\Program Files\Arduino\tools-builder" -tools "C:\Program Files\Arduino\hardware\tools\avr" -built-in-libraries "C:\Program Files\Arduino\libraries" -libraries "C:\Users\Notebook\Documents\Arduino\libraries" -fqbn=Arcore:avr:leonardo -ide-version=10610 -build-path "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Users\Notebook\Documents\Arduino\sketch_sep13c\sketch_sep13c.ino"
Using board 'leonardo' from platform in folder: C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr
Using core 'arcore' from platform in folder: C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr
Warning: platform.txt from core 'Arduino AVR Boards (arcore)' contains deprecated compiler.path={runtime.ide.path}/hardware/tools/avr/bin/, automatically converted to compiler.path={runtime.tools.avr-gcc.path}/bin/. Consider upgrading this core.
Warning: platform.txt from core 'Arduino AVR Boards (arcore)' contains deprecated tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude, automatically converted to tools.avrdude.cmd.path={path}/bin/avrdude. Consider upgrading this core.
Warning: platform.txt from core 'Arduino AVR Boards (arcore)' contains deprecated tools.avrdude.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf, automatically converted to tools.avrdude.config.path={path}/etc/avrdude.conf. Consider upgrading this core.
Warning: platform.txt from core 'Arduino AVR Boards (arcore)' contains deprecated recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}", automatically converted to recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{archive_file_path}" "{object_file}". Consider upgrading this core.
Warning: platform.txt from core 'Arduino AVR Boards (arcore)' contains deprecated recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm, automatically converted to recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{archive_file_path}" "-L{build.path}" -lm. Consider upgrading this core.
Detecting libraries used...
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT=' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\sketch\sketch_sep13c.ino.cpp" -o "nul"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT=' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\sketch\sketch_sep13c.ino.cpp" -o "nul"
Generating function prototypes...
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections  -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT=' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\sketch\sketch_sep13c.ino.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
"C:\Program Files\Arduino\tools-builder\ctags\5.8-arduino10/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\sketch\sketch_sep13c.ino.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\sketch\sketch_sep13c.ino.cpp.o"
Compiling libraries...
Compiling core...
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\WInterrupts.c" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\WInterrupts.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\hooks.c" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\hooks.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\malloc.c" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\malloc.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\wiring.c" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\wiring_analog.c" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring_analog.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\wiring_digital.c" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring_digital.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\wiring_pulse.c" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring_pulse.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc" -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\wiring_shift.c" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring_shift.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\CDC.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\CDC.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\HID.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\HID.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\HardwareSerial.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\HardwareSerial.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\IPAddress.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\IPAddress.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\MIDIUSB.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\MIDIUSB.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\Print.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\Print.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\Stream.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\Stream.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\Tone.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\Tone.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\USBCore.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\USBCore.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\WMath.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\WMath.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\WString.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\WString.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\main.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\main.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10610 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 '-DUSB_MANUFACTURER=' '-DUSB_PRODUCT={build.usb_product}' "-IC:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore" "-IC:\Program Files\Arduino\hardware\arduino\avr\variants\leonardo" "C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\cores\arcore\new.cpp" -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\new.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\WInterrupts.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\hooks.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\malloc.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring_analog.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring_digital.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring_pulse.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\wiring_shift.c.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\CDC.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\HID.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\HardwareSerial.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\IPAddress.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\MIDIUSB.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\Print.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\Stream.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\Tone.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\USBCore.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\WMath.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\WString.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\main.cpp.o"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-ar" rcs "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\new.cpp.o"
Linking everything together...
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc" -Os -Wl,--gc-sections -mmcu=atmega32u4 -o "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp/sketch_sep13c.ino.elf" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\sketch\sketch_sep13c.ino.cpp.o" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp\core\core.a" "-LC:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp" -lm
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp/sketch_sep13c.ino.elf" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp/sketch_sep13c.ino.eep"
"C:\Program Files\Arduino\hardware\tools\avr/bin/avr-objcopy" -O ihex -R .eeprom "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp/sketch_sep13c.ino.elf" "C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp/sketch_sep13c.ino.hex"
Bootloader file specified but missing: C:\Users\Notebook\Documents\Arduino\hardware\Arcore\avr\bootloaders\caterina\Caterina-Leonardo.hex

Sketch uses 5,664 bytes (19%) of program storage space. Maximum is 28,672 bytes.
Forcing reset using 1200bps open/close on port COM6
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
PORTS {COM3, COM6, } / {COM3, COM6, } => {}
Uploading using selected port: COM6
{path}/bin/avrdude -C{path}/etc/avrdude.conf -v -v -v -v -patmega32u4 -cavr109 -PCOM6 -b57600 -D -Uflash:w:C:\Users\Notebook\AppData\Local\Temp\build9f57bd04fae826768b0d19f07535b0c0.tmp/sketch_sep13c.ino.hex:i
java.io.IOException: Cannot run program "{path}/bin/avrdude": CreateProcess error=2, O sistema não pode encontrar o arquivo especificado
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at processing.app.helpers.ProcessUtils.exec(ProcessUtils.java:26)
    at cc.arduino.packages.Uploader.executeUploadCommand(Uploader.java:130)
    at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:209)
    at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
    at processing.app.Sketch.upload(Sketch.java:1187)
    at processing.app.Sketch.exportApplet(Sketch.java:1160)
    at processing.app.Sketch.exportApplet(Sketch.java:1132)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2409)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: CreateProcess error=2, O sistema não pode encontrar o arquivo especificado
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
    at java.lang.ProcessImpl.start(ProcessImpl.java:137)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 9 more
An error occurred while uploading the sketch

Geraldo bom dia, 

A solução mais simples seria você adquirir um Arduino Leonardo. Existe aqui no Brasil ?

Assim a Biblioteca funcionaria perfeitamente. 

Outra opção , seria estudar a Biblioteca e tentar adapta-la para o Arduino UNO. 

Vai exigir estudo e conhecimento da programação do Arduino. 

O que prefere ?

Oi GR, boa noite.

Não sou da área musical, e por isso pouco tempo dediquei a entender o protocolo MIDI.

Após ler o seu post e ver o vídeo que você "linkou", fiquei com varias dúvidas, e resolvi tentar entender o 

dilema.

Aí acabei ficando confuso:

Pelo que entendi e encontrei em informações na net, MIDI, é:

"
MIDI, which stands for “Musical Instrument Digital Interface,” is a system that
allows electronic musical instruments and computers to send instructions
to each other. It sounds simple, but MIDI provides some profound creative
opportunities.
"

E' um protocolo de comunicação entre "controllers" e instrumentos, capaz de enviar instruções para os

instrumentos agirem como fossem tocados.

Estas "controllers" podem ser até outros instrumentos.

Encoder: Um componente eletrônico (ou as vezes eletromecânico) capaz de gerar pulsos que devidamente

interpretados pode determinar a velocidade de direção do movimento do seu eixo.

O que não consegui fazer foi a conexão entre usar um  encoder enviando os pulsos do mesmo através de uma

interface MIDI.

Desculpe minha ignorância, mas você pode me explicar melhor qual é o beneficio, vantajem,

ou ainda o uso pratico deste seu projeto?

Que sabe eu aprendendo isto, possa te ajudar no seu projeto

Rui

Pessoal, 

utilizo MIDI desde 1997, gravando notas do teclado em Software e depois editando. Arduino utilizo desde 2011. E confesso que ainda nunca fiz projetos legais com os dois.

O que posso dizer de maneira simplificada é que midi é uma linguagem que os instrumentos musicais (ou software) conversam. Na prática é: vc tem um escravo (geralmente um teclado ou um arduino, neste caso) mandando sinais de NOTAS, TEMPO, VOLUME e Tipo e NIvel de EFEITOS para o outro sistema mestre (outra placa de som ou um computador)

Com isso vc pode gravar (sequenciar) em pistas e colocar vários instrumentos ao mesmo tempo e fazer sua musica. (isso no uso classico, por exemplo para gravar vinhetas e até profissionais usam em shows)

O projeto voltado para DJ além de utilizar as notas, ele "brinca" muito mais com os efeitos, como reverb, Pitch, e etc em tempo real (durante a apresentação).

por exemplo, manda um dó, num som de saxofone e fica brincando com o Pitch (subindo e descendo o valor ), isso dá o efeito eletronico que a gente conhece.

a linguagem é relativamente simples, e tem bastante material na net. tem que achar as tabelas onde informam o codigo do efeito que vc quer brincar.

depois vc precisa transformar os números que saem do encoder em linguagem MIDI. por exemplo, vc pode rodar o encoder e ir subindo ou descendo as notas como se estivesse passando o dedo no piano. "glissando".

Claro, para ue vc não apenas copie e cole, terá que dar uma estudada, mas o resultado ficará legal

Rui, MIDI é um muito interessante.

Apesar de não saber tocar nenhum instrumento e não ter algum, conheço MIDI desde quando foi criado, na década de 80. Já li muito sobre MIDI. 

O Pedroso esclareceu bastante sobre MIDI. É uma interface serial que envia um protocolo bem simples que permite a comunicação entre vários instrumentos musicais elêtronicos. 

Por exemplo, pode conectar através da interface MIDI, um KEYBOARD ( instrumento musical) à um SAMPLER e tocar o som de vários instrumentos musicais. 

Pelo que eu entendi , na aplicação do Geraldo Ribeiro, usando o Programa Virtual DJ, ele primeiro precisa selecionar qual efeito deseja alterar. E através do Encoder ele altera esse efeito. 

Portanto, com um Encoder ele poderá alterar vários efeitos musicais. Acho que é isso que ele deseja. 

Oi JGAM, bom dia.

Foi exatamente isto que eu quis dizer qdo coloquei este fragmento de texto.

"
MIDI, which stands for “Musical Instrument Digital Interface,” is a system that
allows electronic musical instruments and computers to send instructions
to each other. It sounds simple, but MIDI provides some profound creative
opportunities.
"

Rui

Claro, excelência ! Abraços.

Geraldo, você já viu esse exemplo ?

https://www.arduino.cc/en/Tutorial/Midi

Oi GR, bom dia.

Pesquisando um pouco mais sobre interface MIDI, encontrei este projeto que acho que pode ajudar

a fazer o interface do encoder com o MIDI.

Tem um exemplos que a autora usa acelerômetros, talvez você consiga substitui-los por encoders,

modificando  o código. 

Ela usa UNO no projeto .

Rui

http://www.instructables.com/id/Send-and-Receive-MIDI-with-Arduino/

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço