Page 4 of 4

Re: Hardware wavetable on an arduino

Posted: Mon May 31, 2010 7:37 pm
by Neutron
more news.
the oscillators are pretty much nailed down now. the code has been optimized a lot and also various modulations that can work on a limited platform are working well. because it will be living in a modular synth,

Inputs: MIDI, CV(for internal modulation, not pitch), sync
Outputs: MIDI, OSC pair 1, OSC pair 2, CV, Trigger/sync x 2 ,

Controls done with pots because any LCD/memory etc screw up the sound. this little arduino is on the edge of not working anyways :)
there is MIDI in/out for controls in remote mode i can use it as a MIDI controller, and send my changes to the sequencer to be sent back for playback.
_____________________________________________________________________________________________________

2x oscillator Pairs each with 9 controls:
wavetable
offset "highest wave in the wavetable that can be used"
Octave
Osc B offset: (play higher for sync)
Wave select: mode (play higher up on the wavetable depending on velocity, external cv, accent etc)
Modulation selector: (modulate osc b by envelope, LFO, accent, external, combinations)
XOR: which is sort of a distortion control
unison: (works even when A and B are synced)
Mod amount: bipolar control of how much Modulation by mod selector.

Shared between the 2 pairs of oscs:
sync mode: no sync, normal sync, unpitched normal sync, unpitched normal sync with single cycle B osc.
bank select: select one of 4 banks 32 wave tables(16 waves 256x256) each

LFO Speed
LFO source Triangle, saw, ramp, square, random, random by note, velocity, (adding more)
LFO sync on, off, on by accent, off by accent.

ADSR
A
D
S
R
(no key scaling, its a bass synth, but if i can spare a knob, maybe :)

Mix mode
Osc output level controlled by: both by ADSR, Both gated, Both open, Mix by ADSR, Mix by LFO

Output CV mode: Envelope, envelope + velocity, envelope only on accent, LFO, lfo on accent.

Accent velocity level: adjust the velocity point where an accent is(much more fun than a "accent at 100" fixed one).

trig/sync output: sync out(osc1A), Trigger on envelope, trigger on accent.

switch only in software so far, have to put in a switch on the panel: sync/phase (all it does is stop the click when a synced osc resets)

Glide speed: adusts how fast the glide (303 style) gets to the next note.

planned modes:
duoB: second MIDI note controls "b" oscs
duoA : duophonic but uses both pairs of osc, can still use all effects, only controlled by osc 1 controlls
poly: all the oscs use settings from osc 1 but you can play a 4 note chord (no unison)

____________________________________________________________________

Each pair of oscillators can work like paradox in that the second oscillator in the pair can be pitched but synced to the main one and have the sync "click" removed. (yeap, they call it "phase synthesis" when they do that its just sync with the click removed lol)

The "b" oscillator can be made to only play one cycle, no matter what the pitch is. this is like "PWM" but for any shape waveform, and if the b osc has a fixed pitch then you can get some very nice sounds which have little to do with the wavetables themselves. the b osc is now sounding like a resonator (which can have a different "q" depending on what part of the wavetable is being played)

In a more traditional manner, the b osc can also be modulated by on board ADSR, external CV, or LFO which gives nice sync.

Note: A and B oscillators "synced" yet still le detuned from each other for phatness. with the 2 pairs of oscs going with slightly different rates i can get 4 way "supersaw" but with any waveform in the ROM, besides just saw.

I had planned a 4 pole chebychev fileter for the output but when i finally built that part..big mistake it resonated like hell. so i have a slow rolloff starting at 10khz, after the final amplification. its not ideal but i could not hear aliasing even with pre filter out except when i was coding the pitch bend and it just kept going up :) anyways after the final amplifier to the "moog and synthesizers.com" standard im using i just have a weak 1 pole filter which only has the output frequency(31.25khz) down 15 DB, but it sounds very nice, amplifying to 10v P/P makes a HUGE difference to the sound.

did a bit of woodwork :)

Image

Re: Hardware wavetable on an arduino

