// demo11.ck // // Készítette: // Kaluzsa Péter - ELTE - 2012/2013-2 // // hangfájl beolvasás és manipulálás // // hangfile buffer példányosítása és becsatolása az adatfolyamba SndBuf buf => Gain g => dac; // fájl beolvasása (megnyitása) // itt kerül megadásra, hogy melyik wav fájlból dolgozzon a program // abszolút elérési út és relatív elérési út is megadható // ha az adott fájl nem található, akkor a program idő előtt terminál "minta.wav" => buf.read; // hangerő beállítása .1 => g.gain; // a 0. hangmintára ugrás (a hangfájl elejére) 0=> buf.pos; // teljen el 2 mp 2::second => now; // ugorjunk vissza az elejére 0=> buf.pos; // teljen el 2 mp 2::second => now; // mentsük el a jelenlegi pozíciót a fájlban buf.pos() => int pos; // teljen el 2 mp 2::second => now; // ugorjunk vissza a lementett pozícióra pos => buf.pos; // teljen el 4 mp 4::second => now; // 1 mp alatt 10 lépésben csökkentsük 0-ra a hangerőt (lineáris lekeverés) for (int i; i < 10; ++i) { g.gain() - .01 => g.gain; 100::ms => now; } // 2 mp csend 2::second => now; // ugorjunk a file elejére 0 => buf.pos; // állítsuk vissza a hangerőt .1 => g.gain; // a file beolvasási sebességét növeljük (gyorsabban szól) 1.25 => buf.rate; // teljen el 4 mp 4::second => now; // csökkentsük a beolvasási sebességet (lassabban szól) .75 => buf.rate; // teljen el 4 mp 4::second => now;