Satin - tech question about differences when rendering / bouncing
-
- KVRian
- 587 posts since 8 May, 2012 from E.U.
Hi Urs,
Loving Satin!
I have a technical question:
With most plugins, if i render to a wav file, the wav file will be identical each time. But not with Satin.
Clear as mud, right? Let me explain:
Imagine i have a track in Samplitude with Satin loaded on it. Now i export to a wav, naming that wav "Export_A.wav"
Once the export is complete, i export again, naming the second wav: "Export_B.wav"
So now i have two identical wav files, right? - WRONG!!!
If i compare wav A & wav B, they're not the same, not even remotely, then don't even come close to nulling if i flip the phase on one.
Why is this important?
Well, it's very important:
In mastering, i might often master an album with Satin on various songs. Say the artist asks me to change only one song. So, I'll open up the session, change that one song, and then re-render the whole album. But now (as we know from the experiment above) that all songs on the album will sound slightly different from the first version. The difference is tiny and not audible when you A/B in a normal way. However, sometimes situations occur when artists or producers are going to check if the manufactured CD has the same sound as the reference files they received from me (via a null test or some other method). So this is going to be a bit of a problem. Obviously they compare to the first set of refs they approved. I can't send them all wavs from the album again to check, when they only asked me to change one song! Or otherwise i'll have to explain: "please note that all the other songs, even though they weren't changed, are slightly different, due to a technical issue, so please check them again" - well, that sounds a bit weird!
Obviously i could only re-render the one song the artist wanted changed, but for work-flow reasons this isn't ideal and makes thing complicated.
I should just mention that my other tape sim Kramer Tape doesn't exhibit this behaviour, it will re-render an identical wav file each time.
Could you let me know your thoughts on this?
Thanks! ........ Mr D
Loving Satin!
I have a technical question:
With most plugins, if i render to a wav file, the wav file will be identical each time. But not with Satin.
Clear as mud, right? Let me explain:
Imagine i have a track in Samplitude with Satin loaded on it. Now i export to a wav, naming that wav "Export_A.wav"
Once the export is complete, i export again, naming the second wav: "Export_B.wav"
So now i have two identical wav files, right? - WRONG!!!
If i compare wav A & wav B, they're not the same, not even remotely, then don't even come close to nulling if i flip the phase on one.
Why is this important?
Well, it's very important:
In mastering, i might often master an album with Satin on various songs. Say the artist asks me to change only one song. So, I'll open up the session, change that one song, and then re-render the whole album. But now (as we know from the experiment above) that all songs on the album will sound slightly different from the first version. The difference is tiny and not audible when you A/B in a normal way. However, sometimes situations occur when artists or producers are going to check if the manufactured CD has the same sound as the reference files they received from me (via a null test or some other method). So this is going to be a bit of a problem. Obviously they compare to the first set of refs they approved. I can't send them all wavs from the album again to check, when they only asked me to change one song! Or otherwise i'll have to explain: "please note that all the other songs, even though they weren't changed, are slightly different, due to a technical issue, so please check them again" - well, that sounds a bit weird!
Obviously i could only re-render the one song the artist wanted changed, but for work-flow reasons this isn't ideal and makes thing complicated.
I should just mention that my other tape sim Kramer Tape doesn't exhibit this behaviour, it will re-render an identical wav file each time.
Could you let me know your thoughts on this?
Thanks! ........ Mr D
- Beware the Quoth
- 35518 posts since 4 Sep, 2001 from R'lyeh Oceanic Amusement Park and Funfair
Suggestion : If its a significant issue, freeze the tracks with Satin on them, or bounce a post-processed copy to a spare track.Mr D wrote:Obviously i could only re-render the one song the artist wanted changed, but for work-flow reasons this isn't ideal and makes thing complicated.
FWIW, I wouldnt expect any recording of anythng through analog equipment to ever completely null with a second pass through the same gear. Anything 'emulation' that does might be considered not to be emulating quite as well as it could.
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
- KVRAF
- 4469 posts since 15 Nov, 2006 from Hell
so Satin is one of the first analog emulations that actually behaves like hardware then? 
that wouldn't help if Satin is on the master, would it?whyterabbyt wrote:Suggestion : If its a significant issue, freeze the tracks with Satin on them, or bounce a post-processed copy to a spare track.
I don't know what to write here that won't be censored, as I can only speak in profanity.
- Beware the Quoth
- 35518 posts since 4 Sep, 2001 from R'lyeh Oceanic Amusement Park and Funfair
Its ambiguous to me if that's the case, but what's going to be on the master bus is never going to null between instances if anything at all is changed in between time. And if nothing is changed, why redo it?Burillo wrote:so Satin is one of the first analog emulations that actually behaves like hardware then?
that wouldn't help if Satin is on the master, would it?whyterabbyt wrote:Suggestion : If its a significant issue, freeze the tracks with Satin on them, or bounce a post-processed copy to a spare track.
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
- Beware the Quoth
- 35518 posts since 4 Sep, 2001 from R'lyeh Oceanic Amusement Park and Funfair
For the record, and going by what you said hereMr D wrote:I can see that this behaviour (different sound each time) might be pleasing philosophically but i'm afraid in a mastering context it's a bit of a PITA!
Im assuming you're talking about a situation including dithering down to 16-bit for CD? If that's the case, are you sure that your dithering algorithm (which is usually shaped noise) doesnt also vary from one instance to the next.The difference is tiny and not audible when you A/B in a normal way. However, sometimes situations occur when artists or producers are going to check if the manufactured CD has the same sound as the reference files they received from me (via a null test or some other method)
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
-
- KVRian
- Topic Starter
- 587 posts since 8 May, 2012 from E.U.
I did the test without dither, although in my program (Samplitude) if i had done the test with Kramer Tape and dither ON, it would null 100%, so it's Satin that's doing it i'm afraid!
- Beware the Quoth
- 35518 posts since 4 Sep, 2001 from R'lyeh Oceanic Amusement Park and Funfair
Oh, Im not doubting it, for the reason I mentioned. For some Im actually slightly surprised that dither isnt truly random though.Mr D wrote:I did the test without dither, although in my program (Samplitude) if i had done the test with Kramer Tape and dither ON, it would null 100%, so it's Satin that's doing it i'm afraid!
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
-
- KVRian
- Topic Starter
- 587 posts since 8 May, 2012 from E.U.
Well, dither is random distribution of noise, but of course a good dither algorhythm will generate the same dither each time, there's no reason not to (and there are benefits to it not being different each time, as outlined in my first post). If there was a reason, the coder would have had to have built in some kind of randomness generator as the start point, but i guess they don't as there's no reason to in a dither algorhythm!
- Beware the Quoth
- 35518 posts since 4 Sep, 2001 from R'lyeh Oceanic Amusement Park and Funfair
I'd expect there to be a seeded pseudo-random number generator in there; the difference will be in whether the seed is consistent or not.Mr D wrote:Well, dither is random distribution of noise, but of course a good dither algorhythm will generate the same dither each time, there's no reason not to (and there are benefits to it not being different each time, as outlined in my first post). If there was a reason, the coder would have had to have built in some kind of randomness generator as the start point, but i guess they don't as there's no reason to in a dither algorhythm!
An idiot on Set Theory:
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
"In some cases there is an object called red that contains everything that is red. In much the same way a pot is a plate."
-
- KVRian
- Topic Starter
- 587 posts since 8 May, 2012 from E.U.
I guess it boils down to this:
When you open a session in your DAW, do you want the sound to be 100% identical to when you last closed the session?
From me, the answer is a resounding: "YES"!
When you open a session in your DAW, do you want the sound to be 100% identical to when you last closed the session?
From me, the answer is a resounding: "YES"!
-
- KVRian
- 777 posts since 13 Dec, 2011
But, as mentioned before, then you can simply bounce to audio, and any halfway decent DAW is able to give you 100% the same result whenever you play the same audio file(s) with the same settings.Mr D wrote:I guess it boils down to this:
When you open a session in your DAW, do you want the sound to be 100% identical to when you last closed the session?
From me, the answer is a resounding: "YES"!
Btw, for me, the question is a resounding "NO!" whenever I'm using analog gear, or (good) emulations in software. Much like I'd expect e.g. the oscillators of a virtual synth to be free-running, resulting in non-nulling audio files if I'd record the same sequence multiple times, whereas I would expect bit-idential output when using a sampler.
- KVRian
- 1141 posts since 2 Oct, 2001 from Berlin, Germany
We have a lot of random stuff going on in Satin, since we model physics and electronics, so it's no wonder that stuff doesn't null perfectly. Have to look at our framework (out of office today), but I'm guessing our noise and random generator functions don't start with the same values every time.
Mr D, to quantify the PITA you're having, can you please do the following:
- in Samplitude, bounce the track to a 32bits float wav (NO integer format!). You could as well do a track freeze, as this automatically does the same.
- load this file in on a seperate track, flip the phase. Perhaps you need to align this to the one containing the realtime instance of Satin, although our latency compensation should take care of this.
- the 2 might not 'null' perfectly. What's the RMS of the delta you're auditioning?
- as this realtime check can be faulty at times, consider a 32-bit float export of this test. You may provide a short snippet here. Thanks.
Mr D, to quantify the PITA you're having, can you please do the following:
- in Samplitude, bounce the track to a 32bits float wav (NO integer format!). You could as well do a track freeze, as this automatically does the same.
- load this file in on a seperate track, flip the phase. Perhaps you need to align this to the one containing the realtime instance of Satin, although our latency compensation should take care of this.
- the 2 might not 'null' perfectly. What's the RMS of the delta you're auditioning?
- as this realtime check can be faulty at times, consider a 32-bit float export of this test. You may provide a short snippet here. Thanks.
Sascha Eversmeier [formerly digitalfishphones]
TOURAGE DSP
croquesolid drum processor- mix real drums fast & focused
TOURAGE DSP
croquesolid drum processor- mix real drums fast & focused
-
- KVRian
- Topic Starter
- 587 posts since 8 May, 2012 from E.U.
Seems like you didn't read or understand my first post. When bouncing using exactly the same settings, Satin doesn't give the same result twice. I outlined the reason why this might be a problem in a mastering scenario also in my first post.Ch00rD wrote: But, as mentioned before, then you can simply bounce to audio, and any halfway decent DAW is able to give you 100% the same result whenever you play the same audio file(s) with the same settings.
I understand, but again see my first post for reasons against. It would be a great optional extra, a setting you could turn on if you like, but personally i want a seesion to be the same each time. I undestand about analog imperfections / emulations etxc, but i don't notice any DAW makers advertising the fact that each time you open a session it'll be subtly different! Actually very few peole want that, unless it's built into a plugin, like an analog synth or tape delay or whatever. And Satin is a plugin that has one very big eye on the mastering market, therefore it should (in my opinion) have features that make it appeal to mastering dudes like my self.Ch00rD wrote: Btw, for me, the question is a resounding "NO!" whenever I'm using emulations of analog gear, btw. Much like I'd expect e.g. the oscillators of a virtual synth to be free-running, resulting in non-nulling audio files if I'd record the same sequence multiple times, whereas I would expect bit-idential output when using a sampler.
- KVRAF
- 4469 posts since 15 Nov, 2006 from Hell
well, the session would be exactly the same - just the render will be different every time 
I don't know what to write here that won't be censored, as I can only speak in profanity.
