Tabla de contenido:

El Synthfonio: un instrumento musical para todos: 12 pasos (con imágenes)
El Synthfonio: un instrumento musical para todos: 12 pasos (con imágenes)

Video: El Synthfonio: un instrumento musical para todos: 12 pasos (con imágenes)

Video: El Synthfonio: un instrumento musical para todos: 12 pasos (con imágenes)
Video: Franco Molina - Victima del Viento (Video Oficial) | BAJ 2024, Mes de julio
Anonim
Image
Image
Diagrama de cableado
Diagrama de cableado

Me gustan los sintetizadores y los controladores MIDI, pero soy terrible tocando los teclados. Me gusta escribir música, pero para tocar dicha música es necesario haber aprendido a tocar un instrumento. Eso lleva tiempo. Tiempo que mucha gente no tiene y que suele disuadirles de seguir practicando. Estoy tratando de cambiar eso. Este proyecto es un intento de acortar la brecha entre el momento "Me gustaría aprender a tocar X" y el momento "Me gusta jugar X". Sé que la mayoría de nosotros soñamos o seguimos soñando con lo último, pero nos quedamos atrapados en lo primero, y también sé el momento en que pude interpretar y disfrutar mis primeras canciones básicas de cuatro acordes en la guitarra, fue el momento en el que realmente Empecé a aprender a tocar el instrumento y nunca me he rendido desde entonces.

Qué es esto

Se trata de un instrumento fácil de aprender, sencillo de operar, orientado a la improvisación y con un sinfín de posibilidades de sonidos (como controlador MIDI). Cuenta con 2 juegos de teclas, una para definir acordes y firmas de teclas, y otra para tocar las notas. Cualquier acorde que se presione en las teclas del cuello del instrumento definirá el tono de las teclas en el mango del instrumento, similar a una guitarra, violín y otros instrumentos de cuerda; con el avance añadido de que este es un dispositivo inteligente que puede interpretar la escala que se está reproduciendo a partir de una sola nota o par de notas.

Cómo funciona

Sencillo. ¿Quieres tocar un acorde E? simplemente presiona la tecla E en el cuello (vea el diagrama en el paso 11) y dispara lo que quiera en las teclas del mango. No se preocupe, estará afinado. Puede usar las teclas del mango para tocar acordes, melodías y arpegios en cualquier tonalidad que desee, simplemente presionando la tecla correspondiente en el mástil. De la misma manera, presionando la tecla A en el mástil junto con la tecla C (tercio menor de A) activará una tonalidad A menor para las teclas del mango.

Esto puede permitir que cualquier jugador ejecute una melodía de 4 acordes (la música más popular es de 4 acordes), acompañamiento o incluso improvisación; con no más de unos pocos dedos en posición.

Este instrumento puede funcionar como controlador MIDI e incorporé un sintetizador incorporado simple para tocar sin equipo externo. Dependiendo de la placa arduino que elija usar, este proyecto también podría funcionar como un controlador MIDI USB o un controlador MIDI sobre BLE.

Mis descargos de responsabilidad habituales: - No soy un hablante nativo de inglés, por lo que es posible que se hayan cometido errores. - Además, soy autodidacta en electrónica, codificación y música, así que, de nuevo, es posible que se hayan cometido errores. - Este es un "instrumento para todos" para tocar, no necesariamente para construir. Necesita un poco de conocimiento en electrónica y codificación para trabajar en este proyecto.

_

Suministros

-Un Arduino: Cualquier arduino debería funcionar. Recomiendo una placa con capacidades USB, como las placas basadas en ATmega32U4 (leonardo, micro, etc.), para que puedas usar este proyecto como un controlador MIDI USB. Usé un MKR1010, porque también tiene capacidades bluetooth y un puerto serial de hardware secundario.

-ATmega328 en una placa de pruebas (opcional): esto es para el sintetizador integrado. Podrías usar una placa UNO adecuada, pero opté por un sistema más simple.

-Módulos multiplexores: 2 de ellos, uno para las llaves del tirador y otro para las llaves del cuello.

-Módulo cargador de batería: recomiendo algo como el del enlace, porque tiene protección contra sobrecarga / descarga.

-18650 batería

