Hi Sciss, I have a busy morning, but can answer a couple quick things. 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!)
More on this later, but to use ATS in NRT, it is actually better to save the ATS file as a soundfile, then do b_allocRead in the score. I'll do an example later today.
- 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)?
I have found that the defaults work mostly for short steady state sounds. Almost everything else needs some tweaking. I usually have a pattern when doing analyses... do the analysis, the do a real-time resynth and hear how it sounds. If there are problems, redo the analysis and tweak parameters. Do you have a sample soundfile somewhere on line? I can take a look at it and see if I can suggest a way about doing it.
- is there a newer version of atsa than the one from 2004?
I think that is the one...
- 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)
I can't remember! I'll take a look, but I think I have been going the route of saving the file as an aiff from SC, then doing the allocRead. I am in the middle of re-doing the AtsFile class to be smarter about all of this (and MUCH faster). But it isn't done yet...
- 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/synthdefsso it won't be found by scsynth?
This sounds like a bug introduced by the recent change of synthdef default locations... Dan... do you know if there is a way around this?
More later... let me know if you have a file I can hear. Josh
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
*/