Author |
Message |
adamstan
Joined: May 23, 2008 Posts: 34 Location: poland
|
Posted: Mon Nov 10, 2008 12:06 am Post subject:
DIY Polysynth Subject description: After 2 years it's completed :-D |
 |
|
[It's been posted on VSE already, but I thought that synth DIY forum would be good place to show this synth as well ]
After almost 2 years of work, I've finished my DIY polysynth It is based on various module designs available on the net.
I consider it to be a "Poor mans Memorymoog" with a little bit of Prophet 5 thrown in . It features:
- 5 voices
- 2xVCO per voice
- 3xEG per voice (hardwired to pitch, cutoff and volume)
- 3xLFO (pitch, cutoff and PWM)
- Moog ladder VCF
- Noise source
- Ring Modulator
- Patch memory (128 user patches)
- MIDI
- Mono mode with selectable note priority (High/Low) and triggering (single/multi) and with portamento
- unison with adjustable detuning
VCO A offers sawtooth, square and triangle. VCO B offers sawtooth and square waves. Having triangle wave available is essential if you want to obtain some nice fm-like sounds from RingMod.
It's built using only standard off-the-shelf components - no CEM or SSM or similar chips inside - only typical opamps, switches, transistors etc.
Case (together with keyboard) was salvaged from some crappy 70's combo organ.
Here it is sitting on a stand (photo made with phone - sorry ):
With front panel lifted up:
With keyboard lifted up (showing voicecards):
Main digital board (keyboard scan, voice assignement and patch memory):
Voicecards close-up:
Front panel close-up:
Some design details:
EG1 & EG2 are based on Tom Wiltshire's design using PIC16F684 micro's (http://www.tomwiltshire.co.uk), while EG3 was designed by me and uses ATMEGA16 MCU. I had to do it because I fried one EG board (by misconnecting power) and couldn't afford ordering new one.
Here is voice block diagram
All analog modules are based on previously existing designs available at various Synth DIY sites.
VCOs are based on Rene Schmitz designs - http://www.uni.bonn.de/~uzs159 , "VCO4" with some modifications.
Triangle waveshaper is a Moog circuit (single transistor wavefolder), described in "Voltage-controlled Electronic Music Modules" (available at moogarchives).
VCF is standard Moog ladder filter, based on Mini schematics.
VCAs are standard OTA-based circuits utilizing LM13700 chips.
Ring modulator is based on MC1496, schematics can be found for example at http://www.yusynth.net (it's great site )
Here are schematics for digital part (patchmemory+voice assignement) - click thumbnail for large image:

MP3 demos:
http://ensoniqsq2.republika.pl/b5demo.html
alternative link: http://share.ovi.com/channel/adamstan.synthdemos
It is noisy and tuning drifts a little bit, but hey, isn't that what we love vintage synths for?  |
|
Back to top
|
|
 |
widdly
Joined: Jun 25, 2007 Posts: 268 Location: singapore
G2 patch files: 2
|
Posted: Mon Nov 10, 2008 2:49 am Post subject:
|
 |
|
WOW!
That's awesome! Last edited by widdly on Thu Aug 05, 2010 10:03 pm; edited 1 time in total |
|
Back to top
|
|
 |
Dan Lavin

Joined: Nov 09, 2006 Posts: 649 Location: Spring Lake, Mi, USA
Audio files: 21
|
Posted: Mon Nov 10, 2008 7:23 am Post subject:
|
 |
|
Dang! That's impressive! I'm surprised it only took 2 years! |
|
Back to top
|
|
 |
andrewF

Joined: Dec 29, 2006 Posts: 1176 Location: australia
Audio files: 4
|
Posted: Mon Nov 10, 2008 8:15 am Post subject:
|
 |
|
Well done!
great samples too! |
|
Back to top
|
|
 |
machine.cuisine
Joined: Jul 20, 2007 Posts: 61 Location: ks
Audio files: 4
|
Posted: Mon Nov 10, 2008 9:52 am Post subject:
|
 |
|
Inspiring, good job! |
|
Back to top
|
|
 |
Pehr

Joined: Aug 14, 2005 Posts: 1307 Location: Björkvik, Sweden
Audio files: 2
|
|
Back to top
|
|
 |
neandrewthal

Joined: May 11, 2007 Posts: 672 Location: Canada
|
Posted: Mon Nov 10, 2008 10:42 am Post subject:
|
 |
|
Wow, it looks phucking phantastic. _________________ " I went through quite a few trannies til I found one I liked" - Wild Zebra |
|
Back to top
|
|
 |
richardc64

Joined: Jun 01, 2006 Posts: 679 Location: NYC
Audio files: 26
|
Posted: Mon Nov 10, 2008 2:28 pm Post subject:
|
 |
|
Damn impressive completion of an ambitious project. Nice job of recycling an old case, too.
Did you implement a split for the reverse keys? _________________ Revenge is a dish best served with a fork... to the eye |
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 34 Location: poland
|
Posted: Tue Nov 11, 2008 1:21 pm Post subject:
|
 |
|
richardc64 wrote: | Damn impressive completion of an ambitious project. Nice job of recycling an old case, too.
Did you implement a split for the reverse keys? |
No - the synth is monotimbral. In fact, I'd like to have whole keyboard "reversed", but I don't know any simple way to paint the keys  |
|
Back to top
|
|
 |
richardc64

Joined: Jun 01, 2006 Posts: 679 Location: NYC
Audio files: 26
|
Posted: Tue Nov 11, 2008 3:29 pm Post subject:
|
 |
|
adamstan wrote: | ...I'd like to have whole keyboard "reversed", but I don't know any simple way to paint the keys  |
White to black shouldn't be too much problem, but black to white would be a challenge.
Alternatively, you could find four more similar organs and take the reverse keys from them  _________________ Revenge is a dish best served with a fork... to the eye |
|
Back to top
|
|
 |
toybox

Joined: Aug 03, 2005 Posts: 176 Location: chicago/peru,illinois usa
|
|
Back to top
|
|
 |
Scott Stites
Janitor


Joined: Dec 23, 2005 Posts: 4127 Location: Mount Hope, KS USA
Audio files: 96
|
Posted: Wed Nov 12, 2008 10:58 am Post subject:
|
 |
|
This rocks on so many levels, I don't even know where to begin.....
*Luv* the samples. It's a beautiful sounding synth. Congratulations on finishing up - no matter the time/effort you put into it, I would wager it was worth it a thousand times over. Beautiful!!!  _________________ My Site |
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 34 Location: poland
|
Posted: Wed Nov 12, 2008 11:11 am Post subject:
|
 |
|
Thanks
It was indeed great effort - if I knew it in advance I probably wouldn't start this project But I've somehow managed to finish it (I've been dreaming about building my own synth for years) and am very glad you like this synth too
If you have any questions feel free to ask and I'll try to answer them  |
|
Back to top
|
|
 |
loss1234

Joined: Jul 24, 2007 Posts: 1536 Location: nyc
Audio files: 41
|
Posted: Wed Nov 12, 2008 5:42 pm Post subject:
|
 |
|
amazing!
after listening to the samples i keep wondering how impossible this must have been to make!
let me ask...were you a PIC genius before this project or is the Digital board made up of pre-made code you got from other people?
I would love to be able to have a polyphonic synth but it seems that having the voice assign worked out is tough
also...let me ask..how did you tackle real time control?
and if there are 5 dual vco voices...did you just use 10 vco pcbs?or did you design a dual vco pcb?
very very cool
thanks for sharing
is there CC midi implementation or is it all CV? _________________ -------------------------------------------- check out various dan music at: http://www.myspace.com/lossnyc
http://www.myspace.com/snazelle
http://www.soundclick.com/lossnyc.htm http://www.indie911.com/dan-snazelle |
|
Back to top
|
|
 |
23isgood

Joined: Nov 18, 2006 Posts: 236 Location: San Francisco, CA bay area
Audio files: 13
|
Posted: Wed Nov 12, 2008 6:06 pm Post subject:
|
 |
|
WOW, impressive! It sounds VERY nice too. Excellent job.
pete _________________ Check out my music |
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 34 Location: poland
|
Posted: Wed Nov 12, 2008 10:47 pm Post subject:
|
 |
|
loss1234 wrote: |
let me ask...were you a PIC genius before this project or is the Digital board made up of pre-made code you got from other people? |
Actually it is built around two ATMEGA32 MCUs and it's coded in BASCOM (BASIC for Atmel MCU's - when I have more spare time, I'm probably going to rewrite it in C or ASM - at least some parts of it.). One MCU handles pots , panel buttons and patch memory, while the other one handles keyboard scanning and voice allocation. I've written all firmware myself (except PIC-based envelopes from Tom Wiltshire of course).
Quote: | I would love to be able to have a polyphonic synth but it seems that having the voice assign worked out is tough
also...let me ask..how did you tackle real time control? |
The pots are read using AVR's built-in ADC, when a change is detected, the corresponding CV is updated. Patch CV's have 8-bit resolution, keyboard (pitch) CV is 12-bit.
So the main loop looks like this:
read pots
compare with old values
update CV table
send new CVs out
update digital outputs
refresh display
Buttons are handled by interrupts. There is third MCU working just as buttons reader. When it detects that a button has been depressed, it puts it's number on data bus, and generates interrupt signal for main MCU.
Voice assignement isn't as difficult as it looks You need a table for CV's and gate (gate table can be single byte). Each time key is pressed (or Note_On message is received) you have to search for the free voice (the one with gate=0). When you find it, you write note number to the table, and set gate bit. When key is released, you have to check, if its number is written to any voice, and then reset gate for that voice (making it "free").
It looks like this in my code:
Code: |
Sub Noteonpoly(k As Byte)
K = K And &B00111111
For L = 1 To Maxvoice
If Gt.n = 0 Then Goto Noteon
Incr N
If N > Maxv Then N = 0
Next
Noteon:
I = N + 1
Note(i) = K
Set Gt.n
Incr N
If N > Maxv Then N = 0
End Sub
Sub Noteoffpoly(k As Byte)
For L = 0 To Maxv
I = L + 1
K = K And &B00111111
If Note(i) = K Then
Reset Gt.l
End If
Next
End Sub
|
K is key number, Note() is CV table, Gt is gate table, Maxvoice is number of voices, Maxv=Maxvoice-1 (for addresing gate bits).
Quote: |
and if there are 5 dual vco voices...did you just use 10 vco pcbs?or did you design a dual vco pcb? |
First prototype was being built using separate boards for each module. But wiring this thing was a nightmare, so I decided to design voicecards. (They're shown in the first post) There are 5 of them. On each card there are two VCOs, ringmod, VCF, and all needed VCAs (final VCA, mixer VCAs and filter feedback VCA for voltage resonance control).
Quote: |
is there CC midi implementation or is it all CV? |
Yes, there is MIDI CC implementation. All knobs send CC, and when CC is received, corresponding patch parameter is updated. |
|
Back to top
|
|
 |
loss1234

Joined: Jul 24, 2007 Posts: 1536 Location: nyc
Audio files: 41
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 34 Location: poland
|
Posted: Thu Nov 13, 2008 7:21 am Post subject:
|
 |
|
It's quite nice idea. But it requires a lot of work and free time, which I haven't too much now. In some aspects it is easier to build such synth than to write instructions how to do it
PCB artworks aren't finished (there were some kludges and trace cuts required during the assembly) and therefore there's no point in posting them.
I could post schematics, source code and HEX files. But code is still somewhat buggy and in some circumstances it crashes... it certainly could be written better.
And, there are some problems with VCOs design using 555CMOS - I don't know if it's PCB's fault or some other problem, but it works only with chips from TI. With other brands it stopped osscillating at certain frequencies...
I am currently working on improved version, but I don't know how much time does it take...
Here are current schematics, with some comments. They unfortunately may be incomplete or still have some errors...
The ADSRs are electric druid ones, so I don't post schematics for them - I've just put together six of them on a single board (the synth can handle six voices, but I've damaged one voice card during soldering ).
Description: |
Voice card schematics - there is one free VCA in mixer section, because I wanted to add Sub-oscillator, but it didn't work. AFAIK P602 in VCF should be 10k not 1k. U51 (4066) requires some level shifter after mainboard, to convert TTL levels to 0-12V - |
|
 Download (listen) |
Filename: |
Protel Schematic - voice.pdf |
Filesize: |
132.08 KB |
Downloaded: |
863 Time(s) |
Description: |
Panel schematics - pots and buttons. It doesn't include LEDs - I don't have schematics drawn for them... |
|
 Download (listen) |
Filename: |
Protel Schematic - panel.pdf |
Filesize: |
68.6 KB |
Downloaded: |
487 Time(s) |
Description: |
Keyboard - wired as diode matrix. It connects to second CPU at mainboard. C0-C3 lines go to "COL" connector, D0-D7 lines go to "ROW" connector. |
|
 Download (listen) |
Filename: |
Protel Schematic - klawiatura.pdf |
Filesize: |
48.16 KB |
Downloaded: |
440 Time(s) |
Description: |
Mainboard. Voice assignement and patch memory. RX connector should be connected to MIDI IN via typical optocoupler circuit. At the "ROW" port there should be pull-up resistors. |
|
 Download (listen) |
Filename: |
Protel Schematic - memkey.pdf |
Filesize: |
137.66 KB |
Downloaded: |
468 Time(s) |
Description: |
Detailed interconnection (wiring) block diagram |
|
 Download (listen) |
Filename: |
Protel Schematic - blokowy.pdf |
Filesize: |
52.28 KB |
Downloaded: |
480 Time(s) |
Last edited by adamstan on Thu Nov 13, 2008 1:35 pm; edited 1 time in total |
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 34 Location: poland
|
Posted: Thu Nov 13, 2008 7:36 am Post subject:
|
 |
|
And here goes current firmware (and Key DAC schematics). It has some bugs, and some comments in polish - sorry but now I don't have time to rewrite it. Use at your own risk
PS. I've made this synth as my final work for engineer degree in electronics at Wroclaw University of Technology (faculty of electronics). Or, actually, I used it as a topic for my work because I was already working on it, so there was no point to start another project
Description: |
code for U1 CPU - patchmemory and UI. Sometimes display crashes after saving the patch - I don't know why... |
|
 Download (listen) |
Filename: |
patchmemory.txt |
Filesize: |
46.56 KB |
Downloaded: |
533 Time(s) |
Description: |
Very simple - panel buttons handler. I use it because chips like 74HC923 are obsolete. |
|
 Download (listen) |
Filename: |
panel.txt |
Filesize: |
844 Bytes |
Downloaded: |
424 Time(s) |
Description: |
Keyboard scan, voice assignement and portamento. There is some bug with switching from poly to mono - can lead to "hanging" notes. When i correct it, I'll post new version here. |
|
 Download (listen) |
Filename: |
key.txt |
Filesize: |
16.2 KB |
Downloaded: |
450 Time(s) |
Description: |
Key CV DAC. Channels 1-6 are CV channels for corresponding voices, while channels 7-8 deliver Pitch-bend and octave CV for VCO A and B. They are connected to "OctaveDAC" port on mainboard. |
|
 Download (listen) |
Filename: |
dac.pdf |
Filesize: |
49.04 KB |
Downloaded: |
437 Time(s) |
|
|
Back to top
|
|
 |
loss1234

Joined: Jul 24, 2007 Posts: 1536 Location: nyc
Audio files: 41
|
|
Back to top
|
|
 |
no-fi
Joined: Oct 19, 2008 Posts: 6 Location: the centre of the universe
|
Posted: Thu Nov 13, 2008 6:29 pm Post subject:
|
 |
|
congratulations!
thats really cool. and the synth sounds great!
one question - not sure if it's the photo, but it appears that there's a lot of flux residue on the controller board. around the AVRs especially, but on most of the PCB. And from the picture, it looks pretty aggressive.
I guess if the solder you used was specified as no-clean flux then you are OK, but if not (and even if it is, just for looks) you might want to consider getting some PCB cleaning solvent and a toothbrush, and cleaning that up. |
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 34 Location: poland
|
Posted: Thu Nov 13, 2008 10:10 pm Post subject:
|
 |
|
no-fi wrote: |
one question - not sure if it's the photo, but it appears that there's a lot of flux residue on the controller board. around the AVRs especially, but on most of the PCB. And from the picture, it looks pretty aggressive.
|
I used rosin as a flux - not sure if it's agressive or not... AFAIK currently there is less of it on the board, as the board was resoldered after this photo, to correct some bad solder joints.
To clean this board now I'd have to disconnect maaany wires... |
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 34 Location: poland
|
Posted: Sun Oct 18, 2009 9:30 pm Post subject:
|
 |
|
Talk about bad luck! Yesterday I was adding second +5V voltage regulator to PSU, as the panel drawn too much current for one 7805, and the voltage dropped to ~4.75V. It was easy task, but after putting everything together I've misconnected mainboard power connector. It's just 5-pin SIL connector, so unfortunately it's easy to reverse it. The problem is, when you do it, you connect +12V in place of +5V. Result - both CPUs are dead
Time to design and make new board (CPUs are in TQFP-44 packages and I really don't like the idea of desoldering them as I don't have hot-air gun. Besides, that board needed some design improvements anyway)... |
|
Back to top
|
|
 |
BOB-SNARE
Joined: Sep 26, 2008 Posts: 30 Location: Australia
|
Posted: Mon Oct 19, 2009 5:22 pm Post subject:
|
 |
|
adamstan wrote: | Talk about bad luck! Yesterday I was adding second +5V voltage regulator to PSU, as the panel drawn too much current for one 7805, and the voltage dropped to ~4.75V. It was easy task, but after putting everything together I've misconnected mainboard power connector. It's just 5-pin SIL connector, so unfortunately it's easy to reverse it. The problem is, when you do it, you connect +12V in place of +5V. Result - both CPUs are dead
Time to design and make new board (CPUs are in TQFP-44 packages and I really don't like the idea of desoldering them as I don't have hot-air gun. Besides, that board needed some design improvements anyway)... |
If the CPUs are dead, then use an exacto knife to cut the pins off, and then using some solder wick to suck up the excess solder on the pads.
Next time use keyed power connectors! |
|
Back to top
|
|
 |
bod
Joined: Apr 28, 2009 Posts: 148 Location: Glasgow
|
Posted: Thu Oct 22, 2009 12:59 am Post subject:
|
 |
|
good god that looks amazing! well done that man! makes my synth efforts look like a christmas cracker toy.... total rubbish!!  |
|
Back to top
|
|
 |
|