Musica y Sonido Con Arduino

July 16, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Musica y Sonido Con Arduino...

Description

 

TIENDA

ARDUINO

RASPBERRY PI PI

IMPRESORA 3D 3D

FORO

CONTACTO

INSTALACIÓN DEL ENTORNO MIDI Descargar y configurar todos los programas necesarios

Home   INSTALACIÓN DEL ENTORNO MIDI

OBJETIVOS .  Establecer un entorno básico que nos permita jugar con MIDI y sintetizadores físicos o virtuales.  Descargar e instalar todos los programas que vamos utilizar.

cómo se conectan conectan todos todos los disp sí. dispositivos ositivos y pr program ogramas as entre sí.  Entender cómo se curso con con garantí as. as. entorno orno de de trabajo para poder afrontar el curso  Preparar el ent  

ENTORNO DE TRABAJO

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Para seguir este curso necesitaremos conectar un teclado  y un sintetizador  MIDI (ya sean físicos o virtuales corriendo en el PC) , el propio Arduino y un PC. Independientemente de que el teclado, el sintetizador o ambas cosas sean físicas o virtuales virt uales el esquema de conexión es el mismo. Pero en el caso de que alguna de ellas virtual tendremos también que crear los puertos virtuales para conectarlos internamente en el PC. Explicaremos un poco más adelante cómo hacerlo.

Si tenéis un teclado MIDI y un sintetizador podéis conectarlo a Arduino directamente con un shield MIDI  o haciendo vuestro propio montaje, pero para seguir el curso recomendamos pasar por el PC para poder leer en tiempo real los mensajes que estemos enviando y poder asegurarnos de que lo que programemos esté bien.  

 Recordad que si vuestro teclado o sintetizador sólo tiene tomas MIDI, podéis usar un adaptador de MIDI a

USB para conectarlo al PC.

 

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

INSTALANDO EL IDE Y LA LIBRERÍA MIDI   Aunque es bastante probable que los que vayan a empezar este curso ya habrán utilizado Arduino antes, si alguien va a utilizar uno por primera vez debería empezar por instalar el IDE de Arduino. Podéis ir a su respectiva sesión en este este enlace. Siguiendo la filosofía de esta página, vamos a servirnos del trabajo de la inmensa comunidad de Arduino y a utilizar una librería que nos va a facilitar muchísimo la programación. De hecho, ni si quiera tendríamos que conocer la estructura de los mensajes para utilizarla, pero siempre es bueno saber, aunque sea un poco por encima, cómo funciona el MIDI en realidad. Podéis descargar la librería aquí Arduino_MIDI_Library_v4.2 e incluirla en el IDE como hacemos normalmente.  

CREANDO CONEXIONES MIDI VIRTUALES   Para poder mandar mensajes MIDI entre diferentes aplicaciones de nuestro PC vamos a necesitar crear puertos MIDI virtuales. Por decirlo de alguna manera es la forma en la que vamos a crear los puertos y los cables virtuales que unirán el teclado al Arduino y el Arduino al sintetizador en el interior de nuestro PC. Tendremos que crear un puerto por cada dispositivo virtual que vayamos a utilizar y después en los programas que usaremos como teclado y sintetizador les diremos a qué puerto se tienen que conectar. Para Windows vamos a descargar el programa LoopMIDI que podéis encontrar aquí . Una vez descargado lo instalamos siguiendo el asistente de instalación y lo ejecutamos.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Para añadir un puerto MIDI virtual simplemente damos al botón “+”  y  y veremos cómo van a apareciendo en la lista. Podéis darle el nombre que queráis en la parte inferior. Para borrar un puerto es tan sencillo como seleccionarlo y darle al “-“. Vamos a crear dos, uno para el teclado y otro para el sintetizador.

 

 Tendremos que tener este programa siempre arrancado para que estén disponibles esos puertos virtuales

que hemos creado.

Si utilizáis MAC OS X no tendréis que descargar nada porque viene con los drivers IAC para crear puertos MIDI virtuales. Para crear un bus hay que ir a “ Aplicattions  Aplicattions -> Utilities -> Audio Midi Setup” .

