Wompler
The Wompler is a project I started in May 2023. It is a MIDI controlled sampler with up to 6 voices in a eurorack format. It has a 3.5mm stereo audio output, and a 3.5mm mono input with a eurorack-level attenuation switch for sampling eurorack-level AC signals. The MIDI input conforms to the Type A TRS Midi Standard, which uses a stereo 3.5mm jack as the transport mechanism. There is also a MIDI thru jack. The device samples at 15khz and the samples are stored as bytes (8-bit samples). The total sampling memory is 87KB so you can sample about 6 seconds. The synth engine that plays the samples runs at 30khz, and the samples are interpolated, adding some resolution back to the signal. You may also import WAV samples stored on a microSD card. It is programmed through a clickable rotary-encoder/screen interface.
Voice Structure
The voice structure of the Wompler is very simple due to the limitatons of the hardware used. There are several modes that change the voice structure. The default mode is Normal, which has a single sample-oscillator that is fed into a resonant filter (LP or HP), and finally, a digital amplifier. These elements can be controlled in various ways. An programmable envelope generator is assigned to the filter and amp for each voice.

Each voice also gets an LFO and another envelope generator (MOD EG) which can be assigned to various parameters.

The following voice modes limit the polyphony to 5 voices due to the increased processing demands. The second voice mode is Chorus mode, where a second sample-oscilator using the same sample is mixed together before entering the filter. This opens up the "Oscillator 2 Index" (O2INDEX) modulation parameter for use as well as the "Inital Oscillator 2 Index" (INITO2INDEX) parameter. These parameters are used to control the blend ratio between each oscillator. With the INIT02INDEX at 50%, the chorus mode is at it's most useful. The rest of the modes also make use of these parameters to control different things depending on the mode.

The third mode is Dual mode, which is the same as Chorus mode, but the sample for the second oscillator can be different. The "OSC2" parameter can be used to set which sample you use.

The last mode is FM mode. This is like dual mode, but instead of mixing the signals, the second oscillator modulates the frequency of the first. The "OSC2" parameter is useable in this mode as well.
Modulation
The modulation of parameters is set up in a modular matrix-like way where you choose which parameter you would like to be modulated, and then the modulator of your choice. The parameters that are modulatable are as follows:
  • Oscillator 1 Pitch
  • Oscillator 2 Pitch
  • LFO Depth
  • LFO Rate
  • Oscillator 2 Index
  • Loop Offset
  • Volume
  • Pan
  • Cutoff
  • Resonance
The possible modulators are:
  • Velocity
  • Keytrack
  • LFO
  • Modwheel
  • Mod EG
  • MIDI CC A
  • MIDI CC B
LFO/Envelope Generators
The LFO has 4 shapes: Saw, Square, Triangle, and Sample & Hold, and the depth and rate can be set, and modulated. All envelope generators are ADSR.
Samples and Programs
The Wompler was designed wih the intent of having multiple samples spread throughout the keyboard. As such, certain parameters are required to implement this feature. Each sample has a "TOPKEY" parameter, which is the highest key the sample will be triggered. Any key above will trigger the next sample.

For example, if you set the "TOPKEY" parameter of sample 1 to key 64, pressing key 65 would trigger sample 2. Each sample also has it's own envelope settings, modulation settings, loop settings, and many more independent to the sample. This means you could have one sample on key 65 that has a very slow LFO with a triangle wave modulating the pitch, while key 64 has a sample with no LFO modulation and a much different amplitude envelope, in other words completely arbitrary control across the keyboard. You can store 127 samples, so a completely different sound could be across every key.

The program is what you use to set the voice mode, whether the samples are polyphonic or monophonic, and the initial sample of the program. The inital sample is the starting point to scan for the next sample once the "TOPKEY" is reached. Another example should be provided due to this somewhat unintuitive method. If you set the initial sample to 12, and sample 12 has a top key of 127, the whole keyboard should play sample 12. Let's say sample 11 has a top key of 64, and you set the inital sample to 11. Now half of the midi keys (0-127) would use sample 11, and the rest sample 12. With this, you can create many different instruments using the samples. You can also duplicate a sample without copying the audio so you can have different parameters while using the same source audio, and swap positions of samples to make it easier with the "TOPKEY-only" system
Banks
When you want to save your programs forever, you must have a microSD, as all information is lost once power is lost. The state of the sampler can be saved as a Wompris Sound Bank file (.wsb) on the microSD. This format was created specifically for use with the Wompler, and it stores your sample memory, your sample parameters, your program parameters, and any settings changed such as pitch bend range or the MIDI recieve channel. This file can then be loaded again in the settings screen to restore the state of the Wompler.
Sample Editor and Tools
After sampling a sound, you are immediately taken to the sample editor, where you can apply various irreversible processes to your sample. Currently the processes are as follows:
  • Invert
  • Reverse
  • Octave Up
  • Fade In/Out
  • Boost
  • Rectify (Full-Wave and Half)
  • Filter (LP/HP/BP)
You can also enter the "TOOLS" menu to save the sound as a WAV file or duplicate the audio so you can modify it and keep the original.
Loop Modes
There are a few loop modes as well that control the loop of the sample
  • One-Shot: Plays sample all the way through without regard for loop points
  • Reverse: Same as one shot but in reverse
  • Loop: Plays the sample through until reaching the loop end, and then returning to the loop start.
  • Reverse Loop: Plays the sample in reverse until hitting the loop start, and then returning to loop end
  • Ping Pong: Alternates between Loop and Reverse Loop
Software and Hardware
The Wompler uses an ESP32 SOC as it's core, with an external ADC, and DAC driven with I2S. The schematics and PCB were designed by me with the help of the open source community. There may be another PCB revision before it is finished. The software has been in development in tandem with the hardware since the beginning, and it certainly has came a long way. Nearly all planned features have been implemented, but there are many known bugs and who knows how many unknown. I hope to be able to get my friends to test it out once I clear the current task-list, and maybe even figure out a way for a more widespread testing. I am still not sure about commercial plans for his synthesizer, as I believe it is not viable on the market, and was mostly made as something tailored to my personal uses. I don't see much public fanfare for hardware midi samplers without built-in sequencers, and the prices of used, vintage digital samplers exceeding the specs of the wompler aren't too shabby for a consumer at the moment. If anyone would be interested in testing a prototype wompler contact me and I'd be happy to arrange something once I get a second hardware revision manufactured and have made more progres on the sofware/firmware. One thing I would need to add for sure is updating from the SD card once it gets to that point. Anyways, those are the details on this project so far, audio examples / sound demos will be coming soon!
2024 TELESTRIPPER