Zynewave's Forum Page
Forum Replies Created
-
ZynewaveKeymasterTechnical 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.
ZynewaveKeymasterI have not tried the Vaz Mod plugin, but maybe I can help.
Since you are trying to create parameter objects manually, I assume that importing the Vaz did not automatically create a bunch of VST parameters? Maybe it’s because the Vaz does not support this, and relies on MIDI control.
Importing the plugin should at least have created the Pitch bend, modulation and channel pressure MIDI parameters (unless the plugin claims it is not a synth). If you have linked CC#70 inside Vaz, you should create a corresponding MIDI parameter in Podium. Don’t select the ‘plugin parameter’ type in the parameters dialog, but rather ‘control change’ and then enter the control change number. Look at the ‘Modulation’ parameter for clues.
ZynewaveKeymasterA good way to start is to examine the new bussing example project. It includes a number of simple arrangements with various bus configurations.
September 16, 2004 at 17:19 in reply to: expand the potention already present in Podium: Playlist #3808
ZynewaveKeymasterSince the arrangements are very accesible via the object list (listview) I was wondering if it would not be possible (I know it is) to add a play function in the list view for every arrangement (comparable to the auditioning of audio files). that way you can switch live from one arrangement to another.
This will be done at some point. Also perhaps add small monitor/play/stop buttons to the arrangement cards in the browser window.
A playlist of marker regions with hyperjumps between arrangements will likely not happen. Playing an arrangement will require that monitoring is activated which could cause a pause of several seconds, depending on amount of insert plugins that should be loaded, and loading presets in plugins and external devices.
A playlist using markers within a single arrangement can be done. As I see it, this feature would be a surrogate for pattern based composition. Currently I don’t consider this an important feature though.
ZynewaveKeymasterYes it is possible. I got it working with the free ‘Side Chain Compressor’ from Slim Slow Slider:
http://www.ismusic.ne.jp/slim_slow_slider/vst/#sidech
When you import the stereo version of this plugin, Podium will create two input mappings and one output mapping. The first input mapping is the regular input and the second mapping the side chain input. The plugin thus is configured as a global plugin and not an insert plugin, since it needs to be assigned to several tracks. Because the plugin is configured with separate input and output mappings, it is in itself set up as a bus, so on the tracks you assign the input mappings you use the send dial to control the input.
There is a mono version of the SideChainCompressor plugin, which will be imported as a single stereo in/out insert mapping. That’s because Podium cannot determine that it is actually two mono inputs. You need to split the stereo input mapping yourself after import.
ZynewaveKeymasterI’ll just copy/paste that into the future development list, shall I? 😉
Nice list. They may not all be implemented for the next couple of updates, but I’ll make sure to consider them all eventually.
Frits
ZynewaveKeymasterYes, Podium does support VstTimeInfo. This includes the use of samplePos.
I just tried the AnarchyRhythms demo, and there seems to be something in its startup procedure that assumes Podium is not supporting this. A dialog pops up within the plugin saying that the host does not support sync. If I subsequently go in and reenable the ‘Host Sync’ check box in the plugin, all seems to be well. I’ll take a note of this and try to debug this for the next next release. My head is currently buried in floating point wave files and 64 bit floating point mixing 🙂
ZynewaveKeymasterHi,
I could create a shortcut in the projet wizard Arrangement panel that would automatically create the tracks needed to route e.g. a reverb plugin as a send bus. Is this what you had in mind?
If you want to start out with the mixer layout as you described, you would need to create this once and save the project as ‘Default.pod’ (as described in the 1.14 release topic). Then every time you start up Podium you would have this mixing desk template to start out with.
Frits
ZynewaveKeymaster…light slowly dawns, sun filters through the curtains, throwing longs rays across the shadows… things that were hidden take on sharp images, contrast and depth are filled out as the brightness increases..
Is that lyrics from one of your own songs? 😉
ZynewaveKeymasterwhen MIDI output from VST/i is implemented, could an option be included for sending it down a buss to control a plug in the bus…
Won’t be an easy thing to do, so I think I’ll pass in the first round.
Also, will the MIDI carry on upstream in the mixer until the events are sunk by a VST, or will they just be lost at the next level? I hope that the former would be implemented, since it would be the most useful.
I haven’t looked into how I would implement support for MIDI output of VSTs, but I guess I will treat it just like if it was an external synth you were using to play/record MIDI. So the MIDI would flow upstream until it arrives at a device mapping that can use it.
ZynewaveKeymasterHi,
This has not been implemented yet. You’re not the first to ask about this, so I will put a higher priority on it, but I cannot make any promises on when it will be available.
Frits
ZynewaveKeymasterwhen a track is zoomed using the slider at the bottom right, is there a chance that it could centre on the current play position?
I’ll think about this.
Also, could there be an option for returning the playback position to it’s last stop position after a play? I would find this really useful when listening back to a part, overdubbing/mixing etc; instant recueing. It would be hepful to be able to turn it off.
I’ll think about this too 🙂 A solution using existing functionality would be to place a marker at your desired stop point. Pressing the Q key would then move the play cursor back to the marker. You can do this while playing also.
Btw, thinking about VST parameters – when they are automatically generated when a plug is imported, they have their max and min both set to zero. Since a VST parameter will always be between 0 and 1, would it make sense to default to those?
The min and max settings are integers. When the range is set to 0..0 for a VST parameter, Podium will use the floating point precission of the parameter (All VST parameters are floats by default). If you know that a VST parameter is used to set a value in a fixed integer range, you can enter this range for the parameter, and e.g. the mixer sliders will show the integer value rather than the floating point value. If you set the range to 0 and 1, Podium will treat it as a on/off type parameter. Some of the VST parameters in the device definition files are defined this way.
ZynewaveKeymaster@anfmusic wrote:
Haven’t had time to write much lately Frits; but love the updates! Hope the review helps to interest a few more people!
http://www.kvr-vst.com/get/834.htmlHi Alphonse, good to hear from you.
That is a glowing review, thanks!
ZynewaveKeymasterWhere will I find this then?
In the curve editor view menu, select ‘Profile Properties’ to open the setup dialog. Select the Meter region and press the Properties button.
ZynewaveKeymaster- ‘Recently opened projects’ shortcut list.
- Minor editor improvements.
