Topic: 1.15

Viewing 5 posts - 1 through 5 (of 5 total)
  • #294
    Zynewave
    Keymaster
    • Support for 32 bit and 64 bit floating point format wave files. Sound properties dialog allows setting fixed point or floating point bit resolutions.
    • Option for 32 bit or 64 bit mixer engine is added to the audio page in the preferences dialog.
    • Creating new sounds on bounce tracks will by default be set to 32 bit or 64 bit floating point, depending on the chosen mixer engine resolution.
    #3815
    Zynewave
    Keymaster

    Technical explanation of the 64 bit floating point mixing:

    If your music production mainly concentrates on using softsynths and encoding the final master to MP3 files, then don’t bother with 64 bit mixing as you won’t be able to hear any improvements in audio quality.

    If however you are producing music recorded in pristine studio conditions and aimed for reproduction on high end audio equipment, 64 bit mixing will offer better precision and larger dynamic range.

    The 64 bit mixing will only be utilized when the mixer engine is processing and routing audio internally. The VST plugin specification currently only supports 32 bit floating point audio, so the mixer engine will convert the audio down to 32 bit floats when routing audio through VST plugins.

    When describing floating point numbers, the 32 and 64 bits refers to the amount of memory that is required to store the floats. The bits are split into two parts that stores the precision and the exponent for the ‘floating point’. 32 bit floats offers 25 bit precision and 64 bit floats offers 54 bit precision.

    The advantage of 64 bit mixing is evident when an audio signal is gain scaled or when two or more audio signals are ‘summed’ in the mixer engine.

    Gain scaling occurs when the track gain or pan settings are affecting the audio signal. The scaling involves multiplying the floating point audio signal with a floating point scale value. These multiplications will result in values that uses more precision bits than the original audio signal, causing the least significant bits of the result to be discarded.

    To illustrate the effect of summing, let’s assume that you have two 25 bit precision audio sources that you want to mix together. These sources could be wave files or the 32 bit floating point output of VST plugins. If you mix these sources together without changing the gain of the tracks, the output will fit within 32 bit floats, provided that the summed output does not clip. If you change the gain of one of the tracks, then the 25 bit precision of that track is displaced up or down in relation to the other track. A gain change of 6 dB will result in approximately one bit displacement. When summing the two tracks the combined precision interval has thus been extended beyond the 25 bits that can be stored in 32 bit floats, so the least significant bits are truncated and you loose some of the precision in the audio sources.

    This is where 64 bit mixing will offer an advantage over 32 bit mixing, as it can use 54 bit precision to store the results of gain scaling and summing, and thereby reduce the artifacts of the floating point truncations.

    So what’s the point of the higher precision if the master output is being bounced to a 24 bit or 16 bit wave file? For every audio track that you add to a mix, you add noise as a result of the truncation of the lower bits of the signal. The accumulation of these rounding errors can result in a sligthly degraded output that can be present even when rendering to 16 bit wave files.

    Despite these apparent mathematical benefits, 64 bit mixing will only yield a minimal quality improvement. 32 bit mixing is still fully sufficient for professional grade productions.

    An example of how to test the difference between 32 bit and 64 bit mixing:

    • Set the mixer engine to 32 bit mode in the preferences dialog.
    • Create an arrangement with a bounce enabled master track.
    • Import a 16 bit wave file onto a new track.
    • Create a track with level automation and create a curve sequence containing a few curve events with slow fades.
    • Bounce record the arrangement.
    • Drag the bounced master sound to a new track and mute the track. The sound properties should show that it is using 32 bit float.
    • Switch the mixer engine to 64 bit mode.
    • Create a new sound on the master output track.
    • Bounce record again.
    • Drag the bounced master sound to a new track. The sound properties should show that it is using 64 bit float.
    • Enter the sound editor for one of the two bounced recordings, select the entire wave data and use the ‘Invert phase’ edit menu.
    • Mute the 16 bit wave file track and the level automation track, and unmute the two tracks containing the bounced audio.
    • Create a new sound on the master output track.
    • Bounce record again.
    • The new bounced sound appears to be silent, because the inverted phase sound will cancel out the non-inverted phase sound.
    • Enter the sound editor for the newly bounced sound, select the entire wave data and use the ‘Normalize’ edit menu.
    • Normalizing will boost the extremely low level noise differences between the 32 bit and 64 bit bounced recordings.
    • Before hitting play to listen to the noise, make sure the volume dial on your stereo is turned down. The noise you hear is the result of the truncation that occurs during 32 bit processing.
    #3817
    suges
    Participant

    This is a sensational feat of coding. Congrats and bravo, Frits!

    #3818
    duncanparsons
    Participant

    that’s one for the connoisseurs!

    Should impress those who are always after ‘the next level’!

    DSP

    #3819
    anfmusic
    Participant

    Frits, I hope you don’t mind, I posted that explination at the KVR forums, giving you full credit as the author. It’s been getting a lot of reads! I think that those who were sitting on the fence with Podium, are going to fall off it with that post!…AL

    http://www.kvr-vst.com/forum/viewtopic.php?t=57190

Viewing 5 posts - 1 through 5 (of 5 total)
  • The topic ‘1.15’ is closed to new replies.
© 2021 Zynewave