-Módulo elevador elevador de voltaje: ¡cuidado con esto! Asegúrese de que el módulo que elija pueda admitir voltajes de entrada inferiores a 5v. Los módulos de carga de batería generalmente tienen una salida de alrededor de 4v, y si alimenta ese voltaje a un módulo elevador que no está clasificado para ese voltaje, puede tener problemas. Usé un módulo que necesitaba al menos un voltaje de entrada de 5v y frí mi arduino. (¿Algún proyecto para reutilizar, reciclar una tabla frita? Por favor, deje un comentario)

-1/4 conector de audio hembra

-Potenciómetro estéreo de 10k

-Potenciómetro de 10k (x2)

-x2 interruptores: recomiendo estos, pero cualquier interruptor que mantenga su posición servirá.

-x14 interruptores táctiles: para las teclas del mástil.

-x9 Interruptores de final de carrera: Llaves de empuñadura (7) e interruptores de transposición (2)

Resistencia de -1k ohmios

-x2 resistencia de 220 ohmios (si está haciendo una salida MIDI de 5v)

-33 ohmios y resistencias de 10 ohmios (si está haciendo una salida MIDI de 3.3v)

-Pequeñas tablas de pruebas: ¡tantas como quieras! Construyo todo en protoboards de 170 puntos.

-Alambres de puente: no puedes tener suficiente

¿Por qué dos arduinos separados ?: Sí, debería ser posible escribir un solo boceto ejecutando un sintetizador digital, con USB MIDI, MIDI sobre BLE y funciones MIDI regulares, en la misma placa. Debería, tal vez lo sea, pero no pude. La cosa es; la mayoría de las bibliotecas de sintetizadores están hechas para ATmega328, que no tiene capacidades USB. Por otro lado, las pocas placas basadas en ATmega32U4 (capacidades USB) que ejecutan bibliotecas de sintetizadores, lo hacen con problemas. Olvídese de MIDI sobre BLE, necesita algo como un MKR1010 para eso (por lo que he leído, un módulo hm-10 no funcionará con MIDI), pero la familia MKR usa una arquitectura diferente, y ni siquiera compila bocetos con cualquiera de las bibliotecas de sintetizadores que he encontrado en línea, así que son dos microcontroladores separados para mí. La placa principal se encarga de todo el material de detección, interpretación y midi; y un segundo para el sintetizador integrado, que solo lee datos midi del principal y produce sonido. Versión arduino única (opcional): Sí, si realmente no te importan algunas de las funcionalidades que necesitaba, podrías usar una sola tabla. Por ejemplo, un solo ATmega32U4 como controlador MIDI USB con la biblioteca de sintetizadores con menos errores que pueda ejecutar (aunque sin MIDI BLE), o un solo ATmega328 que ejecute cualquier biblioteca de sintetizadores que desee (sin embargo, sin USB MIDI).

Paso 1: diagrama de cableado

Aquí está el diagrama completo del proyecto. Recuerde, no tiene que usar una placa MKR, la mayoría de las placas funcionarán, solo necesita ser consciente de las posibilidades que tiene cada placa (compatible con USB, compatible con BLE, etc.) y ajustar el voltaje alimentado al pin vin. Ahora veamos cada sección con más detalle:

Paso 2: Diagrama de cableado: Controlador MIDI y multiplexores

Diagrama de cableado: controlador MIDI y multiplexores
Diagrama de cableado: controlador MIDI y multiplexores
Diagrama de cableado: controlador MIDI y multiplexores
Diagrama de cableado: controlador MIDI y multiplexores

-Compartí casi todos los pines entre ambos multiplexores, para reducir aún más el número de pines arduino utilizados. Realmente, solo los pines de señal de cada módulo multiplexor necesitan tener su propio pin arduino dedicado. Esta disposición no produce problemas ni interferencias entre las teclas, ya que el funcionamiento del boceto es lineal y el arduino verifica solo una entrada a la vez. Todo lo que haga el otro multiplexor, o el otro pin de entrada reciba durante esta verificación, será ignorado.

-Los dos interruptores etiquetados como Transposing Switches son interruptores de límite que se activan deslizando la manija a través del orificio deslizante del cuerpo principal (consulte los pasos de "la manija" y "el cuerpo" para obtener más detalles) y transponen todas las notas de la manija una octava hacia arriba o hacia abajo.

-Para el control de volumen utilicé un potenciómetro estéreo, porque necesitamos controlar dos tipos de volúmenes: analógico (sintetizador integrado) y MIDI.