En la pestaña Window seleccionamos “Show MIDI Window” , hacemos click en “IAC Driver”  y  y marcamos la casilla “Device is online” . Se pueden renombrar los puertos como queramos en esta misma ventana, añadir más puertos o borrar alguno de los que hayamos creado y no vayamos a utilizar.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

En Linux podemos crear puertos MIDI virtuales abriendo el terminal de comandos y escribiendo:

sudo modprobe snd-virmidi.

 

TECLADO MIDI VIRTUAL   Si no tenemos un teclado MIDI, el siguiente programa que vamos a necesitar es un teclado MIDI virtual que podamos tocar en nuestro PC. Nosotros Nosotr os vamos a utilizar uno muy sencillito y de código abierto que se llama Virtual MIDI Piano Keyboard  (vmpk) y que podéis descargar, por ejemplo, aquí  e instalarlo siguiendo los pasos que indica. Está disponible para Windows, Linux y Mac. Lo utilizaremos como MIDI IN en nuestro Arduino y leeremos los mensajes que nos envíe y jugaremos con ellos.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Por supuesto podéis usar otro si no os gusta este y si buscáis “teclados midi virtuales”  en  en Google encontraréis multitud de ellos. Si ejecutáis el programa veréis que es muy sencillito, tenemos el teclado y una serie de parámetros que podemos ir cambiando: canal, velocidad, programa… Y que si tocáis alguna tecla sonará, pero no es eso lo que queremos.  

 En caso de que tengáis un teclado MIDI, simplemente conectarlo al PC y lo reconocerá como un dispositivo

MIDI.

Para conectarlo a uno de los puertos virtuales hay que seleccionar “Edición”->”Conexiones MIDI” y en “Controlador MIDI Out” seleccionar “Windows MM” y en “Conexión de salida MIDI”  un  un puerto que hayamos creado.

Si hemos hecho bien este paso, el teclado no debería sonar cuando lo toquemos, ya que no está conectado a ningún sintetizador.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

SINTETIZADOR VIRTUAL   El tema de los sintetizadores es un mundo por sí mismo, y si buscáis un poco de información por ahí, veréis que es un tema recurrente en todos los foros de música que hay por la red. Si ya estáis familiarizados con este tema, sólo tenéis que configurar las conexiones del sintetizador para conectarlo a un puerto virtual de los que hemos creado. Debería ser algo parecido a lo que hemos hecho con el teclado.  

Más  adelante adelante  trataremos trataremos  de de  hacer  una una  sesión sesión  (o (o  más) más)  tratando tratando  un un   poco  poco en en   profundidad  profundidad el el  tema tema  de  Más los sintetizadores. los    Al igual que con los teclados, si tenéis un sintetizador simplemente conectarlo al PC.

Así que de momento vamos a dar dos opciones muy fáciles de utilizar, que en cuanto a calidad de sonido pueden ser un poco flojillos, pero serán suficiente para empezar. La primera opción es utilizar el sintetizador que viene instalado por defecto en los sistemas operativos. En este caso no tenemos que configurar nada de momento, y si no queréis más lío de momento, es la opción más recomendable. r ecomendable. La segunda opción es utilizar el que se descarga junto al teclado que hemos descargado y que se llama FluidSynth, y que a mi parecer suena mejor que el que viene preinstalado en Windows. Para poder utilizarlo vamos a tener que abrir otro vmpk y así usaremos uno como teclado y otro como un sintetizador. En el que vamos a usar como sintetizador tendremos que conectarlo de la siguiente forma:

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Lo malo es que si lo usamos así, tanto de teclado como de sintetizador, tendremos t endremos que configurarlo cada vez que vayamos a trabajar con él, porque no podemos guardar dos configuraciones distintas. Pero bueno, no se tarda ni un minuto y siempre está la opción de usar los sintetizadores preinstalados.  

CONVERTIDOR SERIE A MIDI   Como nuestro PC no detecta a los Arduino como un dispositivo MIDI vamos a necesitar un programilla que convierta los datos serie a MIDI, y que además nos los presente de una forma aceptable para que los podamos interpretar. Yo recomiendo usar el Hairless , que es gratis y muy fácil de usar. Además funciona con la librería que vamos a usar y sirve para Windows, Linux y Mac. Basta con descargarlo y ejecutarlo, no necesita instalarse. Lo podéis descargar aquí .

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Pero si no os gusta y preferís usar otro podéis buscar en Google “convertidor serie midi”  y  y os aparecerán otras opciones.  

 Hay un método para hacer que nuestro PC se comporte como un controlador MIDI nativo. Trataremos de

