Zebra PC blog

Official support for: u-he.com
Post Reply New Topic
RELATED
PRODUCTS

Post

I think there will be preset shapes (saw/sine/square, etc...) as well as load/save of OSCs in the final version, so that should make things much easier/faster!

Post

kodama wrote:That's demo mode, it's on purpose!
I though that demo version simply didn't allow Saving presets. I guess I missed that! Thanks for the info.
ulaz

Post

Hi Urs, is the Vibrato on the FM OSCs working? It doesn't appear to do anything when I use it, and so I have reverted to using LFO1 as a pitch mod on the oscillator instead.
I can get it to work no problem with regular oscillators.

Post

gbles wrote:Hi Urs, is the Vibrato on the FM OSCs working? It doesn't appear to do anything when I use it, and so I have reverted to using LFO1 as a pitch mod on the oscillator instead.
I can get it to work no problem with regular oscillators.
Oooops... I havn't seen that in all the months... Call me dumb! :oops:

Fixed now! 8)

;) Urs

Post

Cheers! I was going to mention it a while ago, but figured it would be on your list somewhere. I'm not sure about this, but I think it may be the same on the comb filters.
Oh, also, are you still distributing the latest build? If so, I'd love to check it out. I'm creating a fair amount of presets and probably should have requested to be in the beta a while back.

Post

Sometimes life is wonderful...

Code: Select all

for ( $wave = 1; $wave <= 16; $wave++ )
{
	$crazy = Rand( 0.01, 0.5 );
	
	$a = 0;

	for ( $sample = 1; $sample <= 128; $sample ++ )
	{
		$a = $a + Rand( -$crazy, $crazy);
		
		Oscillator[ 1 ].WaveTable.Wave[ $wave ].Sample[ $sample ] = $a;
	}
}
... thousands of waveforms one click away!

;) Urs

Post

Urs wrote: for ( $wave = 1; $wave <= 16; $wave++ )
{
$crazy = Rand( 0.01, 0.5 );

$a = 0;

for ( $sample = 1; $sample <= 128; $sample ++ )
{
$a = $a + Rand( -$crazy, $crazy);

Oscillator[ 1 ].WaveTable.Wave[ $wave ].Sample[ $sample ] = $a;
}
}
You might be a great developer (actually there is no "might be" - you are a great developer) but your song lyrics are worse than mine :hihi:

Regards,

Derek.
Less than 1000 posts and writer's block has set in :-(

Post

I dunno, it has a certain appealing simple beauty to it... :D
Image

Post

so let me hear you singing it


pleaaaassssse


;-)
sound is vibration, vibration is life

Post

Hi all,

just a short interruption of the silence, letting y'all know what's going on before I go back to work (after having a beer and some sleep, of course).

You know, weird things happen from time to time. About 10 days ago the scripting engine was finished and thus I think everything was finished. Just a small tidy up, some lines for VST2.4 support and a few tests and Z2 would've gone Release Candidate.

But then, so many great ideas came up while working on scripting. Although I never saw any big sense in scripting other than intelligent randomizers, the work and the discussions brought up some nice topics. What if one could script Midi filters, or even simple dsp modules? In short: I got obsessed by the idea to switch from *interpreting* a script to actually *compiling* it. Well, not necessarily compiling it into native code, but into some sort of "bytecode" that would be executed close to native speed (let's say, faster than JAVA in any case). So, that's where we are now...

Well, one could argue that I could've speed it up *after* releasing Z2 and leave it at interpretation for now. I was pretty sure that this would cause a lot of trouble. Maybe the language has to be changed in some ways for fast bytecode execution. This would've meant that there would either be two slightly different languages, or, the scripts made with the first incarnation wouldn't work in future versions. Both alternatives wouldn't have been an option. Instead, I voted for some extra delay and for a final implementation that is future proof.

Today I think I've brought it to the point where the interpreted language was, with a few object bindings left to code. And with the ability to benchmark the result. So much for now: The speed of the bytecode interpretation outpaces my wildest expectations :D

While creating a set of random wavetables for all four Z2 oscillators took a quarter second in the interpreted language, it takes, uhm, roughly 3350 microseconds in bytecode. That's 3.5 ms vs. 250 ms or a factor of 1:75 for bytecode vs. interpretation :shock:

This even is fast enough for small dsp algorithms, i.e. an ordinary 12dB lowpass filter would cost 3-5% cpu on my ancient G5 machine.

However, I had to indeed change the language a bit to get these speed results, which are necessary to implement real time features later. Best of all, in another step the bytecode could be translated into native code without too much hassle, for maybe another speed gain of factor 10 or so. But that's a project for autumn, maybe.

So, these maybe 2-3 extra weeks have opened up some great possibilities. I can think of scriptable oscillator effects and waveform generators. Script based modulators. Script based articulations and midi-controlled behaviours.

And of course, many feature requests could be delivered by writing a scripted preset, rather than shelling out an update.

That's something!

Cheers,

;) Urs

Post

:shock: :-o :hyper: :tu:

Post

Urs, have you seen vmgen from Anton Ertl at TU Wien? It's pretty sweet.

Post

Wow, I didn't understand but a fraction of that and I'm still excited!
Now Somewhat Retired

Post

hehe :)

(Same here! :tu: )
Image

Post

Oh man! Now we are talking. :hyper:
Zebra gets better and better. :hail:

Post Reply

Return to “u-he”