-El circuito de salida MIDI tiene resistencias clasificadas para la salida de 3.3v de mi placa MKR. Si está utilizando una placa de 5v, debe cambiar su resistencia de acuerdo con el diagrama MIDI en la segunda imagen.

Paso 3: Diagrama de cableado: el sintetizador

Diagrama de cableado: el sintetizador
Diagrama de cableado: el sintetizador

-La conexión a OSC2 en el ATmega328 va (a través de un condensador) a tierra en el pin digital 5. Hice esto solo por conveniencia, para que todo encaje bien y cerca en la placa de pruebas. Si está pensando en hacer lo mismo, asegúrese de declarar siempre el pin 5 como entrada y nunca como salida.

-La biblioteca de sintetizadores que elegí produce sonido desde el pin 11, como se muestra en mi diagrama. No todas las bibliotecas usarán ese pin, asegúrese de cambiarlo en consecuencia. Sin embargo, recomendaría usar siempre la resistencia y las tapas como filtros.

-Agregué un interruptor en los 5v suministrados desde la placa principal, para poder apagar el ATmega y ahorrar energía de la batería mientras usaba el instrumento como controlador MIDI.

Paso 4: Diagrama de cableado: Fuente de alimentación

Diagrama de cableado: fuente de alimentación
Diagrama de cableado: fuente de alimentación

-Lo sé, todas las placas MKR tienen un circuito de carga Li-Po integrado. La cuestión es que no pude encontrar ninguna batería lipo (asequible) con las especificaciones necesarias en ningún lugar del país donde vivo (Chile, América del Sur) y también, ya tenía el módulo de carga y un par de 18650 por ahí, así que los recogió. Además de eso, creo que la mayoría de la gente probará este proyecto utilizando más placas disponibles comercialmente, que generalmente no tienen un circuito de carga.

-Una vez más, asegúrese de que el módulo que elija para aumentar el voltaje de la batería sea capaz de soportar voltajes de entrada inferiores a 5v. Los módulos de carga de batería generalmente tienen una salida de alrededor de 4v, y si alimenta ese voltaje a un módulo elevador que no está clasificado para ese voltaje, puede freír su placa. Yo hice. Dos veces, antes de que me diera cuenta de esto.):

-Recomiendo colocar el interruptor antes del módulo de aumento de voltaje, no después. Realmente no entiendo mucho cómo funcionan estas cosas, pero mido la corriente en ambas opciones (interruptor antes y después) y al colocar el interruptor después del elevador de voltaje, medí un poco de corriente que se escapaba de la batería, incluso cuando el interruptor estaba apagado.

Paso 5: la idea del código

El código simplemente ejecuta una verificación constante de todas las claves de control hasta que detecta un acierto. Cuando lo hace, comprueba las teclas que se presionan en el mástil e interpreta la postura que se está realizando y, por lo tanto, la tonalidad de la música (si no se presiona ninguna tecla en el mástil, quedará el último conjunto de tonalidades). Esto definirá qué nota producirá la tecla de control presionada. Por último, se comprueban los dos interruptores de transposición, para transponer la nota una octava hacia arriba, una octava hacia abajo o una octava predeterminada; dando al instrumento un rango de 3 octavas. Basado en todas estas variables, el Synthfonio produce el comando midi correspondiente.

En cuanto al código del sintetizador, haz lo que yo hice, y copia y pega sin vergüenza el boceto de ejemplo "midi in" de la biblioteca de sintetizadores que mejor se adapte a tus necesidades. Aquí hay algunas recomendaciones: -The_synth-Mozzi-poly-synth-Noodle-Synth

Oh, en caso de que desee integrar las funcionalidades MIDI y de sintetizador en la misma placa, sugeriría el tipo de boceto que se describe en este enlace.

Paso 6: el código

En primer lugar, necesitará las siguientes bibliotecas: Biblioteca MIDI: https://github.com/FortySevenEffects/arduino_midi_… Biblioteca multiplexor:

Además, si va a utilizar una placa con capacidad USB, o la MKR 1010, también puede experimentar con estas bibliotecas: MIDI USB: https://github.com/tigoe/SoundExamples/blob/master…MIDI sobre BLE:

#incluir