explicarlo más adelante, pero si tenéis prisa buscad “Hiduino” en Google.

Al ejecutarlo veréis que hay una especie de esquemita con las conexiones entre el MIDI In, el MIDI Out y el Serial Port o Puerto Serie.  En el Serial Port  seleccionaremos el puerto al que esté conectado Arduino.  En el MIDI In tendremos que seleccionar el teclado MIDI o el puerto virtual al que hayamos conectado el

teclado virtual.  En el MIDI Out seleccionaremos el sintetizador o el puerto virtual en el que hayamos conectado el

sintetizador virtual. Si usamos el sintetizador que viene preinstalado podemos seleccionarlo directamente sin pasar por un puerto virtual.

 Si ahora mismo no entendéis muy bien qué son estos tres tipos de conexión, no os preocupéis que las

explicaremos en la siguiente sesión.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Para que esas conexiones estén activas tendremos que marcar la casilla “Serial MIDI Bridge On” , pero mientras este activada no podremos cargar programas en el Arduino, ya que tendremos el puerto serie ocupado. O sea que tendremos que desactivarlo cada vez que queramos cargar un programa nuevo.  

 Si usáis un shield Midi, tendréis que desconectarlo también cuando carguéis el programa con el IDE o no

 funcionará.  Existen shields con los que puedes activar y desactivar las conexiones Midi con un interruptor para cargar el 

 programa sin necesidad de desmontarlo de la placa Arduino.  No os preocupéis que lo iremos recordando en las siguientes sesiones.

También veréis que hay otra casilla “Debug MIDI Messages”  que tendremos que marcar si queremos que nos muestre los mensajes que está enviando y recibiendo Arduino en modo texto. Si ahora tocáis un poco el teclado veréis los mensajes MIDI que está mandando.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

En este punto, aunque toquemos notas en el teclado, no debería debería sonar nada. Los mensajes MIDI le están llegando a nuestro Arduino, pero no les hace ni caso. Y claro, el sintetizador no emite ningún sonido porque de momento no se entera de la fiesta, cosa que iremos solucionando de aquí en adelante.

 

Anterior

 

Siguiente

No Comments GIVE A REPLY

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Message

Name (required)

Email (required)

URL

Post comment WordPress Anti-Spam by WP-SpamShield

Copyright Prometec

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

TIENDA

ARDUINO

RASPBERRY PI PI

IMPRESORA 3D 3D

FORO

CONTACTO

CONEXIONES, SEÑALES Y MENSAJES MIDI Presentando los conceptos básicos del MIDI

Home   CONEXIONES, SEÑALES Y MENSAJES MIDI

OBJETIVOS .  Explicar cómo funciona la transmisión serie asíncrona.  Presentar los diferentes tipos de conexiones MIDI.

estructura de un mensaje MIDI. MIDI.  Describir la estructura estructura de de los mensajes mensajes Note Note On  On  y Note Off.  Detallar la estructura

  MATERIAL REQUERIDO.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

 Un poco de ganas y de interés.

 

LA SEÑAL ELÉCTRICA   El MIDI usa una interfaz serie asíncrona , a una velocidad un poco extraña de 31.250KHz. El chip que genera y recibe recibe estos datos asíncronos se llama UART (Universal Asynchronous Receive Transmitters) y todos los Arduinos tienen al menos uno de estos chips. El UART es el chip que se utiliza también para cargar nuestros programas y para enviar datos por el puerto serie. Cuando decimos que un dato es serie asíncrono queremos decir que se mandan bit a bit, de uno en uno, y el receptor sincroniza estos datos una vez por cada byte (8 bits). Las señales que vamos a manejar son binaria, pero cuando hablamos de comunicación serie asíncrona no les llamamos HIGH y LOW. En su defecto les llamaremos MARK cuando sea 1 y SPACE cuando sea 0. Cuando no se están enviando mensajes, la señal permanece en MARK y la aparición de un SPACE marca el comienzo de un byte de datos (Start). Después se puede o no enviar un dígito paridad, que sirve para comprobar que el byte se ha mandado de forma correcta, y que las señales MIDI no utilizan.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

