First time here? Check out the FAQ!
x

Batch processing many 4096 sample length files to 1024 sample length and antialiasing oscs questions

0 votes
1,472 views
Hi All,

I have a folder (or so) of 4096 sample length wavefoms I'm interested in converting to 1024 sample length.
So the main question is 'is there a way to apply the Change Duration process available in the sample editor as a batch process to a folder full of files, a tool seems to be the only way but I havent (quickly) found any tips on how to implement that.

The reason Im curious is I want to use these waves in the antialiasing oscilator prototype.
In the prototye notes sample lengths that are multiples of 1024 get the OK.
So before I even bother with converting them, is converting them advisable for any reason or another?

 

The reason for the question is I was planning on setting up a selection of AA Oscs into a selectable sound to provide waveform selection but when I run what I've developed so far it takes a big long time to compile, perhaps the compile time is impacted by the fact the samples are three times the advised size?
Compiling a selectable sound with 20 separate AA Oscs takes about 3-4 mins.
I decided to work in sets of less than 20 for now ;)

Thanks,

Sean
asked Aug 2, 2015 in Using Kyma by sean-flannery (Adept) (1,520 points)

3 Answers

+1 vote
One thing you can explore is to drag and drop a Function Generator sound that is exactly the length you want, into the Sample Editor. Your wave will be rendered. Are you trying to design a more optimised version of a bandwidth limited table?

There is a command line tool created by Luddy some years ago - I'll see if i can dig it out
answered Aug 3, 2015 by cristian-vogel (Master) (8,440 points)
I didnt know about that trick ;) thanks.
I have a collection of 117 Ensoniq ESQ80 waves that I'm pretty sure I dug up in the archives on the Tweaky.

They are all 4096 samples long. Not a problem according to the prototype documentation but potentially contributing to a longer compile time when using several as described.
Just tried this and it works as described but a batch process is something I'm going to look into further
0 votes

I think the Kyma 7 AA osc is building something similar on the fly at compile time, hence the long wait times you might experience. But if you would like to experiment, this is a great little script to play with. Its on the Twiki.

BLWT.tgz: wavetable bandlimiter by LuddyHarrison: An Intel Mac OS X 10.5 program (executable) that creates bandlimited wavetables from ordinary Kyma wavetables. For each 4096-sample wavetable in the input file, an output file is created that 11 4096-sample wavetables, corresponding to 11 octaves over which the wavetable can be played back without aliasing. The 11 generated wavetables have decreasing amounts of high-frequency energy; the first wavetable is the original, and the 11th wavetable will ordinarily be a simple sine wave. An oscillator is provided that uses the playback pitch (!KeyPitch) to select the appropriate waveform.

answered Aug 3, 2015 by cristian-vogel (Master) (8,440 points)
Ahh, I thought this might be the one you were talking about.
Unfortunately I'm a 100% PC user so this one isn't much use.

From memory it produces a wavetable of auto resampled waves based on the wave supplied and used the Surbiton Oscilator prototype. I tried the surbiton oscilator out with some of the wavetable examples I could get my hands on and it worked to a point but it had a characteristic - because it indexes into a wavetable using keypitch - that really stood out as not suitable for what I was looking for: an anti aliasing oscilator that could be used for wild pitch sweeps.

(edit: apologies, the surbiton oscilator approach is described clearly above)

I suspect the AA Oscs convert the waves to spectra at compile time. I'd love to find out from SSC a bit more about how the AA Osc does its stuff.

It's obvious there is extra processing required for an AA Osc at complie time, question is: are there approaches to reducing that time?
0 votes

I have a collection of 117 Ensoniq ESQ80 waves that I'm pretty sure I dug up in the archives on the Tweaky.
 

 

Back then i used a custom Kyma Sound created with the help of SSC to convert the Original ESQ80 ROMs to 4096 samples single cycles for Kyma.
Of course this sound can be used to create just 1024 sample wide single cycles from any single cycle waveform.

It is a bit smalltalk based kyma batch sound which actually batch processes an entire folder full of single cycle waves and converts/interpolates them to 4096.

The purpose was to interpolate and smooth waves from my hardware like microwave, ensoniq ESQ or single cycles from other systems "less then 4096" samples to the 4096 Kyma uses.

I am not near my studio so i can only upload the 4096 samples version ... but you can try to change it to 1024 samples and interpolate your cycles...

All the best

Chris

 

answered Aug 5, 2015 by christian-schloesser (Adept) (2,920 points)
My apologies Chris, I was being lazy when I posted and should have correctly attributed your work. And my goodness, thankyou for those waves - They're gold.

Is this batch processing sound anywhere on the archives?
The only solution I've found is Mac only unfortunately.
No problemo. I always like to help. I will try to upload the sound to the new
Community Sound Library. I hope it is the correct one. I don't have my Pacarana with me here so i can not open, check and clean up the sound.
This is awesome :) thanks Christian

Getting this creating 1024 sample files was pretty straightforward and not surprisingly, the results sound wise reflect the sample length has been radically changed.

The load time (a selectable sound with 10 different aa oscs) when using 1024 sample length files is dramatically improved compared to the same sound loading 4096 samples, also no surprises.

The problem I have now is while comparing an A/B mix of the waveforms I've decided I like a mix of the two lol :)
FYI some nice 256 sample wavetables ripe for batch processing up to 4096

https://waveeditonline.com/index-4.html
...