electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software
DIY Polysynth
Post new topic   Reply to topic Moderators: jksuperstar, Scott Stites, Uncle Krunkus
Page 1 of 2 [49 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: 1, 2 Next
Author Message
adamstan



Joined: May 23, 2008
Posts: 34
Location: poland

PostPosted: Mon Nov 10, 2008 12:06 am    Post subject: DIY Polysynth
Subject description: After 2 years it's completed :-D
Reply with quote  Mark this post and the followings unread

[It's been posted on VSE already, but I thought that synth DIY forum would be good place to show this synth as well Wink ]

After almost 2 years of work, I've finished my DIY polysynth Very Happy Very Happy 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 Wink. 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 ):
Posted Image, might have been reduced in size. Click Image to view fullscreen.

With front panel lifted up:
Posted Image, might have been reduced in size. Click Image to view fullscreen.

With keyboard lifted up (showing voicecards):
Posted Image, might have been reduced in size. Click Image to view fullscreen.

Main digital board (keyboard scan, voice assignement and patch memory):
Posted Image, might have been reduced in size. Click Image to view fullscreen.

Voicecards close-up:
Posted Image, might have been reduced in size. Click Image to view fullscreen.

Front panel close-up:
Posted Image, might have been reduced in size. Click Image to view fullscreen.

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
Posted Image, might have been reduced in size. Click Image to view fullscreen.

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 Very Happy )

Here are schematics for digital part (patchmemory+voice assignement) - click thumbnail for large image:
Posted Image, might have been reduced in size. Click Image to view fullscreen.Posted Image, might have been reduced in size. Click Image to view fullscreen.


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? Wink
Back to top
View user's profile Send private message
widdly



Joined: Jun 25, 2007
Posts: 268
Location: singapore
G2 patch files: 2

PostPosted: Mon Nov 10, 2008 2:49 am    Post subject:   Reply with quote  Mark this post and the followings unread

WOW! Shocked Shocked Shocked Very Happy

That's awesome!

Last edited by widdly on Thu Aug 05, 2010 10:03 pm; edited 1 time in total
Back to top
View user's profile Send private message
Dan Lavin



Joined: Nov 09, 2006
Posts: 649
Location: Spring Lake, Mi, USA
Audio files: 21

PostPosted: Mon Nov 10, 2008 7:23 am    Post subject: Reply with quote  Mark this post and the followings unread

Dang! That's impressive! I'm surprised it only took 2 years!
Back to top
View user's profile Send private message
andrewF



Joined: Dec 29, 2006
Posts: 1176
Location: australia
Audio files: 4

PostPosted: Mon Nov 10, 2008 8:15 am    Post subject: Reply with quote  Mark this post and the followings unread

Well done!
great samples too!
Back to top
View user's profile Send private message Visit poster's website
machine.cuisine



Joined: Jul 20, 2007
Posts: 61
Location: ks
Audio files: 4

PostPosted: Mon Nov 10, 2008 9:52 am    Post subject: Reply with quote  Mark this post and the followings unread

Inspiring, good job!
Back to top
View user's profile Send private message
Pehr



Joined: Aug 14, 2005
Posts: 1307
Location: Björkvik, Sweden
Audio files: 2

PostPosted: Mon Nov 10, 2008 10:05 am    Post subject: Reply with quote  Mark this post and the followings unread

Awesome! I want one! Shocked Cool
_________________
YouTube channel
flickr photostream
http://loxodrom.blogspot.com
http://www.garageband.com/artist/loxodrom
http://soundcloud.com/loxodrom
Back to top
View user's profile Send private message
neandrewthal



Joined: May 11, 2007
Posts: 672
Location: Canada

PostPosted: Mon Nov 10, 2008 10:42 am    Post subject: Reply with quote  Mark this post and the followings unread

Wow, it looks phucking phantastic.
_________________
" I went through quite a few trannies til I found one I liked" - Wild Zebra
Back to top
View user's profile Send private message
richardc64



Joined: Jun 01, 2006
Posts: 679
Location: NYC
Audio files: 26

PostPosted: Mon Nov 10, 2008 2:28 pm    Post subject: Reply with quote  Mark this post and the followings unread

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
View user's profile Send private message Visit poster's website
adamstan



Joined: May 23, 2008
Posts: 34
Location: poland

PostPosted: Tue Nov 11, 2008 1:21 pm    Post subject: Reply with quote  Mark this post and the followings unread

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 Wink
Back to top
View user's profile Send private message
richardc64



Joined: Jun 01, 2006
Posts: 679
Location: NYC
Audio files: 26

PostPosted: Tue Nov 11, 2008 3:29 pm    Post subject: Reply with quote  Mark this post and the followings unread

adamstan wrote:
...I'd like to have whole keyboard "reversed", but I don't know any simple way to paint the keys Wink


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 Laughing

_________________
Revenge is a dish best served with a fork... to the eye
Back to top
View user's profile Send private message Visit poster's website
toybox



Joined: Aug 03, 2005
Posts: 176
Location: chicago/peru,illinois usa

PostPosted: Tue Nov 11, 2008 3:34 pm    Post subject: Reply with quote  Mark this post and the followings unread

WoW Shocked nice work looks and sounds like you put alot into your synth Very Happy
_________________
mY MusIc
http://www.myspace.com/toyboxbastard
Back to top
View user's profile Send private message
Scott Stites
Janitor
Janitor


Joined: Dec 23, 2005
Posts: 4127
Location: Mount Hope, KS USA
Audio files: 96

PostPosted: Wed Nov 12, 2008 10:58 am    Post subject: Reply with quote  Mark this post and the followings unread

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!!! Cool

_________________
My Site
Back to top
View user's profile Send private message
adamstan



Joined: May 23, 2008
Posts: 34
Location: poland

PostPosted: Wed Nov 12, 2008 11:11 am    Post subject: Reply with quote  Mark this post and the followings unread

Thanks Smile

It was indeed great effort - if I knew it in advance I probably wouldn't start this project Wink 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 Smile

If you have any questions feel free to ask and I'll try to answer them Smile
Back to top
View user's profile Send private message
loss1234



Joined: Jul 24, 2007
Posts: 1536
Location: nyc
Audio files: 41

PostPosted: Wed Nov 12, 2008 5:42 pm    Post subject: Reply with quote  Mark this post and the followings unread

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
View user's profile Send private message
23isgood



Joined: Nov 18, 2006
Posts: 236
Location: San Francisco, CA bay area
Audio files: 13

PostPosted: Wed Nov 12, 2008 6:06 pm    Post subject: Reply with quote  Mark this post and the followings unread

WOW, impressive! It sounds VERY nice too. Excellent job.

pete

_________________
Check out my music
Back to top
View user's profile Send private message Visit poster's website
adamstan



Joined: May 23, 2008
Posts: 34
Location: poland

PostPosted: Wed Nov 12, 2008 10:47 pm    Post subject: Reply with quote  Mark this post and the followings unread

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 Wink 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
View user's profile Send private message
loss1234



Joined: Jul 24, 2007
Posts: 1536
Location: nyc
Audio files: 41

PostPosted: Thu Nov 13, 2008 6:28 am    Post subject: Reply with quote  Mark this post and the followings unread

do you think you might eventually release the firmware, code, and some instructions on how to build one of these? i am sure many of us, even if we dont get around to implementing every feature, could learn a lot from this project!!

this is so inspiring!

_________________
-------------------------------------------- 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
View user's profile Send private message
adamstan



Joined: May 23, 2008
Posts: 34
Location: poland

PostPosted: Thu Nov 13, 2008 7:21 am    Post subject: Reply with quote  Mark this post and the followings unread

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 Wink

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... Confused

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 Sad ).


