I have an idea that can solve CPU usage (override) problems forever!
I am happy user of Renoise from the very beginning, but always had a problem with too much CPU consuming VST instruments and effects. I’m making space/ambient music with tons of instruments (many tracks) and lots of VST effects on each track (for example: backgroud souds which are used only once in the song for a few seconds but every sound is placed in a diferent “space”).
The problem is that sometimes one track (VSTi + lots of VSTs) can take even half (or more…) of CPU and it makes me discourage to meke music at all.
I know - somebody will say - “buy faster computer!”- but it’s not the point - I did it many times and trust me even on fastest machines I had a problem with my tunes and I think many of other musitians creating music in similar genres have the same trouble.
Ok, I can do the compromises, but why should I think during making music in mathematical categories like “I can’t use here this instrument, or this VST effect, because it takes to much of CPU”…?
Sometimes I try to pre-render each track (to WAV) and then glue the song back in some sequencer - but it takes a time, and I don’t have a possibility to hear my song in a realtime mode while creating.
That option in Renoise - rendering each track as a separate track inspires me.
As I’m also a programmer (this is my occupation) I conceive the solutions which can make Renoise realy powerfull tool independently of CPU, offering always possibility to hear our creation realtime during composing the music!
Here it is:
Prebuffering selected tracks into memory or/and into a special Renoise TMP folder on HDD/FlashDrive.
Imagine that on the top of every track you have a checkbox named for example “prebuffer”.
When unchecked Renoise treats it normaly - the track is rendering realtime while playing the song and the output is sending to master track.
When checked Renoise renders this track into a memory or HDD before first playing the song (for ex. after loading song into the tracker from HDD), or intelligently renders it ONLY after making some changes in the track!
Checked tracks once rendered are stored in the memory or tmp folder (during the session with a song) and are NOT rendered everytime from the beginning before playing the song. The track only need to be prebuffered again when some changes in this concrete track was made.
And now while playing the song Renoise uses these tracks stored in the memory like WAV files - they consuming lot of memory but very few of CPU!
Little taste of mathematics:
Imagine that we have a song which is 4 minutes long.
Each whole track prebuffered into memory with 44100Hz/16bit/stereo will take 4410022604 = 42 336 000 bytes (42MB). But most of each track will be filled with empty space (silence) which can be intelligently cutted by prebuferring engine. For example on track no.1 we have two parts of melody - first starts at 0:30 and ends at 0:55, the second part starts at 2:45 and ends at 3:05 - so we have 2 parts with a total of 0:45! The engine only need to remember when to start and to finish playing each part.
Even when we have whole track prebuffered - 42MB isn’t too much when we have for ex. 2GB of memory and HDD or better (then HDD): Flash Drive for TMP folder (for ex. USB flash drive).
The only important thing is that we need to have 176KB/s of transfer assured for each prebuffered track (44,1Khz/16bit/stereo).
With high speed flash drive (45MB/s) today we have hypothetically over 250 prebuffered tracks! RAM memory is much faster!
Somebody will say - “yeah! do you know how long it takes to prebuffer for ex. 100 tracks?”.
Depending of CPU and used VSTs, VSTis - from several minutes to… several hours but after that composing will be a pleasure! Beside that once prebuffered tracks can be stored in that TMP folder for each song with remembered date of last track modyfication - so it wont be necessary to prebuffer it each time after loading the song into tracker (until cleanning TMP).
Maybe it looks very complicated as for a start, but Renoise already have much more advanced/complicated features and I don’t think that it is imposibble to create such mechanism for its autors :O)
But for users/musicians like me it will be the function that incredibly expands possibilities!
I’m personaly ready to pay much more for a new version of Renoise if it will have such feature!
best regards
Greg (Grzegorz Szymczak)
PS. sorry for my poor english…