MIDI_CREATE_DEFAULT_INSTANCE (); #include CD74HC4067 my_mux (4, 3, 2, 1); // crea un nuevo objeto CD74HC4067 con sus cuatro pines de control #define mux_handle_pin 5 // define un pin para compartir con los canales del multiplexor de mango #define mux_neck_pin 0 // define un pin para compartir con los canales del multiplexor de cuello // definir conmutadores de transposición #define transposeUp 7 #define transposeDown 6 bytes neckKeysNumbers = {12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; número de dedos de bytes = 0; byte neckKeyHolded = {0, 0, 0}; raíz de bytes = 48; byte minorThird; byte handleKeyNote = {0, 48, 50, 52, 53, 55, 57, 59}; byte handleKeyNoteSent = {0, 0, 0, 0, 0, 0, 0, 0}; int octava = 0; configuración vacía () {pinMode (LED_BUILTIN, SALIDA); MIDI.begin (1); // Ejecuta MIDI y escucha el canal 1 pinMode (mux_handle_pin, INPUT_PULLUP); pinMode (mux_neck_pin, INPUT_PULLUP); pinMode (transposeUp, INPUT_PULLUP); pinMode (transposeDown, INPUT_PULLUP); } void loop () {// For-Loop para verificar cada tecla (1-7) en el MANIJA. para (byte i = 1; i <8; i ++) {my_mux.channel (i); // verificando cada tecla a través del multiplexor // si se presiona un interruptor (tecla) y si el estado de la tecla es "no presionada" if ((digitalRead (mux_handle_pin) == LOW) && (handleKeyNoteSent == 0)) {delayMicroseconds (2400); // For-Loop para comprobar las 12 teclas (0-11) en el CUELLO. para (byte k = 0; k 0)) {MIDI.sendNoteOff (handleKeyNoteSent , 0, 1); // Detiene la nota handleKeyNoteSent = 0; // definirlo como "no enviado" delay (18); }}} // Esta función toma la clave de cuello detectada y en base a eso // establece el número de la nota fundamental (en MIDI), // amd también establece el número de la nota que sería su tercera raíz vacía menor) {switch (neckKeyHolded [0]) {caso 12: raíz = 47; minorThird = 3; rotura; caso 1: raíz = 48; minorThird = 4; rotura; caso 2: raíz = 49; minorThird = 5; rotura; caso 3: raíz = 50; minorThird = 6; rotura; caso 4: raíz = 51; minorThird = 7; rotura; caso 5: raíz = 52; minorThird = 8; rotura; caso 6: raíz = 53; minorThird = 9; rotura; caso 7: raíz = 54; minorThird = 10; rotura; caso 8: raíz = 55; minorThird = 11; rotura; caso 9: raíz = 56; minorThird = 12; rotura; caso 10: raíz = 57; minorThird = 1; rotura; caso 11: raíz = 58; minorThird = 2; rotura; predeterminado: root = 48; minorThird = 4; rotura; }} // Esta función establece la nota real que tocará la tecla manual. // primero verifica si la transposición cambia, y transpone una octava hacia arriba o hacia abajo si es necesario, // luego verifica si la cantidad de dedos en posición corresponde a un acorde mayor o menor (1 o 2 dedos). // Finalmente, si se detectan 2 dedos en posición, comprueba si el segundo dedo se encuentra // en la correspondiente tercera nota menor. De lo contrario, se ignorará el segundo dedo y el acorde se interpretará // como un acorde mayor. Si el segundo dedo está tocando una tercera menor, la función definirá // las notas que ejecutarán las teclas de control. void keyConstructor () {if (digitalRead (transposeUp) == LOW) {octava = 12; } else if (digitalRead (transposeDown) == LOW) {octave = -12; } else {octava = 0; } // escala mayor if (neckKeyHolded [1] == 0) {handleKeyNote [1] = raíz + octava; handleKeyNote [2] = raíz + octava + 2; handleKeyNote [3] = raíz + octava + 4; handleKeyNote [4] = raíz + octava + 5; handleKeyNote [5] = raíz + octava + 7; handleKeyNote [6] = raíz + octava + 9; handleKeyNote [7] = raíz + octava + 11; } // escala menor if (neckKeyHolded [1] == minorThird) {handleKeyNote [1] = raíz + octava; handleKeyNote [2] = raíz + octava + 2; handleKeyNote [3] = raíz + octava + 3; handleKeyNote [4] = raíz + octava + 5; handleKeyNote [5] = raíz + octava + 7; handleKeyNote [6] = raíz + octava + 8; handleKeyNote [7] = raíz + octava + 11; }}

