Wavetable and wav file conversion experts - help!

Does anyone know of an audio editor or program that I could use to create a wavetable or convert a wav file to the following format:

  • mono
  • 16-bit
  • 40kHz
  • 8192 samples long
  • tuned to D#4

The wavetable would include 32 cycles, with each cycle having a length of 256 samples

‘A friend that is helping me with this project was not able to use Audacity or the Novation wavetable editor to create a table with these specifications.

Thanks in advance!

40kHz seems to be pretty off-standard, isn’t it? Maybe hard to find an app doing this. I checked some of mine, but they support 44.1 or 48 kHz only.

This makes me wonder, whether I understand correctly, what was asked. Typically a wavetable is a curated collection of single-cycle waveshapes and hence without pitch.
:thinking:

2 Likes

SoundRider is correct. The sample rate and pitch of the input audio only matters so far as getting a complete single wave sample that matches the sample size ( 8192 is a common one ). You can do a calculation to find an input pitch that would correspond to a particular sample rate.

Otherwise if you can’t control this you need software to stretch or shrink, or repitch other samples to get the right length.

Then there is a separate operation to assemble the separate waves into a collection of waves in a wavetable file.

1 Like

I know about this because i wrote my own software to make wavetable wav files. It makes files that works with a variety of programs like Pigments. Now that i have the basic tool i then change the code around to do other things. I have stuff for instance that generates new wavetable files, reshuffling waves from others and ways to create wt files additively. I have never taken an existing wav audio file and clipped samples from them though.

1 Like

Why 40 kHz? A single cycle (or two cycles etc) lasting 256 samples at 40 kHz is by definition close to D# (with respect to A = 440 Hz), and very close to D# with respect to A = 438 Hz.

You could:

  • simply edit an existing file to change the stated sample rate to 40 kHz,
    or
  • create a suitable file from scratch.

You could do this in any programming language, or do it in an environment like MATLAB (well-known) or the free Octave software in the blink of an eye.

MATLAB example:
https://www.mathworks.com/help/matlab/ref/audiowrite.html

Octave function for this purpose:
https://octave.org/doc/v4.4.1/Audio-File-Utilities.html

What is the project?

4 Likes

You guys are awesome! I will post full context as soon as I can get a break at work. :pray:

There has to be some award for dropping a reference to both Matlab annnnd octave in a single post here on elektronauts! Bravo!

2 Likes

Dillon Cower has created a utility (a series of Python scripts) that allow users to replace the wavetables in the MicroFreak by replacing the wavetables in the firmware itself. Since I am not a coder by any stretch, I got my husband to help me and we were able to create a few firmware versions that used the sample tables Dillon provided in the GitHub repo. We tried both smoothed and unsmoothed versions, and smoothing them ourselves using the Python script Dillon provided. Unfortunately, the wavetables had an unpleasant, high pitched distortion once in the MicroFreak.

In the Notes section of the repo, Dillon states the following:

  • There are 16 wavetables on the device; each wavetable contains 32 cycles, and each cycle is 256 samples long.
  • I believe the sample format is 16-bit mono @ 40kHz. Yes, 40000Hz. Each sample is tuned to D#4.
  • The tool only supports 16-bit mono WAV files; each wavetable must contain at least 8192 samples, and the first 8192 will be used. They should be encoded at 40kHz if you want them to sound correct.

I have also noticed that he responded to @veeceeoh 's Issue/Question and provided some additional details about what the technical aspect of the wavetables.

My thought was to just use some of “my own wavetables” (ha) and load them into the MicroFreak, but I see now that there is no wavetable standard and it might be unclear what kind of wavetables the MicroFreak expects to see. Frankly, I wish Arturia would just add something to MIDI Control Center to allow user upload of wavetables into the MicroFreak, but that hasn’t happened.

So that’s the context. Thank you all for chiming in on what is a supremely niche (but nevertheless interesting?!) “problem.” :smiley:

2 Likes

I should look into this. It happens the wavetable stuff i’ve written is in Python as well, a favored language for me.

Though i don’t own a Microfreak, it certainly is a nice little synth.

I put some sample wt files from an early version of my sw here:

I think I may need to PM you. :slight_smile:

That’s exactly, what I’m after too … but for this task I walk the easy way and use hardware, which allows me to do this without head scratching and an expert coder.

If you are into Eurorack, there are some interesting wavetable oscillators for this like:

  • 4ms Sperical Wavetable Navigator
  • Flame 4Vox
  • Synthesis Technology E352 Cloud Terrarium
  • Waldorf NW1
  • maybe others …

As for synths …

  • Korg Miniloque
  • Korg Modwave (AFIIK reads/loads Serum wavetables)
  • Waldorf Blofeld
1 Like

Does anyone have HQ versions of the Prophet VS wavetables?