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