User waveforms (again)

Official support for: u-he.com
RELATED
PRODUCTS

Post

I can't find the original thread ... I forgot how to use the tool I have on my PC (duh). Could the author repost links / info?
Thanks!

Post

Howard wrote:I can't find the original thread ... I forgot how to use the tool I have on my PC (duh). Could the author repost links / info?
Thanks!
Not sure which tool you are referring to, but here's a link to the original User Waveform thread:

http://www.kvraudio.com/forum/viewtopic.php?t=164556

On page 3, FEV posted a Python script, wavToZ2.py. Unfortunately, the link has expired.

On page 8, michkhol posted a nifty tool sconvert.jar. The url http://home.comcast.net/~michkhol/dev/sconvert.jar still works.

To run sconvert, just open a command line window (start->run->cmd.exe) and if your PC has java installed, you only need to run:

Code: Select all

C:\Documents and Settings\bmr\Desktop>java -jar sconvert.jar -help
-a Input sound file [required]
-o Output file; *.h2p file name will be generated if not specified  [optional]
-ch Channel to read (1, 2...). Reads 1 channel by default [optional]
-s Amount of samples to use [optional]
-n Normalization rate (e.g. 0.98) [optional]
-help this help
I saved the waveToZ2.py script a while back onto my backup HD. I'll pull it off the next time I use it an re-up to rapidhsare/megaupload for everyone.

I hope this is what you were asking about, otherwise I'm just talking to myself. :hihi:

Post

Thanks, that is precisely what I meant. :)

Post

Thanks for pulling this up again. I had completely forgot about this tool!

However, it's made me wonder if there's a bug in the zebra2 gui?! When I load a waveform into an osc, the text-label in the bar below the knobs in the oscillator overlays the nabouring "Mix" label - making it unreadable. Also in the load-menu for the oscillators, if there's a sub-dir in the osc-dir (which is the case when you have transmission installed), the dir-name "Transmission Templates - Oscillator Templates" is written across the 2 columns in the load-menu.. which looks quite messy.

EDIT: what's even more odd.. the overlay-problem only seem to occur with OSC1.. works fine with OSC2 !?

Back to topic though. I've made a couple of h2p's out of really simple samples, and the result have been mediocre.. any idea as to how much or how little of the samples to generate? x bytes? I get these hipass-filtered sounds...

Cheers.
music // twolegs // geometriae
sounddesign // twolegstoneworks

Post

metal wrote:Back to topic though. I've made a couple of h2p's out of really simple samples, and the result have been mediocre.. any idea as to how much or how little of the samples to generate? x bytes? I get these hipass-filtered sounds...
I discovered what caused the hipass-sounds.. when loading the oscillator-files they load default as GeoBlend. Switching to SpectroBlend gives a much more useful oscillator sound. I wonder why though..
music // twolegs // geometriae
sounddesign // twolegstoneworks

Post

metal wrote:
metal wrote:Back to topic though. I've made a couple of h2p's out of really simple samples, and the result have been mediocre.. any idea as to how much or how little of the samples to generate? x bytes? I get these hipass-filtered sounds...
I discovered what caused the hipass-sounds.. when loading the oscillator-files they load default as GeoBlend. Switching to SpectroBlend gives a much more useful oscillator sound. I wonder why though..
Guess we'll just have to wait until Urs graces us with a bit of the syntax of his scripting language. The only thing he's really mentioned I could find is on page 8 of the original User Preset thread. We can also glean a few things from the syntax of his original feedback sine.h2p posted on page 1 Here's what he said:
Urs wrote:The <? ... ?> pair marks beginning and end of a scripted block within the preset. After each block the script will be compiled and executed.

When using an oscillator preset you can only stuff up to 16 waveforms into a single oscillator.

In order to fill multiple oscillators with up to 16 waveforms each you should use "normal" presets. In these you would use lines like #cm=Osc1 and "Osc1" instead of "Selected". Latter is a placeholder for the actual module within a module preset.

