List of waveforms, filter types, etc. for miniATMEGATRON

Started by dcpnoise, April 10, 2016, 10:54:12 PM

Previous topic - Next topic

dcpnoise

Hey guys, ist there anything like a list of the selectable waveforms, filter types, Envelopes and the other parameters available in the miniATMEGATRON?

It's clear, that there are different parameters you can change one at a time by pushing the func button and then adjusting the parameter by pressing the value buttons. OK so far.

- But which and how many waveforms are actually included in the software? It's sometimes very hard to tell what waveform the current selected one should resemble (some square-ish lofi wave, hm, the next one sounds a bit like a sawtooth, etc. but what is it really called and meant to sound like, etc.?)  ???

- Or the filter types, it sometimes isn't clear even when you try the knobs Fc or Q what the filter actually should do, sometimes something happens, at the next setting the knobs don't change the sound at all and if they do in most cases it sounds like a noisy bitcrusher effect not anywhere near a 'real' low/band/highpass filter with some resonance. (yes, I did not forget to turn down Dist and Phase or at least try to shut off the wavecrusher  ;) )

- Or which envelope should do what, how's the env-shape looking like, which one does support sustain and which doesn't.

- And last but not least the Wavecrusher/Portamento settings, what is which parameter meant to represent, starting from 0 to max? I just can't figure out on what setting the wavecrusher or portamento are completely shut off.  :-[

A list of available settings (like for example: Waveforms -> Square, Saw, Sine, x, y, z, and so on. Or Filters -> Lowpass with Q, Lowpass without Q, Bandpass, Higpass, Noise, whatever else...) would help very much to understand that little critter a bit better.  :)

I hope someone (Paul? Nudge, nudge  ;) ) can help me out.

paulsoulsby

So the key bit of code is this:
All settings are selected from the main Atmegatron code.  If you download the manual from the Atmegatron Downloads page (not mini page) you can see a lot of the parameters at the back.

Filters are identical to the full Atmegatron (ie in manual).
LFO shapes and speeds are identical to the full Atmegatron (ie in manual).

Waveforms are selected via these tables:
static const unsigned char OSC_PRESET_TABLE[16] PROGMEM = { 0, 4, 9, 1, 2, 3,11,14, 0, 1, 4, 7, 8,12,13,15}; 
static const unsigned char OSC_PRESET_BANK[16] PROGMEM =  { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0};

E.g. waveform 0 on the mini is Bank 0 (red) wave 0 (ie square).
waveform 15 on the mini is Bank 0 (red) wave 15 (ie noise)

Envelope presets are derived from these tables:

static const unsigned char ENV_A_PRESET[16] PROGMEM =  {0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 5, 7, 7, 7,11,15};
static const unsigned char ENV_DR_PRESET[16] PROGMEM = {0, 3, 5, 5, 7, 7,11,11, 0, 5, 7, 0, 3, 7, 7,15};
static const unsigned char ENV_S_PRESET[16] PROGMEM =  {15,0, 0,15, 0, 7, 0,15, 0, 0, 0, 0, 0, 7, 7, 0};


E.g. envelope 0 is Attack = 0, Decay/release = 0, sustain = 15 (full)
envelope 15 is Attack = 15, Decay/release = 15, sustain = 0
Both envelopes use the same lookup tables.

Wavecrusher/Portamento is split into 8 wavecrusher presets (of increasing severity), followed by 8 portamento presets (of increasing time).  You can't have both at the same time.

Think that's everything!

dcpnoise

Hi Paul, thanks for the hints!  :)

QuoteFilters are identical to the full Atmegatron (ie in manual).

Check!  ;)

QuoteLFO shapes and speeds are identical to the full Atmegatron (ie in manual).

I see, check!

QuoteEnvelope presets are derived from these tables: (...)

Ok, makes sense if you read the 3 lines from top to bottom, step by step from 0 to 15. :)

Waveshaper and Portamento was clear after some further testing...

But the Waveform selection is a bit confusing. If you take the waveform list from the AtMEGATRON manual for reference, then the order of waveforms in the mini is in parts completely different. At the first position is a pure square but then the confusion starts, ie. where there should be a pure saw waveform is a square with narrow pulse width and some harmonics, instead of a bass on pos 14 there is a bell like FM wave, in one place is an almost pure sinewave but according to the list it's a Saw Fifths (just examples, I'm away from my studio today and can't make an absolute exact list). Then the noise waveform at pos 15 is correct again.  ??? Has there been a change in the order of waveforms since the manual has been written?

Dont't want to annoy you, but that's just what I hear and see when looking at the sounds on a waveform display...

paulsoulsby

The waveforms aren't a 1 to 1 match with the Atmegatron.  They use the lookup table to pick a selection from bank a and b.  So via the lookup table the waves are:
0 = Pure Square
1 = Pure Saw
2 = Pure Sine
3 = Octave Square (Juno 60)
4 = Square Fifths
5 = Pulse Wave (RP2A07)
6 = Warped Sine
7 = Bass (Multivox)
8 = Metal 1
9 = Metal 2
10 = Vocal 1
11 = Brass (multivox)
12 = Reed organ (PPG)
13 = Bell (PPG)
14 = Chord
15 = Noise

dcpnoise

Thank you, this is a list the user can work with. You should at least provide a manual for the miniATMEGATRON too, maybe not as detailed and thorough as for the 'big brother' but some information like this would be useful if you just get started with the little one  :)

Btw., where would you find these lookup tables? They're not in the .ino file and not in the libs I looked into so far... (already found the wavetables themselves in AtmOscillatorProgmem.h)

paulsoulsby

Lookup tables are in MinEngineProgmem.h which is in the MinEngine Folder.
thanks, Paul