Forum rss-feed

Forum

Software: Performance & a request

Most Recent

written by: geert

Hi JDune,

You currently can't use the factory setups to change the key of recorded performances, but the infrastructure is there to do it. The tempo will change automatically when you change your metronome, doing time-stretching when needed.

You can close the windows of AU/VST using Stage or the EigenD menu bar, to totally remove a plugin you currently have to use Belcanto. There's no empty soundfont, I generally use a very small one if I have the need to preserve every last drop of memory. The included Synth Pad soundfont is good for that.

Take care,

Geert

written by: Tenebrous

Sat, 29 May 2010 18:46:01 +0100 BST

This is based on my experiences hitting a CPU limit from this thread.

I would like to request that we can choose that an instrument be recorded as an audio stream (i.e. WAV, or something) instead of as a stream of data from the Eigenharp which is then replayed through the sampler/AU/VST (although I'm only assuming this is how it's currently done).

I think this makes sense generally (and not just because I personally hit a limit)... the CPU usage of AU/VST instruments, and sometimes of the samplers, can be unpredictable (i.e. it's out of EigenD's control), but the playback of a WAV could be much more stable and consistant.

The audio stream would be recorded directly as it comes out of the instrument (AU/VST instrument / sampler / native instrument), but pre FX, and when played back it would obviously be through the FX. We'd just be skipping the processing used by the AU/VST instrument / sampler / native instrument.

This does tie in with using EigenD as a live looper as well (which was suggested elsewhere), but my request here is purely with the aim of improving the stability, and making the CPU usage generally more consistant.

Thanks for reading!
Tene


written by: mikemilton

Sat, 29 May 2010 19:23:31 +0100 BST

I think, in general terminology, you are requesting the ability to 'bounce' or 'freeze' a track (ie: recording)?


written by: Tenebrous

Sat, 29 May 2010 20:23:27 +0100 BST

I think so, but I want it to be bounced/frozen the moment it is recorded. I don't want to have to press any more buttons to do the bouncing/freezing.

And I certainly don't want any sudden CPU spikes because the bouncing/freezing is done at one point in time. Much more stable to record directly to the audio file in real-time (or however the stream would be 'saved').


written by: barnone

Sun, 30 May 2010 02:53:03 +0100 BST

Yeah but that is what a DAW is for or other audio capture software. It's not that hard to sync your DAW and capture audio loops.

I say this because EigenD needs to focus on what it's good at and I'm definitely of the opinion that audio capture should not be one of those things.


written by: Tenebrous

Sun, 30 May 2010 08:53:31 +0100 BST

Eigend already has a loop recorder/playback/looper. I just want it to be more efficient when playing back. That is all I am asking for, really.

At the moment it pumps the recorded key strokes & controller changes back through the same AU/sampler. I would like the option of skipping the AU/sampler because 99% of the time the audio will be identical to that which I recorded.

I don't think this is an unreasonable request.. the end result is, everything still works the same, but eigend is faster and you can play more instruments at the same time.


written by: Tenebrous

Sun, 30 May 2010 16:05:38 +0100 BST

I understand that I'm not comparing like-with-like here, but in my DAW (Cubase 5), I loaded 22 VSTs, all with different presets. I set them all to trigger from my MIDI keyboard. I hit the chord of C on my keyboard, four notes, and all 22 VSTs play instantly, no crackling, and CPU usage sits at around 30% while I hold the keys down. 8 of those VSTs were Halion Symphonic Orchestra with a rather nice violin, lol.


written by: john

Thu, 3 Jun 2010 18:07:35 +0100 BST

Hi Tene

There are two big differences between DAW's like Cubase and EigenD. The first is simply one of data rates - MIDI has a really low data rate which means that the software doesn't have to do that much when it receives a note - it only has a few bytes of information to interpret, and those are right at the front of the note. In Eigenharp land a note is a really large amount of continuously changing data (around 10K a second per key) - this is what makes it work so well. Even when it is down translated into MIDI for AU's it still sends a LOT more data to the AU then they normally receive, and in our native sounds we don't throw the data away so it all ends up being used. This tends to make everything use a load more CPU and has a major effect on polyphony. It's a tradeoff between expressivity and number of notes. We favour expressivity fairly aggressively, as you have probably noticed.

The second big difference is the sheer modularity of our system. It's very fine grained (there are over 600 individual Agents running in Alpha 3 with around 12,000 discrete connections between them) . At the moment you pay a price for this in performance (for a variety of reasons such as signal routing overhead and cache locality) but don't really get that much benefit as configuring the system is rather hard. Fixed routing architecture systems like DAW's don't have this problem as they can optimise one data path. The price you pay for that is a huge inflexibility that I personally find very frustrating (having grown up in the world of patchbays and jack plugs where almost any routing you can imagine was possible). DAW's are effectively a representation, a fossilisation even, of the routing architecture of the 80's/90's mega consoles like SSL's, but signal routing was always a changing, creative endeavour in studios before then, to great effect. Sorry, rant over!