El byte termina con la señal de Stop, que es MARK.

 

CONEXIONES   Ya hemos dicho que las conexiones y los cables también son estándar en todos los dispositivos MIDI, pero podemos encontrarnos con tres tipos diferentes de conexiones MIDI IN, MIDI OUT y MIDI THRU. Por la conexión MIDI IN, recibimos las señales y tras transformarlas (o no) las enviamos por el MIDI OUT. Como norma general una salida MIDI OUT siempre debería ir conectada a una entrada MIDI IN. Una conexión MIDI THRU  lo que hace es sacar exactamente lo que le llega por el MIDI IN, o sea que viene siendo muy parecido a un MIDI OUT. A veces se utilizan unos dispositivos que tienen un MIDI IN y varios MIDI THRU, de forma que podamos enviar la misma señal a varios sitios a la vez. Como nuestro Arduino tiene un chip UART, podemos utilizar un circuito para utilizar las líneas serie de entrada y salida como líneas MIDI. Y si establecemos la velocidad correcta (31.250KHz) podemos comunicarnos con cualquier dispositivo MIDI.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Lo que es imprescindible es que tengamos una conexión MIDI IN y otra MIDI OUT. Podemos prescindir del MIDI THRU, a no ser que queráis montar un sistema más complejo.

Si vamos a utilizar la conexión que hemos recomendado utilizando un PC no necesitamos usar un shield y el cable usb que conectemos del Arduino Ar duino al PC funcionará como MIDI IN y MIDI OUT. Y además no tendremos que usar la velocidad de comunicación estándar del MIDI de 31.250KHz. 31.250K Hz.  

ESTRUCTURA DE UN MENSAJE MIDI   En resumen la estructura de un mensaje MIDI se reduce a:  

 1 bit SPACE como señal de Start.  1 byte con información.  1 bit MARK como señal de Stop.

Para controlar un dispositivo MIDI, lo que hacemos es combinar varios de esos bytes de información, y su contenido y la cantidad de ellos dependerá del tipo de mensaje que estemos gestionando.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Hay diferentes tipos de mensajes MIDI y cada uno de ellos controla contro la un aspecto del sistema, pero en vez de presentar todos t odos juntos, vamos a ir introduciéndolos en las diferentes sesiones, de uno en uno y poco a poco, que siempre es menos doloroso. A la hora de programar vamos a mantener la filosofía de la página de trabajar lo menos posible y aprovechar la inmensa comunidad que hay detrás de Arduino, y por eso vamos a utilizar la librería Arduino Midi Library, que nos facilitará muchísimo la programación. Pero como tampoco es bueno trabajar a ciegas, explicaremos un poco por encima las tripas de cada tipo de mensaje.  

MENSAJE NOTE ON   Un mensaje MIDI resulta de la combinación de varios bytes de información. infor mación. El número de bytes que lo compongan depende del tipo de mensaje. Hay varios tipos de mensajes, y cada uno de ellos controla una parte de un sistema musical MIDI. Como la mejor manera de entender las cosas suele ser con un ejemplo, vamos a empezar con un mensaje sencillo, el Note On , que se utiliza cuando se genera una nota. Este tipo de mensajes está compuesto por 3 bytes. Y un ejemplo podría ser este:

El primer byte nos indica el tipo de mensaje y a qué canal va dirigido. dirigido. Se le conoce como byte de Status.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

m ensaje es, en este caso Note On, y el primero de esos bits siempre será 1 para indicar que es un byte Los 4 primeros bits nos indican qué tipo de mensaje de Status. Normalmente un mensaje MIDI va dirigido a un canal y cada conexión MIDI puede comunicarse por 16 canales MIDI . De esta forma cada dispositivo MIDI puede utilizar uno, varios o incluso todos los canales. De esta forma podemos tener varios equipos conectados, y que cada uno de ellos reaccione cuando se le mande un mensaje por el canal que le hayamos seleccionado. Los canales en términos de programación se numeran del 0 al 15, pero para un músico lo hacen de 1 al 16. Esto no puede llevar a errores tontos, y es que lo que para el programador es un valor 5 en el canal, para el músico corresponde al canal 6. Como hemos dicho, los mensajes Note On están compuestos com puestos de 3 bytes, y los otros dos que nos quedan contienen los datos de ese mensaje. Se les llama bytes de datos.

