Proper tablet reading for wavetable synths


#41

Yeah I thought of stretching too, but stretching it in regular manner would probably not be good idea because of artifacts. What is special about the Nyquist stretching? Just checked the Audacity Nyquist plug in. couldnt make much from it :smile:

Which other ways can you recommend for stretching files? Are there any of them that lets you stretch in bytes instead of samples?

And also checked the editor and it is PC only. I am on Mac. I suggested Serum cause you can use it on both pc and Mac.


#42

the topic of loading 44.1 files has already been answered :smile:


#43

Ok, that answered one of the questions :smile: thanks. Will look into other options.


#44

yeah sorry it isnt the commonly known "stretching" its the more basic "repitching" approach..so it doesnt do pitch correction with those horrible artifacts.


#45

So how should I approach it:

If I have a sample that is 482 byte and want to make it 512 byte:
512 - 482 = 30
(30/482) * 100 = 6.22%

How do I apply 6.22 stretch in a manner that doesnt produce artifacts? I cant figure out how to do it with the Audacity Nyquist plug in. It need command lines and I am not sure how to do that.

To be honest I am not sure stretching the files are the best solution, anyway.


#46

Why sample-rate-convert the wavetables?
The transposition error resulting from that can be compensated during playback.
It is more important to preserve the power-of-two length (1024, 2048 etc). So I suggest not to sample-rate-convert, only make it raw.
I do not expect any realistic increased quality resulting from a 32bit resolution wavetable over a 16bit wavetable. Interpolation algorithms are far more important to the sound quality.


#47

The wavetables from Serum is 31 bit float 44.1khz. I thought that Axoloti only used 16/32 bit depending on what you choose and 48khz sample rate?
.
Therefor I thought it was necessary to sample rate convert. If you say there is no need for it, Ill take your word and test it out. Then in theory it is pretty easy to use since a 128 wavetable from serum fits perfectly in a table/alloc 16b with 512 buffer size.


#48

Certainly convert from 32bit float to 16bit or 32bit fixed point. 32bit fixed point will hardly give any noticeable improvement for wavetables.

The size attribute in Axoloti is number of samples regardless of sample size, so select 128 for a 128 point wavetable.


#49

Ups sorry I said something wrong here... All those numbers i just went through....
32bit float and 44.1khz calculations:
128 tables that is 8 bytes is 1024 bytes.
64 tables of 8 byte is 512.

Anyway going to test now. I just made now.


#50

the solution is the quickest for me right now - of course having a nice converter that is intelligent enough to pitch stretch to the closest power of 2 would be neato but whatever.

you need to use this plugin http://forum.audacityteam.org/viewtopic.php?f=42&t=64003 - the second attached file in the thread.

it uses time but you can specific very exact lengths so you can get the right amount of samples.


#51

Ahh an explanation about the plug in. Thanks :smile: But I will still prefer not to stretch anything if possible..... And i think it is possible without stretching..


#52

well its re pitching so i think its good. might be wrong though, but i didn't hear artifacts and code seems super simple (you can open the file).

the EASIEST thing to do would be making your own tables at the correct lengths.


#53

Yes exactly what I am trying to do. And if we can make Serum wavetables fit in Axoloti we dont even have to make them ourselves, because there are thousands already now. I think it is too much of a hassle having to repitch every single wavetable file you want to load in axoloti. WOuld be must simpler if we can just drag them in and set buffer size.


#54

pretty sure batch processing works with this plugin but i havent tried it yet. I want to use old ripped wavetables from some classic machines and no way in hell im doing them by hand hehe


#55

Ok still learning here. I though the table alloc object sets the size in bytes not samples? That is why I pay attention to the tablesize in bytes not in samples.

And a Serum wavetable is 512 bytes, not samples. And therefor I have set table alloc for 512.

Would really like to read a proper explanation of how table alloc works in general. It seems like i get things mixed up.


#56

All the classics are already made for Serum. Again it would be much better to put a little effort into solving this issue that having to repitch all of them... I dont trust the repitch idea....

Since the sizes of Serum wavetable and Axoloti table alloc are compatible it is much better to find out how to make this work perfectly. Then you just download whatever wavetable you need and use it... Much better in my opinion.


#57

i guess so..i've looked at serum .wavs and they are mostly different sizes also? in anycase i have actual rom rips :smile:


#58

Yes you can make serum files any size between 8 byte and 2048 bytes(2megabyte). Serum waves are 8 bytes long each and

The example I have posted and made is based on a 128 wavetable and each wavetable is 4 bytes. SOOO

128 wavetables * 4 bytes = is 512 bytes.

Therefor in my head the Table//alloc must be set to 512 to be able to play all the 128 step. If i set it to only 264 only the first 64 waves will be inside the reach of the table alloc? Or is this wrong?

WOuld be nice if we could find a standard format that just fits perfectly and dont need any post Serum stretching. Like the 128 example I have made....


#59

That is extremely short for a wavetable.


#60

yeah..are you sure @jaffasplaffa? i looked at the files and some are very long..even the drum attacks (6000b lol)
smallest in my demo install is a 114byte drum attack.


Polyphonic morphable wavetable oscillator