. E-1 Capturar y dibujar el volumen de un sonido con Scratch

Este proyecto muy sencillo sólo contiene un objeto y un script y pinta sobre la pantalla lineas verticales cuya altura se corresponde con el volumen del sonido que recoge el micrófono.

Como podemos ver en las 6 primeras instrucciones se inicializan ciertos datos para comenzar a pintar:

  • subir lápiz: para no dejar marca al llevarlo al punto de inicio
  • fijar: asignamos el valor 5 a la variabe "amplificador"
  • borrar: borramos la pantalla para empezar con la pantalla limpia
  • fijar color de lápiz a: elegimos el color con el que sepintarán las líneas verticales
  • ir a: llevamos el objeto a la posición -200 -80
  • bajar lápiz: para que empiece a dejar marca

 

En el siguiente bucle continuo (por siempre) asignamos a las coordenadas del objeto (x e y) los valores de cada paso x=x+1 e y=-80. a continuación sumamos al valor de y el del volumen del sonido capturado por el micrófono multiplicado por el amplificador. La variable amplificador la podemos cambiar en cualquier momento ya que está definida como deslizamiento.

La intrucción sellar la comentaremos al final.

Por último hay una condición (si x > 210) que se cumple cuando el objeto llega al extremo derecho de la pantalla, cuando esto ocurre ejecutamos los siguiente comandos:

subir lápiz, fijar x=-200 y bajar lápiz, es decir volvemos a empezar en la parte izquierda de la pantalla (hemos subido el lápiz para no pintar ese trazo).

La instrucción sellar que hemos dejado para el final resuelve el problema de solapar las líneas verticales cuando se pasa de la parte derecha de la pantalla a la izquierda. Si no hacemos nada se superpondrian las líneas verticales actuales con las que ya estaban pintadas.

Para resolver esto hay dos posbilidades:

  • Borrar la pantlla al llegar a la derecha (dentro de la condición x > 210 habría que poner borrar)
  • Utilizar un objeto que tenga una banda blanca por delante (el objeto de la izquierda) y al sellar pinta esa banda blanca borrando sólo una parte de las líneas de la pantalla. Esto hay que hacerlo en cada paso (fuera de la condición si x > 210).

 

 

 

Así es como quedaría un trozo de la canción Waitin'On A Sunny Day de

Bruce Springsteen