El primero de ellos contiene la información de la nota que y el segundo la velocidad, que es la fuerza con la que se ha tocado. Como el primer bit tiene que estar a 0, el byte puede tener 128 valores que van del 0 al 127.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

En el caso de la nota cada unidad es un semitono semito no mayor que la anterior, haciendo un total de 128, y que cubren todo el espectro auditivo. De hecho muchos generadores de sonidos MIDI, no producen ningún sonido para los valores más extremos, tanto por arriba como por abajo.  

 Un semitono es el intervalo más pequeño posible en una escala.  Un tono es igual a dos semitonos.  Entre las diferentes notas de una escala hay un tono, excepto de Mi a Fa y de Si a Do, que hay un

semitono.

 Si, por ejemplo, sumamos un semitono a Sol, lo que tenemos es un Sol sostenido o La bemol.

En el caso de la velocidad, cuanto mayor sea más fuerte se habrá tocado la nota, siendo 127 el máximo. Normalmente la velocidad se traduce en el volumen de la nota, aunque también puede modificar el timbre, si tenemos el dinero suficiente.

 El timbre es lo que nos hace diferenciar la misma nota producida por diferentes instrumentos, por ejemplo,

una flauta, un piano o un violín. Es más, incluso nos permite diferenciar entre diferentes flautas, pianos o violine

 

MENSAJE NOTE OFF   Todo mensaje de Note On debería estar acompañado en algún momento de un Note Off , que indica se deja de tocar una nota.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Hay dos maneras de enviarlo de hacerlo:  

 Mandar un mensaje Note Off.  Mandar un mensaje Note On, indicando en el primer byte de datos la nota que queremos liberar y en la

velocidad el valor 0.

Un mensaje Note Off es muy parecido al Note On, pero poniendo en el tipo de mensaje del byte de Status un 8. El primer byte de datos indica que nota hemos dejado de pulsar, y el segundo la velocidad lo rápido r ápido que se ha liberado la nota.

En realidad la mayoría de dispositivos no tienen en cuenta la velocidad de los mensajes Note Off. Por eso la mayoría de las veces se utiliza el mensaje Note On con velocidad 0, y que entienden absolutamente todos los lo s dispositivos.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

A partir de la siguiente sesión empezaremos a enviar y recibir mensajes y a hacer, por fin, f in, un poco de ruido.  

RESUMEN DE LA SESIÓN   En esta sesión hemos aprendido varias cosas importantes:  

 Hemos aprendido cómo se transmiten los mensajes MIDI.  Existen tres tipos de conexiones MIDI: IN, OUT y TRHU .  Conocemos la estructura general de un mensaje MIDI.   Hemos descrito con detalle los mensajes Note On y Note Off..

  PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

 

Anterior

 

Siguiente

No Comments GIVE A REPLY Message

Name (required)

Email (required)

URL

Post comment

WordPress Anti-Spam by WP-SpamShield

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

Copyright Prometec

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

TIENDA

ARDUINO

RASPBERRY PI PI

IMPRESORA 3D 3D

FORO

CONTACTO

GENERAR MENSAJES MIDI Tocando notas desde Arduino

Home Home

OBJETIVOS .  Poner en marcha Hairless  correctamente.  Empezar a trabajar con la librería MIDI  que vamos a usar.

MIDI con Arduino para tocar notas.  Generar mensa jes MIDI

  MATERIAL REQUERIDO.

  

GENERAR MENSAJES MENSAJES MIDI MIDI

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

 

Arduino Uno o similar

Esta sesión acepta cualquier otro modelo de Arduino.

 

Un cable USB adecuado al conector de tu Arduino.

 

Un PC con el entorno de trabajo MIDI correctamente instalado y configurado.

PUESTA EN MARCHA  

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