Posted: Sun Jun 06, 2010 6:31 pm
by Shroomz~>
Go Neutron!! :D

Re: Hardware wavetable on an arduino

Posted: Tue Jun 08, 2010 10:19 am
by HUROLURA
Nice to hear/see your project is still under progress ... :D
Nice Woodwork also.
How many unit do you intend to produce ? :D

Re: Hardware wavetable on an arduino

Posted: Tue Jun 08, 2010 11:27 am
by Neutron
Thanks!

Well i had 4 of these boards made, but thats just because the cost of 4 was only a bit more than the cost of 1 I will give 2 away.

if you want one PM me, but i only want to give them to people who are serious enough actually build them up. the components besides "arduino MEGA" and the potentiometers, if you get nice ones, are quite cheap.
My documentation is very sketchy though I am working on that, for most interested people it would probably be better to wait for the small version.(see below)

Right now i am changing the wave selector and a few other things to switches instead of pots, because it is a bit annoying trying to find one of 32 waves by turning a pot :)

Also once the controls are finalized i will have a proper panel made that matches Oakley/MOTM type modules as best i can with the different control spacing. it will probably be a 6 space module (12.75 inches wide)

In the future there will be a smaller "arduino shield" version which will be a ready made board, with MIDI IN, DAC, PWM filter and so on all on board and ready built with SMD components. it could be built (with a separate 5u modular filter of your choice) as a synthesizer, or without a filter as a Modular oscillator/cv controller that one is still in the early stages pending what else i can get this one to do (so i know what controls it needs) .

Re: Hardware wavetable on an arduino

Posted: Tue Jun 08, 2010 12:52 pm
by HUROLURA
Great. I will follow your progress.
I am not such a true modular synth fan (except for mod 2/III/IV/Adern/... and Clavia Modular G2).
My idea is more directed toward the MidiBox.org solution to setup something more MIDI controller oriented.
I will also keep you informed as soon as something is starting to live....

CheerZ

Re: Hardware wavetable on an arduino

Posted: Tue Jun 08, 2010 1:17 pm
by Neutron
In that case it is even easier, the MIDI cc code is already there. that way you could have presets in your DAW. but you would still need a filter, I built the MIDIBOX SSM2044 dual one, it sounds great(now i have 10v P/P output, with low output it was a bit out of control :) )
Speaking of MIDIBOX, I have started to get the parts to build their new sequencer :)

Re: Hardware wavetable on an arduino

Posted: Tue Jun 08, 2010 2:49 pm
by HUROLURA
Ouch, MidiboxSeq V4 ... could be the right device to drive your arduino.
Have you already build your MIOS32 board (cryptic language :D )

CheerZ

Re: Hardware wavetable on an arduino

Posted: Tue Jun 08, 2010 2:52 pm
by HUROLURA
So the name of this original setup would finally be ArduiMidiboxONome Light, no ?
Right companion for your Xite_003 ...

Re: Hardware wavetable on an arduino

Posted: Fri Aug 13, 2010 8:29 pm
by Neutron
In a proper 5u modular unit now and i FINALLY got it to scan wavetables with no glitching or pitch change. I spent almost from the time i started the project trying that various ways, i actually learned some things from building actual analog circuits with transistors and op amps etc :), then it just came to me :)

I have added a display and switch board,

there were a few knobs doing switch duty, now more knobs are freed up by switches .
Pic was before my last software change change.

pots without knobs means (not used or finished)
once one works as i like it It gets a knob..once im totally sure in maybe another few months, ill give em a label :)

the milled out part by the displays will have black plastic cover on it

I have a lot of the boards, parts and so on duplicated, so i can build almost the exact same thing and make a sequencer with a different program:)

Hardest part of this change was getting the noise from the MAX7221 display chip off the output signal. that chip uses annoying 800hz scanning frequency turning the LEDs on and off. Got it worked out nicely which should be a lesson for my other module..(the one im going to try and sell SKRM adapter/mixer.:) )



Image
Image