Oh... the array (float wave[128]) is just a list of 128 values/samples. It can be reused for each waveform...

Post

metal wrote:However, it's made me wonder if there's a bug in the zebra2 gui?! When I load a waveform into an osc, the text-label in the bar below the knobs in the oscillator overlays the nabouring "Mix" label - making it unreadable. Also in the load-menu for the oscillators, if there's a sub-dir in the osc-dir (which is the case when you have transmission installed), the dir-name "Transmission Templates - Oscillator Templates" is written across the 2 columns in the load-menu.. which looks quite messy.
Yep; it's a known issue. Urs is working on it.

ew
A spectral heretic...

Post

bmrzycki wrote:On page 3, FEV posted a Python script, wavToZ2.py. Unfortunately, the link has expired.

I saved the waveToZ2.py script a while back onto my backup HD. I'll pull it off the next time I use it an re-up to rapidhsare/megaupload for everyone.
Here are the promised links to wavToZ2.py:
http://rapidshare.com/files/33395386/wavToZ2.zip.html
http://www.megashare.com/184962

Post

Urs,

Is it possible for you to post a code snippet to programatically create MSEGs? I noticed in .h2p extended the changes are in the binary blob. I'm guessing there's an alternative interface akin to the 128 slots for wave points...

Post

http://www.kvraudio.com/forum/viewtopic.php?t=166487
There's some stuff about that there.

Post

jupiter8 wrote:http://www.kvraudio.com/forum/viewtopic.php?t=166487
There's some stuff about that there.
Ooh tasty! I'll see if I can muck about with that. I'm guessing you've used this a bit when working on WavToh2p :)

Post

bmrzycki wrote:
jupiter8 wrote:http://www.kvraudio.com/forum/viewtopic.php?t=166487
There's some stuff about that there.
Ooh tasty! I'll see if I can muck about with that. I'm guessing you've used this a bit when working on WavToh2p :)
Not that stuff in particular but other stuff.I had some correspondance with URS about these matters so if you want to ask something and don't want to bother him you could try with me first.I'm far from as busy as he is. :D
I'm probably the second or third best person on the planet to ask.That feels good. :hihi:

Post

jupiter8 wrote:Not that stuff in particular but other stuff.I had some correspondance with URS about these matters so if you want to ask something and don't want to bother him you could try with me first.I'm far from as busy as he is. :D
I'm probably the second or third best person on the planet to ask.That feels good. :hihi:
Ok, question. I've been using the following call to modify points:

Code: Select all

Selected.setSegment(1, 0.00, 0.00, 0.00, 0);
The problem I'm seeing is it looks like the script I'm running depends on the number of points available from the previously loaded MSEG. If the previous MSEG only has say 4 points used, when I load the script, only the first four points defined in my script show up. .setSegment(5 ... does nothing.

Is there a way to add points to the segment? Also, what does the final parameter of the call do?

I've figured out so far the api is:

Code: Select all

Selected.setSegment(segment_number, y_axis_offset, x_axis_length, line_type, ?);

Post

MSEG1.setSegement( int Segment, float Value, float Duration, float Slope, int Shape )

where

Segment = segment 1-32
Value = I guess 0.00 - 1.00
Duration = 0.00 - 64.00 number of quarters or whatever timebase is selected
Slope = -1/+1, where 0 is linear
Shape = 0: concave/convex, 1: S-curve

As with Osc Presets, in MSEG presets you'll just use MSEG.setSegment or selected.setSegment

You can also use

int a = 2; //or whatever
MSEG[ a ].setSegement(...

#----

I'm gonna start on this real soon:

http://www.u-he.com/scripting

I've been overwhelmed when I thought about having to explain types, variables, expressions, functions... maybe I just skip that and leave this to books about other languages... :oops:

Post

bmrzycki wrote:Is there a way to add points to the segment? Also, what does the final parameter of the call do?
Ouch... I can't find that either... I must have forgotten it... dammit :oops:

Post Reply

Return to “u-he”