En esta sesión vamos a generar mensajes directamente con A rduino, sin necesidad de un teclado, y los enviaremos a un sintetizador para empezar a generar sonidos. En concreto vamos a generar los mensajes necesarios para tocar y silenciar una nota, que son los que conocemos. Por lo tanto, necesitaremos tener arrancado Hairless , Loop Midi  en el caso de Windows y de que utilicemos un sintetizador  virtual, y dicho sintetizador.

Cuando arranquemos Hairless tendremos que seleccionar en el MIDI OUT el sintetizador que vayamos a usar o el puerto MIDI virtual al que está conectado, y en la pestaña “Serial Port”  escogeremos  escogeremos nuestro Arduino. Además marcaremos la casilla “Debug MIDI Messages”  para poder leer los mensajes que vayamos enviando. Es muy importante fijarse si está activada o no la opción “SerialMIDI Bridge On”. Mientras esté activada, Arduino estará conectado al MIDI IN y MIDI OUT, pero no podremos cargarle programas. Así que recordad que cada vez que le subamos un sketch, hay que desactivar esta casilla.

 

GENERAR NOTAS ALEATORIAS

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

  Ahora que ya hemos preparado todo lo necesario, arrancamos el IDE de Arduino para empezar a programar. Recordad que vamos a utilizar la librería Arduino Midi Library y que tenéis que tenerla correctamente instalada.

Lo primero que haremos será incluir la librería y crear una instancia MIDI. Además crearemos una variable nota, donde guardaremos los valores que generemos aleatoriamente. #include MIDI_CREATE_DEFAULT_INSTANCE(); int nota;

En el setup tendremos que llamar a la f unción MIDI.begin(). Está función establece la velocidad de transmisión a 31.250 baudios que es la que utiliza el MIDI, así que si vamos a conectarlo al PC deberemos cambiar esa velocidad. void setup()  

{

 

MIDI.begin();

 

Serial.begin(115200); //Cambiamos la velocidad del puerto serie

 

}

Hemos escogido esta velocidad porque es la que viene por defecto en Hairless, pero si queréis cambiarla podéis hacerlo en “File->Preferences->Baud  rate” . Las funciones que se utilizan para enviar los mensajes Note On y Note Off  son  son muy sencillas, y simplemente les pasamos como parámetros la nota, la velocidad y el canal  (que nos deberían sonar de la sesión anterior).

MIDI.sendNoteOn(note, velocity, channel); MIDI.sendNoteOff(note, velocity, channel);

Así que para tocar simplemente una nota aleator ia, el programa sería tan sencillo como este:

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

void loop()  

nota = random(36, 96); //Selecciona la nota de forma aleatoria

 

MIDI.sendNoteOn(nota, 127, 1);

 

delay (500);

 

MIDI.sendNoteOff(nota, 127, 1);

   

 

{

 

//Genera la nota

//Silencia la nota

delay (500); }

 Hemos elegido las notas de la 36 a la 96 porque son las que suelen tener los teclados normales de 5 

octavas (5 escalas completas), como el que tenemos descargado.  Cuando utilizamos la librería, los canales van del 1 al 16, igual que en los dispositivos que utilizan los

músicos.

Podéis descargar el programa aquí: Notas_aleatorias Notas_aleatorias.. Si miramos la pantalla de Hairless veremos los mensajes que se están enviando, y como cada vez que Arduino envía un mensaje o lo recibe el sintetizador se enciende una luz verde.

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

TOCANDO UNA ESCALA  

Para tocar una escala crearemos un array con las notas que lo componen y lo iremos recorriendo cada vez que se ejecute el

loop utilizando loop  utilizando un ciclo

for.

int numNotas=9; int notas[ ] = {60, 62, 64, 65, 67, 69, 71, 72}; //Declaramos las notas de la escala

 

 Hemos elegido las notas de la 36 a la 96 porque son las que suelen tener los teclados normales de 5 

octavas (5 escalas completas), como el que tenemos descargado.  Cuando utilizamos la librería, los canales van del 1 al 16, igual que en los dispositivos que utilizan los

músicos.

Y en el loop simplemente iremos generando y silenciando las not as recorriendo el array en un ciclo for:

PDF created on http://www.htm2pdf.co.uk via the HTML to PDF API  

void loop()      

{ for (int i=0 ;

i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF