Sound Demo 3

Aus ProgrammingWiki
Archivierte Version vom 2010-01-21T20:17:10+00:00. Aktuelle Version

Mit diesem Beispiel kann man mathematische Funktionen hörbar machen. Bei der Tonerzeugung wird nicht zwischen negativen und positiven Ausschlägen unterschieden. Ist y = 0 entsteht kein Ton. Schlägt y im negativen oder positiven Bereich aus, entsteht ein hoher Ton. Verändern Sie die Funktion zum Beispiel mit Math.sin(x).

<eval id="4b58377106a33"> // erzeugt eine Art Glockenschlag double playFunction(double x, double freq){</eval>

     double gain = 1.0-Math.log(x+1)/1.8;
     if(gain < 0) gain = 0;
     double sinValue =
       (Math.sin(2*Math.PI*freq*x) +
        Math.sin(2*Math.PI*(freq/1.8)*x) +
        Math.sin(2*Math.PI*(freq/1.5)*x))/3.0;
     return (sinValue)*gain;

}

draw(10,0,499.0); // 10 Sekunden diese Funktion spielen und mit x=0 beginnen play(10,0,499.0); // Frequenz von 499.0 Herz

play(10,0,399.0); // Frequenz von 499.0 Herz

Ihr Browser unterstützt Canvas nicht.