Paso 7: Sketch de Arduino y sintetizador de Software
En este paso programar el Arduino e instalar al sintetizador software.
Programar el Arduino Nano
Si no eres familiair con el Arduino plataforma salida th. Para la plataforma windows tienes que seguir estos pasos:
- Asegúrese de tener el Arduino IDE instalado (bibliotecas adicionales no son necesarias) y el controlador para conectarse a tu Arduino Nano.
- Descargue el archivo 'MidiRecorder_PianoFingering.ino' archivo/bosquejo incluido en este paso (Desplácese hacia abajo).
- Abra su carpeta de 'Documents\Arduino', hacer una nueva carpeta ahí y lo llaman MidiRecorder_PianoFingering' (si esta carpeta es no el lugar donde guarda sus bocetos probablemente estás experimentaron bastante con el IDE de Arduino para calcular los pasos adecuados a ti :-))
- Coloque el archivo en esta carpeta nueva.
- Conectar tu Arduino al pc mediante USB.
- Abrir el archivo en el IDE de Arduino de Ino
- Asegúrese de que usted ha seleccionado la Junta de desarrollo adecuado (Arduino Nano 168 o 328) y ha seleccionado el puerto COM adecuado.
- Presione upload para subir el dibujo a tu Arduino Nano.
Explicación del bosquejo
He intentado mantener el dibujo tan simple como sea posible y decidió no utilizar la digitación de la flauta (en qué notas son combinación de botón de prensa), pero piano digitación (en cada botón que prensa es cambiando de tema):
- Configuración - en la configuración le decimos a Arduino que los pines conectados a los botones son pintas entradas. Si se presiona el botón de pulgar (o los botones que no se unen) establecemos la variable de estado a demoMode.
- Bucle - si el estado es demoMode - una melodía es enviar a la computadora para sintetizar. La melodía es una cadena (por ejemplo c4 d2 e4"") en el estilo de QBasic (https://en.wikibooks.org/...#PLAY). La melodía se repite después de 2 segundos.
- Bucle - si el estado no es demoMode - determinamos el volumen del sonido recibido por el micrófono (= máxima diferencia entre las señales analógicas) y un volumen midi (el Control del ' cambio'). También revisamos todos los botones uno a la vez para su estado. Si presiona nuevamente enviamos un mensaje midi de noteon (voz de canal). También pulsando los botones de pulgar la nota que enviamos será fuerte. Si recién unpressed enviamos un mensaje de noteoff midi.
Para obtener más información acerca de cómo funciona el midi, consulte este excelente instructable:.
Configurar el sintetizador de software
Sintetizadores de software (vst) vienen a menudo como plugins con extensión de archivo dll. Estos plugins necesitan un host para ejecutar. Un buen host de vst gratis es savihost. Elegir la versión VST2, incluyendo el teclado. Lo puede descargar de http://www.hermannseib.com/english/savihost.htm.
Se pueden utilizar casi todos los plugins de vst que te gusta, ya que solo enviamos los mensajes más básicos de midi al sintetizador (noteon/noteoff y volumen cambiar mensajes). Algunas sugerencias de plugins (todo uso gratuito):
- Lxox_Flute - http://www.vst4free.com/free_vst.php?id=188
- Kontakt 5 - http://www.native-instruments.com/en/specials/free...
- Synth1 - https://www.kvraudio.com/product/synth1-by-ichiro...
- TAL_Elek7ro - https://tal-software.com/products/tal-elek7ro
- TX16Wx. http://www.tx16wx.com/
Me gusta usar Lxox_Flute debido a la simplicidad y la simulación de flauta de Niza. Elek7ro también no es demasiado difícil de entender y le permite crear otros instrumentos. Synth1 tiene un buen conjunto predefinidos de instrumentos de viento y le permite reasignar el volumen de la respiración a otro efecto. TX16Wx te permite utilizar tus propios sonidos de muestra (archivos wav). Kontakt 5 tiene una sensación sólida agradable a él.
Para ejecutar un plugin necesita cambiar el nombre (o copiar) savihost.exe para que coincida con el nombre del archivo dll de plugin vst. Después de ejecutar el exe nuevo, asegúrese de activar midi en menú 'dispositivos>'Midi' y el 'Puerto de entrada 1' en el dispositivo de midi2USB (ver primera foto).
Nota: Me di cuenta que el plugin de Lxox_Flute no tiene sonido en las octavas bajas. Arduino 'Oct' variable se establece en la octava 5 que funciona en mi configuración. Si esto no funciona en su configuración (improbable) puede cambiar el Arduino 'oct' variable o transformar la octava VSTHost menú 'PlugIn' > submenú 'transformación' > 'canal' el valor '1' > set 'transposición' a '+ 1 octava' (ver segunda foto).