55 lines
1.3 KiB
Plaintext
55 lines
1.3 KiB
Plaintext
|
//-----------------------------------------------------------------------------
|
||
|
// name: LiSa
|
||
|
// desc: Live sampling utilities for ChucK
|
||
|
//
|
||
|
// author: Dan Trueman, 2007
|
||
|
//
|
||
|
// to run (in command line chuck):
|
||
|
// %> chuck LiSa_readme.ck
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
/*
|
||
|
|
||
|
the LiSa ugens allow realtime recording of audio to a buffer for various kinds
|
||
|
of manipulation.
|
||
|
|
||
|
Below is a simple example demonstrating the basic functionality of LiSaBasic.
|
||
|
|
||
|
See the LiSaMulti_readme for a command summary and instructions for doing
|
||
|
multiple voice playback.
|
||
|
|
||
|
*/
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
//signal chain; record a sine wave, play it back
|
||
|
adc => LiSa saveme => dac;
|
||
|
//s => dac; //monitor the input
|
||
|
//440. => s.freq;
|
||
|
//0.2 => s.gain;
|
||
|
|
||
|
//alloc memory; required
|
||
|
60::second => saveme.duration;
|
||
|
|
||
|
//set playback rate
|
||
|
//1.5 => saveme.rate;
|
||
|
|
||
|
//start recording input
|
||
|
saveme.record(1);
|
||
|
|
||
|
//1 sec later, start playing what was just recorded
|
||
|
1000::ms => now;
|
||
|
saveme.rampUp(100::ms);
|
||
|
//use saveme.play(1) to start playing without ramp
|
||
|
|
||
|
//hang for a bit
|
||
|
1000::ms => now;
|
||
|
|
||
|
//rampdown
|
||
|
saveme.rampDown(300::ms);
|
||
|
//use saveme.play(0) to stop playing without ramp
|
||
|
|
||
|
500::ms => now;
|
||
|
|
||
|
//bye bye
|
||
|
//-----------------------------------------------------------------------------
|