Sound Demo 3
Aus ProgrammingWiki
Archivierte Version vom 2010-01-22T07:36:57+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,500.0); // 10 Sekunden diese Funktion spielen und mit x=0 beginnen play(10,0,500.0); // Frequenz von 500 Herz