Paso 7: el instrumento (caja)

El instrumento (caja)
El instrumento (caja)
El instrumento (caja)
El instrumento (caja)

Como siempre, realmente no tengo planos y medidas de diseño completos y detallados del proyecto. Hice cambios, modificaciones y diseñé la cosa durante todo el proceso de construcción. Y la mayoría de estos cambios se basaron en los materiales y componentes que tenía a mano en ese momento.

Dicho esto, en esta ocasión tengo mucho más contenido e información sobre el proceso de diseño que en proyectos anteriores, porque utilicé servicios de impresión 3D y corte láser para crear muchas de las piezas. Simplemente no iba a hacer todas las mediciones y cortes de MDF que hice en mi última máquina, adjunté el archivo que diseñé para cortar con láser la mayoría de las piezas y el modelo 3D del instrumento. Por favor, tenga en cuenta que todos estos archivos son en su mayoría iguales a los que construí realmente, pero hay discrepancias, ya que hice muchos cambios después del corte por láser original y el modelado 3D. Utilice estos archivos como punto de partida para su proyecto, no como plantilla definitiva.

Por favor, preste atención también a las anotaciones que he escrito en las imágenes en los siguientes pasos

Paso 8: el instrumento: cuello

Image
Image
El instrumento: cuello
El instrumento: cuello
El instrumento: cuello
El instrumento: cuello
El instrumento: cuello
El instrumento: cuello

Se trata esencialmente de un par de piezas largas de MDF cortadas con láser apiladas una encima de la otra, para crear un cuello lo suficientemente grueso, con suficiente espacio en el interior para los interruptores táctiles (teclas del cuello) y el módulo multiplexor. Y también, 14 piezas de tablero MDF cortado con láser en forma de teclas de piano para cubrir los interruptores. Los interruptores se montan en la placa base y se conectan al multiplexor.

Paso 9: el instrumento: manejar

Image
Image
El instrumento: manejar
El instrumento: manejar
El instrumento: manejar
El instrumento: manejar

Esta fue la parte más difícil para mí. No sé si resuelvo totalmente esta parte, pero funciona bastante bien, al menos, para algunas manos. Tiene 7 interruptores a través de un multiplexor y puede deslizarse a través del orificio en el cuerpo del instrumento. No intentaré describirlo, así que aquí están las imágenes …

Paso 10: El instrumento: Cuerpo

Image
Image
El Instrumento: Cuerpo
El Instrumento: Cuerpo
El Instrumento: Cuerpo
El Instrumento: Cuerpo

Esta es la más simple de todas las partes, solo una caja cortada con láser en una forma que se asemeja a la de un instrumento musical. Incluso pensé en usar un recinto tipo caja de puros, pero si iba a cortar con láser, también podría cortar con láser algo agradable. Las principales características que debe tener el cuerpo son primero, todos los orificios para los conectores, jacks, etc. necesarios (más uno para alimentar cables al circuito del cuello); un orificio más grande en la parte superior por el que se puede deslizar el mango (como se muestra en el primer video y las imágenes), y finalmente los dos interruptores de transposición colocados en cada extremo del orificio deslizante para detectar el movimiento del mango (ver el segundo video y todas las anotaciones en las imágenes).

Paso 11: Cómo jugarlo

Como jugarlo
Como jugarlo
Como jugarlo
Como jugarlo

Tocando acordes

Intentemos tocar algunos acordes menores y mayores simples como se explica al principio en la sección "Cómo funciona". Básicamente, cualquier tecla que presione en el cuello le dará la escala mayor de esa nota en las teclas del mango. Además, si cuenta 3 teclas hacia arriba (moviéndose hacia el mango) y presiona esa tecla, mientras mantiene presionada la original, todavía tendrá una escala de esa nota original en las teclas del mango, pero esta vez será una escala menor. Los lectores con formación musical comprenderán (mucho mejor que yo, de hecho) que presionar la tercera tecla exacta desde cualquier nota es lo mismo que tocar su tercera menor.

