Musitronica - Metodología Pygmalion

Unidad
Aplicaciones
Sesión 1
Musitrónica
Musitrónica
¿Qué aprenderemos en esta sesión?
En esta sesión generaremos una gran variedad de sonidos por medio de nuestra tarjeta innobot,
para luego crear tonos musicales como por ejemplo La música de fondo del clásico video juego
“Mario Bross” o alguno en particular que te guste.
Actividad 1 – ¿Qué es Musitrónica?
1. Haz clic en el siguiente enlace http://www.youtube.com/watch?v=wkPt9MYqDW0. Y observa
los ejemplos de “pianos” musicales que se pueden hacer.
2. ¿Qué más aplicaciones se te ocurren?
Escalas musicales
¡La música es un arte! Dirían la mayoría de artistas y cantantes hoy en día, pero la verdad
es mucho más que eso, la música es el arte de combinar sonidos basados en 3 reglas, que
son la melodía, la armonía y el ritmo.
Vamos a leer el siguiente verso:
Ut queant laxis
Resonare fibris
Mira gestorum
Famili torum
Solve polluti
Labii reatum
Sancte Iohannes.
DO
C
RE
MI
FA
SOL
LA
SI
D
E
F
G
A
B
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
Capítulo: Musitrónica
De este verso, se sacaron el nombre de las notas musicales que conocemos, las cuales
se llaman notas naturales y son:
2
Ejercicio:
Para lograr hacer melodías con la tarjeta Innobot, necesitamos identificar un elemento que genere
sonido dentro de ella, en este caso la tarjeta posee un elemento llamado buzzer, este hace las
veces de un parlante en el equipo de sonido
FIG. 1 - BUZZER TARJETA INNOBOT. FUENTE: PYGMALION®
Como entramos a un nuevo módulo necesitamos una nueva librería, con los siguiente pasos
podrás hacer uso de ella.
1. Debes ingresar a la página http://innobotica.pygmalionrobotics.com dar click al link
Software/ y bajarte los archivos Transmedia.h y Transmedia.cpp.
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
Capítulo: Musitrónica
2. Una vez descargados los archivos, abrimos el Innobot IDE, y vamos a agregar ambos
archivos, haciendo click en la pestaña Sketch y luego a la opción Agregar Archivo…
3
3. Ingresar a la sección de Programa y luego sobre Add. ZIP Library
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
Capítulo: Musitrónica
4. Luego buscar y seleccionar la carpeta comprimida Transmedia.zip.
4
5. Finalmente click sobre Transmedia:
Ahora que ya tenemos todos listo
#include "Transmedia.h" //Incluimos la nueva librería Transmedia
Transmedia robot; // Le damos nombre a nuestro Robot
void setup(){
robot.myTime(1000);
robot.myTone(Do4,negra);
robot.myTone(Re4,negra);
robot.myTone(Mi4,negra);
robot.myTone(Fa4,negra);
robot.myTone(Sol4,negra);
robot.myTone(La4,negra);
robot.myTone(Si4,negra);
}
void loop(){
}
Tenemos una función nueva llamada myTone() , ahora miremos como utilizarla, esta le permite a
nuestra tarjeta emitir sonidos.
myTone()
Descripción
Genera un tono en el pin que está conectado el Buzzer.
Sintaxis
robot.myTone(NOTE, DURATION);
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
Capítulo: Musitrónica
Parámetros
 NOTE: Es la nota que se quiere reproducir, cada nota de la escala musical puede tomar
valores desde 0, hasta 10, por ejemplo Do0, Do3….. Do10. Donde las notas con valores
de 0 son notas muy graves, 4 son notas de registro medio y notas con valores de 7 son
muy agudas, frecuencias cercanas a 10 son casi inaudibles.
 DURATION: duración de la nota, esto es: redonda, blanca, negra, corchea, semicorchea,
fusa y semifusa.
Devuelve
 NA: Nada
