top of page

🟡 La varita musical | Scratch

  • hace 4 horas
  • 3 Min. de lectura

La “varita musical” es una aplicación desarrollada en Scratch 3.0; la cual nos permite reproducir diferentes tonos musicales según el área del fondo que esté pulsándose en ese momento. 


¡Hagamos una prueba!

Sólo hay que hacer el click y arrastrar el mouse 🖱️


Link ACÁ

(Botón de "Ver dentro" disponible)


Lo interesante de este proyecto es que, además de la programación, también se mezclan conceptos matemáticos como el “redondeo” , el “valor absoluto” y los "ejes cartesianos" 🧐.


"¿Eh? ¿Voy a tener que entender matemática para hacer este proyecto?"



¡Tranqui! ¡Sólo algunas cositas básicas!


La magia detrás de "la varita musical":


La varita, en realidad, si hablamos del personaje; no está haciendo nada más que acompañar al puntero del mouse. La verdadera magia está en el FONDO.


(Agranden la imagen para ver mejor)


Veamos, entonces, qué está pasando acá.


Cuando arranca la aplicación, banderita verde, se fija un tipo de sonido / instrumento (esto lo obtienen en la extensión "música") y automáticamente se entra en un bucle infinito. ¿Qué pasa adentro de este bucle en constante funcionamiento?


Si se detecta que el mouse está apretado, más allá de alterarse el color del fondo, el sistema va a reproducir una nota musical. Una nota musical que se genera mediante el siguiente cálculo:


El valor absoluto del resultado redondeado de "posición x del mouse / 2")



Tranqui que esto no es chino avanzado y lo vamos a ir explicando de atrás para adelante. Concentrate ahora sólo en "posición x del mouse / 2".


¿Qué es "posición x del mouse"? La coordenada en "x" en donde el puntero de mouse está en ese preciso momento.



Entonces, supongamos que nuestro mouse está en la coordenada 100 de "x". La nota musical que se reproduciría sería la "50" dado que la formula para la generación de una nota es "posición x del mouse / 2". ¿De acuerdo?


¿Y por qué entonces eso de resultado redondeado y valor absoluto?


Nos va a pasar muchísimas veces que, cuando hagamos la división posición x del mouse / 2, el resultado no va a darnos un número redondo sino un número con decimales.


Por ejemplo, si la "posición x del mouse" es 101, el resultado dará "50,5". "¿Existen notas musicales con valores decimales en Scratch, Marcos?" No. Por eso siempre necesitamos redondear el resultado.



"¿Y lo de valor absoluto?"


Así como muchísimas veces el resultado nos dará con decimales, existirán otras muchas en las que el resultado de la operación "posición x del mouse / 2" nos devolverá un número negativo. Por ejemplo,


-54 (posición x del mouse) / 2 = -27


¿Existen notas musicales con valores negativos en Scratch? No.


Y para resolver esto necesitamos del valor absoluto, el cual siempre convertirá a valor positivo el resultado de una operación. El valor absoluto de -27 es 27. O, escrito de una forma más matemática, |-27| = 27.


¿Se va entendiendo un poco más ahora? 😉



¿Y por qué le pusiste "dividido 2" a la "posición x del mouse"?


Bueno... En Scratch, las notas musicales van de 0 a 120 y las coordenadas de "x" van de -240 a 240.


Por ende, todo lo que divida por dos dentro del rango -240 a 240, aplicando valor absoluto y redondeo, siempre caerá en una nota musical válida (0-120).



¡Magia!


Hasta acá, profes, el post de "La varita musical".


Les dejé también otra formula matemática "flotando" ahí en el código para que la reemplacen por la otra y experimenten otro sistema de generación de notas 😉.


Les mando un abrazo gigante y muchos éxitos.


~ Marcos.



bottom of page