[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] Problems with AtsFile / NRT / Score



Hi sciss,

Here is how I load them in NRT:

a = AtsFile.new("sounds/a11wlk01.ats");
a.loadToBuffer;	
a.saveToFile("/Users/joshp/Desktop/testATS.aif");

// now, you can load it in a score with b_allocRead

z = Score.new;
z.add([0, [\b_allocRead, 0, "/Users/joshp/Desktop/testATS.aif"]]);


Best,

Josh

On Oct 23, 2007, at 9:16 AM, Sciss wrote:

hello (josh),

we are trying to synthesize a time-streched version of a soundfile using AtsFile / AtsNoiSynth.

we have a bunch of questions:

- while AtsNoiSynth seems to work in realtime mode, the output in NRT is just silence (in the below example, if you exchange it for PinkNoise, the output is there, so the setup is basically fine!) - the sound quality is very bad. is this normal for Ats? Should we go for other methods like classical phase vocoder?
  do i have the wrong settings with atsa (we used the defaults)?
- is there a newer version of atsa than the one from 2004?
- how is AtsFile -> addToScore supposed to work? we get a text file that we can read with Score, but Score is broken since it calls .sort after reading the file, and that reverses the time order of the OSC bundles
  (so in the example below, i just set the bundle list directly)
- am i having a strange hybrid intermediate build of SC, or why does scsynth in NRT mode look for synthdefs in /Applications/SuperCollider_f/synthdefs, while SynthDef -> writeDefFile puts it into ~/Library/Application Support/ SuperCollider/synthdefs
  so it won't be found by scsynth?

thanks a lot for help!

ciao, -sciss-


///////////////////////////////////////////////

a = AtsFile.new( "sounds/AlphavilleIlArrive.ats" );
a.addToScore( "sounds/test.sco" );

///////////////////////////////////////////////

x = Score.new;
// THIS DOESN'T WORK BECAUSE .sort reverses the messages order!!
//newFromFile( "sounds/test.sco" );
x.score = thisProcess.interpreter.executeFile( "sounds/test.sco" );

( //play just the resynth, with LFSaw pointing into the file
y = SynthDef( \atsTest, { arg scale = 1, noisePct = 0.1, bufnum = 0;
//	Out.ar( 0, PinkNoise.ar( 0.25 ));
	Out.ar( 0, AtsNoiSynth.ar( bufnum, a.numPartials, 0, 1,
filePointer: LFSaw.ar( a.sndDur.reciprocal * scale, pi, 0.5, 0.5 ), noisePct: noisePct, mul: 1 ));
});
);
y.writeDefFile;

// ---> now copy ~/Library/Application Support/SuperCollider/ synthdefs/atsTest.scsyndef // to /Applications/SuperCollider_f/synthdefs because scynth only looks in the latter ?!

// x.add([ 0.0, [ "/d_recv", y.asBytes, nil ]]);
k = Synth.basicNew( \atsTest );
//x.add([ 0.0, [ "/sync", 666 ]]);
x.add([ 0.0, k.newMsg( nil, [ \scale, 0.9 ])]);
x.add([ (a.sndDur / 0.9), k.freeMsg ]);

o = ServerOptions.new;
o.numOutputBusChannels = 1;
x.recordNRT( "/tmp/test.osc", "sounds/testOut.aif", nil, 44100, "AIFF", "int16", o );

_______________________________________________
sc-users mailing list
sc-users@xxxxxxxxxxxxxxx
http://www.create.ucsb.edu/mailman/listinfo/sc-users

******************************************
/* Joshua D. Parmenter
http://www.realizedsound.net/josh/

“Every composer – at all times and in all cases – gives his own interpretation of how modern society is structured: whether actively or passively, consciously or unconsciously, he makes choices in this regard. He may be conservative or he may subject himself to continual renewal; or he may strive for a revolutionary, historical or social palingenesis." - Luigi Nono
*/