5
Actividad:
Ahora que sabemos cómo es el funcionamiento de la nueva función:
1. Haz que todas las notas en el código duren 250 milisegundos y escucha lo que sucede.
2. Ahora juega con la duración de las notas musicales y haz tu propia melodía ¿Qué
pasaría si colocamos la duración de alguna nota en 0?
3. Realiza una melodía con los posibles valores de DO, desde el más grave (DO2) hasta el
más agudo (DO7).
Una nueva escala
Si las canciones que escuchamos hoy, se hicieran con base en las notas naturales, escucharíamos
melodías muy sencillas tanto que no serían nada atractivas, y probablemente nunca escucharíamos
música.
Para lograr melodías que escuchemos mejor, se crea la escala cromática, que tiene 12 notas,
también conocidas como los 12 semitonos.
DO
DO#
RE
RE#
MI
FA
FA#
SOL
SOL#
LA
LA#
SI
Donde las notas con # al lado derecho, se les agrega en el nombre “Sostenido”, por ejemplo DO#,
seria DO Sostenido, que es un sonido intermedio entre DO y RE.
Ejercicio:
Ahora probemos el siguiente código:
#include "Transmedia.h"
void setup(){
robot.myTime(1000);
robot.myTone(Do4,blanca);
robot.myTone(DoS4,blanca);
robot.myTone(Re4,blanca);
robot.myTone(ReS4,blanca);
robot.myTone(Mi4,blanca);
robot.myTone(Fa4,blanca);
robot.myTone(FaS4,blanca);
robot.myTone(Sol4,blanca);
robot.myTone(SolS4,blanca);
robot.myTone(La4,blanca);
robot.myTone(LaS4,blanca);
robot.myTone(Si4,blanca);
}
void loop(){
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
Capítulo: Musitrónica
Transmedia robot;
6
}
Mundo musical y la duración de las notas
Los músicos para simplificar la tarea de copiar nota por nota, y la duración de cada una en un
cuaderno, crearon las partituras, donde combinan las notas con la armonía, melodía y ritmo.
FIG. 5 – P ARTITURAS
También crearon unos símbolos o figuras musicales para saber la duración de cada una de las notas
que son interpretadas en una canción, en la imagen anterior el símbolo que se utiliza es conocido
como la Redonda, a esta se le asigna una duración, por ejemplo de 1 segundo (1000ms), las otras
notas se calculan en base a esta, en la siguiente tabla esta una relación entre la duración de los
símbolos.
Volviendo al ejemplo, para una redonda de 1000ms, una nota Blanca dura 500ms ( 1⁄2 ∗ 1000 𝑚𝑠),
la negra dura 250ms (1⁄4 ∗ 1000 𝑚𝑠 ), la Corchea dura 125ms (1⁄8 ∗ 1000 𝑚𝑠).
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
Capítulo: Musitrónica
FIG. 6 – T ABLA D URACIÓN S ÍMBOLOS .
7
Actividad:
Ahora probemos el siguiente código:
#include "Transmedia.h"
Transmedia robot;
void setup(){
robot.myTime(1000);
robot.myTone(Do4,redonda);
robot.myTone(Re4,redonda);
robot.myTone(Mi4,blanca);
robot.myTone(Fa4,blanca);
robot.myTone(Sol4,negra);
robot.myTone(La4,corchea);
robot.myTone(Si4,semicorchea);
}
void loop(){
}
Tenemos una nueva función que se llama myTime(), la cual nos sirve para calcular los valores de
los símbolos automáticamente con base en la nota Redonda, para que en cualquier momento de
nuestro programa, si queremos que una canción vaya lento y después se acelere podemos
modificarlas volviendo a llamar la función time y crear nuestra propia opera.
FIG. 7 – E JERCICIO .
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
Capítulo: Musitrónica
Para el ejemplo anterior, se calculan los valores de los símbolos, con base a una Redonda que vale
1000ms. Ahora te proponemos un ejercicio donde tienes que calcular el valor de la duración de los
símbolos con base a una redonda de 2000ms.
8
Actividad:
Ahora probemos el siguiente código:
#include "Transmedia.h"
Transmedia robot;
void setup(){
robot.myTime(1000);
robot.myTone(Do4,blanca);
robot.myTone(Re4,blanca);
robot.myTone(Mi4,blanca);
robot.myTone(Fa4,blanca);
robot.myTime(500);
robot.myTone(Do4,blanca);
robot.myTone(Re4,blanca);
robot.myTone(Mi4,blanca);
robot.myTone(Fa4,blanca);
robot.myTime(2000);
robot.myTone(Do4,blanca);
robot.myTone(Re4,blanca);
robot.myTone(Mi4,blanca);
robot.myTone(Fa4,blanca);
}
void loop(){
}
Ahora en nuestra función myTone() puedes utilizar la duración de las notas del mundo musical, y de
esa forma no tienes que estar copiando la duración en ms, sino que colocas el nombre del símbolo
(redonda, blanca, negra, corchea, semicorchea), no olvides llamar la función time() antes de
empezar el programa, ten esto muy en cuenta para realizar el desafío.
Desafío
1. Tenemos las siguientes melodías, escoge una y ajusta la pausa entre notas, para que
suenen correctamente (Si quieres hacer una pausa entre notas, puedes utilizar la función
delay() ):
Las notas
minúsculas (do, re, etc.) son agudas (valor 6)
normales (Do, Re, etc.) son de registro medio (valor 4)
minúsculas con asterisco (do*, re*, etc.) son muy agudas (valor 7)
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
Capítulo: Musitrónica
mayúsculas (DO, RE, etc.) son graves (valor 3)
9
COMENTARIO: La forma en cómo se copian las notas musicales en este ejemplo, no
cambia la forma en que hemos venido copiando las notas anteriormente, siguen siendo en
mayúsculas (DO0, DO3, DO4, DO7….).
La cucaracha:
La cucaracha,
La cucaracha,
Porque le falta,
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
Capítulo: Musitrónica
Ya no puede caminar.
1
0
Porque no tiene,
Una patita para caminar.
Tema principal – Super Mario Bros:
mi* mi* mi* do* mi* sol* sol
do* sol mi la si la# sol, mi* sol* la* fa* sol* mi* do* re* si
do* sol mi la si la# sol, mi* sol* la* fa* sol* mi* do* re* si
sol* fa#* fa* re#* mi* sol# la do* la do* re*
sol* fa#* fa* re#* mi* do* do* do*
sol* fa#* fa* re#* mi* sol# la do* la do* re*
re#* re* do*
Capítulo: Musitrónica
O si quieres buscar tus propias melodías, ingresa a http://flautad.blogspot.com/ y busca
una melodía para implementa
"Esta Metodología, y todas sus guías, manuales y componentes, fue desarrollada por PYGMALION (R), quien tiene los derechos de uso, distribución, comercialización
y autorización a terceros. Queda prohibida la reproducción parcial o total del presente documento, por medio de cualquier proceso reprográfico, sea fónico, microfilme,
mimeográfico, offset, electrónico o por fotocopia. Esta edición y sus características gráficas son propiedad de FUNDACIÓN PARQUE DEL SOFTWARE MEDELLÍN,
ParqueSoft Medellín.Todos los derechos Reservados"
1
1