Pentagrama cartesiano (step 2)

En este pasu 2 vamos a construir la función que va a reproducir la melodía. Recordad que el comando Tocasonido funciona expresando la fórmula de la función seno para la frecuencia correspondiente. Si queremos que suene un Do escribiremos Tocasonido(sen(261.63 * 2pix, 0,1) , en este caso para que suene durante 1 segundo.

Para que el comando ejecute una sucesión de frecuencias diferentes (altura de los segmentos) con duraciones diferentes (longitud de los segmentos) entonces la función debería ir cambiando de fórmula para cada intervalo de x que define el segmento correspondiente.

Para entender esto mejor pongo un ejemplo. Supongamos que queremos que ejecute un Do que dure dos beats y a continuación un La que dure 1 beat. Entonces tendríamos que hacer esto:

Cuando x (el tiempo)  esté entre 0 y 2 sen(261,63 * 2pix) y cuando x esté entre 2 y 3 sen(440*2pix)

¿cómo se hace eso?

Eso ye lo que se conoce como "funcion definida por intervalos" o "función a trozos". 

Si ya entendisteis la idea os darías cuenta de que si tengo 100 segmentos tenfo que definir una función a trozos con 100 fórmulas diferentes según la nota y duración de cada uno de ellos. ¿Hay que escribir 100 fórmula? No, para eso están las hojas de cálculo.

Sólo hace falta introducir en la hoja de cálculo una vez la fórmula y luego rellenar.

En la columna A tenemos puntos, en la B segmentos y en la celda C1 introducimos esto:

=Si(x(A1) ≤ x ≤ x(A2), sen(2^(y(A2) / 12) * 261.63 * 2π x), 0)

Deberíais entender el sentido de esa expresión, la explicaré en clase no obstante. El caso ye que si ponéis esa fórmula y rellenais y luego, en el final de columna (en C20 por ejemplo) escribís = Suma(C1:C19) ya lo teneis.

La actividad termina insertando un botón con el script siguiente:

TocaSonido(C20,0,60)

ya lo tenéis

Pongo 60 como pude poner 100, se trata de expresar una duración mayor o igual a la que tiene la melodía para que no se detenga, esa duración ye variable porque podés estirar los segmentos cuanto queráis pero no os paseis porque geogebra se vuelve loco.

Listo

https://www.geogebra.org/m/jcqrpnwr