1declare name "tester"; 2declare version "1.0"; 3declare author "Grame"; 4declare license "BSD"; 5declare copyright "(c)GRAME 2006"; 6 7//----------------------------------------------- 8// Tester : tests louspeakers 9// Send a test signal( sine, noise, pink) to one 10// of 8 loudspeakers 11//----------------------------------------------- 12 13import("music.lib"); 14 15pink = f : (+ ~ g) with { 16 f(x) = 0.04957526213389*x - 0.06305581334498*x' + 0.01483220320740*x''; 17 g(x) = 1.80116083982126*x - 0.80257737639225*x'; 18}; 19 20 21// User interface 22//---------------- 23smooth(c) = *(1-c) : +~*(c); 24vol = hslider("(2)volume", -96, -96, 0, 0.1): db2linear : smooth(0.999); 25freq = hslider("(1) freq", 1000, 0, 24000, 0.1); 26dest = hslider("(3) destination", 0, 0, 8, 1); 27 28testsignal = osci(freq)*checkbox("sine wave") 29 + noise * checkbox("white noise") 30 + pink(noise) * db2linear(20) * checkbox("pink noise"); 31 32process = vgroup( "Audio Tester", 33 testsignal*vol 34 <: par(i, 8, *(dest==i)) 35 ); 36 37