Multicore Functionality
Note: The following information is only useful if you have a multicore CPU, such as Intel Pentium Core Duo or Quad Core. If you have a single core CPU, then this information is only useful for educational purposes.
Introduction
Resampling
Compression
VST Processing
In the past, a CPU used to have only 1 core. But nowadays, CPUs are multicore and Turbo Play can take serious advantage of that feature to ensure that your sequence will run smoothly.
Turbo Play can use your cores when resampling sound (for more, see Track Manager). This is transparent and results in at least 4x faster resamplig in my Quad core CPU.
Note: this feature is only implemented for compressors that can compress or decompress sound in a non progressive way (without feedback). If your compressor uses feedback, multicore functionality cannot be used and the sound will be compressed or decompressed using standard single-core methods.
Turbo Play can use your cores when loading or saving a file as a compressed sound. Provided your compressor supports the non-feedback functionality, this will greatly reduce the time needed to load or save a wave.
Turbo Play uses the LAME encoder to export to MP3 output. That way you are allowed to specify various MP3 settings (Bitrate, quality, sample rate etc) and to specify the cores to use. This will significantly speed up MP3 export. For more, see MP3.
Multicore feature cannot be used in any sort of setup. Here I will show when it can be used effectively.
Scenario #1: You have a midi file to be sent to 2 VST instruments which will output audio. Normally, you would create the folllowing setup:
Without multicore functionality, TP will send the midi file to both VSTs, then process the first, then the second, and then send data to the mixer. But look! The output from VST 2 is independent of the output in VST 1, so the processing can be done simultaneously. TP then creates a thread pool to process the VSTs simultaneously, taking advantage of your multicore CPU and so reducing the time needed to process both VSTS and therefore leaving free time for more VSTs.
The Visual Linker notifies you immediately if the setup you have created can take advantage of the multicore CPU !
Scenario #2: You have a wave file to be sent to 2 VST effects , and the second VST takes the input of the first VST. which will output audio. Normally, you would create the folllowing setup:
Now multicore functionality cannot be used, because the input of VST 2 depends on the output of VST 1, and therefore you cannot process both VSTs simultaneously because VST 2 must get input from VST 1 output. The Visual Linker notifies you in such a setup that you cannot take advantage of multicore CPU.
In general, to take advantage of a multicore cpu, you must take all the outputs from all the VSTs serially. For an example, see the router tutorial.