You will find this a much better tradeoff when the Workbench is done (ah, the mystical Workbench I hear you say - it's coming along but will still be a little while I'm afraid!). The fine grained nature of the system (which if you've ever used Max/MSP you will have some idea of) is very very cool though, and we believe worth paying some price in performance for.

Having said this we are very aware that we'd like to increase available polyphony. It's not been a big issue up to now but some of our players are now starting to stretch the envelope and are running into CPU performance limits. There are a number of things that we can do to improve matters - code optimisation to make basic processing faster, adding the ability to 'freeze' recordings as audio rather than played notes and allowing for a lot of decimation of data when you don't care about expression. Of these the only one that is not a compromise is number one, and thats where we'll be working next. 'Freezing' takes has the downside that you can't change their key or tempo later (which I consider to be a major minus) and reducing data rates seems to be a bit pointless outside of banging drums. I think we'll end up doing both of the latter ones in time anyway though as they do promise to be handy, especially with some of the very CPU intensive sounds.


John


written by: Tenebrous

Thu, 3 Jun 2010 20:32:38 +0100 BST

John,

Thank you very much for the extremely detailed reply! I totally agree that favouring the expressivity is the key thing that makes the Eigenharps unique, and special, and I definitely wouldn't want that to be compromised purely for polyphony.

Also, being able to adjust the key and tempo totally depends on the song. I'd want the option available so that if I knew a song didn't change key or tempo, then I could set an instrument to be 'frozen' as I recorded it, giving me valuable CPU 'space' for later instruments.

Doubling my RAM to 4gb made a huge difference to the playing. I'm assuming because it had to keep swapping in and out the piano samples I was playing (or rather, playing back from the recording). Again, freeze-while-record would have solved that.

Anyway, I think the freeze-while-record kind of fits in with the other requests to do live looping from the mic, so perhaps it'll almost fall into place by itself ;)

Tene.


written by: john

Thu, 3 Jun 2010 21:46:49 +0100 BST

Hi Tene

It's interesting that going to 4G made a big difference for you. We're actually about to up the memory requirement for Alpha and Tau's to 4G as we have also found that 2G is borderline - it seems to be fine for Pico setups but the larger Alpha and Tau setups can suffer.

John


written by: barnone

Thu, 3 Jun 2010 23:44:34 +0100 BST

I would expect it also matters very much WHICH sample sets are loaded. Tenebrous, didn't you mention having multiple instances of piano samples loaded? Piano sample sets in general are massive with the number of layers involved. It's pretty easy to chew up a shitload of memory using Kontact or other sample engines in this way too. Might try loading some lighter sample sets and see if that makes a difference.


written by: geert

Fri, 4 Jun 2010 06:28:10 +0100 BST

John, I think that besides speed optimisations to EigenD, you should also take a look at its memory footprint. Loading Alpha factory 3 setup with samples that are just a few kb and very lightweight AUs still uses up a whopping 1.3Gb! I think this really has to go down as I'm actually considering moving from 4Gb to 8Gb on my MacBook Pro. I can see that 4Gb is already borderline for me when using a large single Kontakt instrument.


written by: Tenebrous

Fri, 4 Jun 2010 08:19:28 +0100 BST

@barnone - With regards to the samples, yes you're right, I had loaded several copies of the 2gb soundfont. Perhaps some optimisations could be done here as well, however, since obviously the samples were shared between all 5 Samplers.

@gbevin - I hadn't actually noticed that, I'd assumed all the memory was due to preloading the Samplers etc... I hadn't tried 'removing' them (or rather replacing them with much smaller soundfonts).

In fact, as a kind of aside, IS there a way of emptying a sampler or an AU, so they have no soundfount or no AU loaded? If not, is there like an 'empty' .sf2 file you can load?


written by: sam

Tue, 8 Jun 2010 17:19:22 +0100 BST

Hi all,

You can remove a plug-in from an Audio Unit instrument in the EigenCommander using the following:

audio unit X hey

close


where X is the number of your desired Audio Unit - more information on Audio Units can be found in the Audio Unit wiki article.

Sam
Eigenlabs Software Department


written by: Tenebrous

Tue, 8 Jun 2010 17:30:16 +0100 BST

@John - You said "you can't change their key or tempo later" - how can you currently change the key of recorded instruments? My apologies if I've just totally missed it, of course!

@Sam - That's excellent, exactly what I was after - thanks!

Is there an equivalent for the Samplers? Alternatively, does anyone know of, or have, an 'empty' .sf2 handy?


written by: JDune

Wed, 25 Jan 2012 00:18:24 +0000 GMT

That WAS a very good question--how DO you change key and tempo of recorded instruments?

And did someone find an "empty .sf2"?

And is there is a non-Belcanto way to remove a VSTi or AU, or soundfont sampler?

Thanks! (Feel free to refer me to an earlier post if one dealt in full with these questions.)


written by: geert

Wed, 25 Jan 2012 15:45:54 +0000 GMT

Hi JDune,

You currently can't use the factory setups to change the key of recorded performances, but the infrastructure is there to do it. The tempo will change automatically when you change your metronome, doing time-stretching when needed.

You can close the windows of AU/VST using Stage or the EigenD menu bar, to totally remove a plugin you currently have to use Belcanto. There's no empty soundfont, I generally use a very small one if I have the need to preserve every last drop of memory. The included Synth Pad soundfont is good for that.

Take care,

Geert



Please log in to join the discussions