Protel Schematic - voice.pdf
 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)


Protel Schematic - panel.pdf
 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)


Protel Schematic - klawiatura.pdf
 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)


Protel Schematic - memkey.pdf
 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)


Protel Schematic - blokowy.pdf
 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
View user's profile Send private message
adamstan



Joined: May 23, 2008
Posts: 34
Location: poland

PostPosted: Thu Nov 13, 2008 7:36 am    Post subject: Reply with quote  Mark this post and the followings unread

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 Wink


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 Wink


patchmemory.txt
 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)


panel.txt
 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)


key.txt
 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)


dac.pdf
 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
View user's profile Send private message
loss1234



Joined: Jul 24, 2007
Posts: 1536
Location: nyc
Audio files: 41

PostPosted: Thu Nov 13, 2008 12:15 pm    Post subject: Reply with quote  Mark this post and the followings unread

thanks so much!
_________________
-------------------------------------------- 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
View user's profile Send private message
no-fi



Joined: Oct 19, 2008
Posts: 6
Location: the centre of the universe

PostPosted: Thu Nov 13, 2008 6:29 pm    Post subject: Reply with quote  Mark this post and the followings unread

congratulations!
thats really cool. and the synth sounds great!
Smile

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
View user's profile Send private message
adamstan



Joined: May 23, 2008
Posts: 34
Location: poland

PostPosted: Thu Nov 13, 2008 10:10 pm    Post subject: Reply with quote  Mark this post and the followings unread

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
View user's profile Send private message
adamstan



Joined: May 23, 2008
Posts: 34
Location: poland

PostPosted: Sun Oct 18, 2009 9:30 pm    Post subject: Reply with quote  Mark this post and the followings unread

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 Crying or Very sad Crying or Very sad

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
View user's profile Send private message
BOB-SNARE



Joined: Sep 26, 2008
Posts: 30
Location: Australia

PostPosted: Mon Oct 19, 2009 5:22 pm    Post subject: Reply with quote  Mark this post and the followings unread

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 Crying or Very sad Crying or Very sad

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
View user's profile Send private message
bod



Joined: Apr 28, 2009
Posts: 148
Location: Glasgow

PostPosted: Thu Oct 22, 2009 12:59 am    Post subject: Reply with quote  Mark this post and the followings unread

good god that looks amazing! Very Happy well done that man! makes my synth efforts look like a christmas cracker toy.... total rubbish!! Laughing
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: jksuperstar, Scott Stites, Uncle Krunkus
Page 1 of 2 [49 Posts]
View unread posts
View new posts in the last week
Goto page: 1, 2 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use