| Hi, 
 searching for DSP and measurement I discovered this project:
 http://chuck.cs.princeton.edu/
 
 
 Zitat: 
what is it? : ChucK is a new (and developing) audio programming language for real-time synthesis, composition, performance, and now, analysis - fully supported on MacOS X, Windows, and Linux. ChucK presents a new time-based, concurrent programming model that's highly precise and expressive (we call this strongly-timed), as well as dynamic control rates, and the ability to add and modify code on-the-fly. In addition, ChucK supports MIDI, OSC, HID device, and multi-channel audio. It's fun and easy to learn, and offers composers, researchers, and performers a powerful programming tool for building and experimenting with complex audio synthesis/analysis programs, and real-time interactive control. 
 ChucK works perfectly with JACK.
 apt-get install chuck
 
 A very simple program:
 
 Code: 
 // connect sine oscillator to D/A convertor (sound card)
SinOsc s => dac;
 1000 => s.freq;
 // allow 2 seconds to pass
 2::second => now;
 
 Save as sinus.ck and run it:
 chuck sinus.ck
 you will hear a sinus for two seconds.
 A more complex program from the  tutorial:
 
 Code: 
      // impulse to filter to dac
Impulse i => BiQuad f => dac;
 // set the filter's pole radius
 .99 => f.prad;
 // set equal gain zero's
 1 => f.eqzs;
 // initialize float variable
 0.0 => float v;
 
 // infinite time-loop
 while( true )
 {
 // set the current sample/impulse
 1.0 => i.next;
 // sweep the filter resonant frequency
 Std.fabs(Math.sin(v)) * 4000.0 => f.pfreq;
 // increment v
 v + .1 => v;
 // advance time
 100::ms => now;
 }
 
 Save as moe.ck and run it:
 chuck moe.ck
 Stop it with ^C
 
 hours of fun...
 
 Ciao Martin
 |