Además, si siente que 7 notas no son suficientes para usted, simplemente puede deslizar hacia arriba o hacia abajo todo el mango a través del orificio deslizante del cuerpo principal, y tendrá las mismas 7 notas una octava hacia arriba o hacia abajo.

Tocando acordes (explicación para principiantes)

Los acordes son dos o más notas tocadas juntas. Piense en un pianista o un guitarrista tocando un montón de notas (teclas de piano o cuerdas de guitarra) una vez al mismo tiempo y dejándolas sonar, cantan una pequeña frase sobre ellas, y luego tocan otro conjunto de notas y cantan otra frase. Están tocando acordes y cantando una melodía. Esta es la esencia de cualquier canción básica. Entonces, ¿cómo lo hacemos en el Synthfonio? sencillo. ¿Quieres tocar un acorde E? simplemente presiona la tecla E en el cuello y dispara lo que quiera en las teclas del mango. No te preocupes, estará afinado. ¿Qué pasa con los acordes menores? (acordes cuyo nombre termina en la letra "m" como Am, Em, G # m, C # m, etc.) Vamos a tocar un acorde de A menor (Am). Pulsamos la tecla A (ver el diagrama adjunto) pero también contamos tres teclas hacia arriba (moviéndonos hacia el mango) y también pulsamos esa tecla (en este caso una C). Esto convierte efectivamente el acorde A en un acorde Am (A menor).

Tocando una cancion

Ahora, como algunos ya sabrán, hay montones y montones de canciones de 4 acordes, generalmente construidas sobre simples acordes mayores y menores. Perfecto. Buscamos en Google "los acordes del título de la canción", encontramos el que queremos (aquí hay un par de ejemplos sencillos y simples). Si un acorde es mayor, simplemente presionamos esa tecla en el mástil del Synthfonio y tocamos cualquier cosa que sientas en la manija. Si aparece un acorde menor en la canción, simplemente presionamos la tecla correspondiente y la tercera tecla hacia arriba, y estamos listos. Eso es todo. Puede utilizar las teclas del asa para tocar acordes y cantar sobre ellos, o para tocar melodías, arpegios, etc.

Actualmente estoy en el proceso de incorporar acordes también aumentados y disminuidos, colocando un tercer dedo en posición, o incluso solo los dos dedos con el segundo definiendo el quinto aumentado o disminuido.

Este es un proyecto de trabajo en progreso. Mientras tanto, sigue jugando, experimentando y divirtiéndote. Acepto sugerencias (:

Diferentes escalas

Actualmente, las teclas de control generan las notas 1 a 7 de la escala declarada. Usé esta configuración en este instructivo para que sea fácil de entender. Pero esto se puede cambiar fácilmente para generar una escala diferente modificando la función keyConstructor (). De hecho, estoy usando una configuración pentatónica para el mango, porque me permite tener la nota fundamental una octava hacia arriba en la misma posición de deslizamiento del mango. En la configuración actual, debe deslizar el mango hacia arriba o hacia abajo para tener cualquier nota en otra octava.

Paso 12: Posibles modificaciones

Como mencioné al principio, traté de mantener este tutorial lo más simple posible, reduciendo el proyecto a su forma más básica. Por eso, omití algunas características que agregué (o planeo agregar) en mi propio Synthfonio, aquí hay algunas de ellas:

-MIDI sobre BLE: si tienes una placa MKR WIFI 1010, esta es bastante fácil de incorporar. Esta biblioteca tiene un ejemplo midi muy sencillo. Puede agregar los comandos midi de esa biblioteca a los comandos MIDI regulares llamados por el boceto de Synthfonio. O, para ahorrar batería, agregue un interruptor para activar las funcionalidades de bluetooth solo cuando sea necesario (usar las interrupciones de arduinos y un sistema de reinicio automático como este sería una buena idea).

-PitchBend: aunque ninguna de las bibliotecas de sintetizadores puede administrar comandos de inflexión de tono MIDI, la biblioteca MIDI le permite enviarlos. La cosa es decidir cómo controlarlo. Cualquier potenciómetro debería funcionar bien, pero estoy pensando en alternativas más interesantes, ¡como sensores! proximidad, luz, etc.

Concurso de instrumentos
Concurso de instrumentos
Concurso de instrumentos
Concurso de instrumentos

Segundo premio en el concurso de instrumentos

Recomendado: