| Author |
Message |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Sun Mar 27, 2011 9:42 pm Post subject:
|
 |
|
Year ago (march 2010) I've made new board.
Improvements:
+ LFOs, noise source and their VCAs are now built-in.
+ added third AVR for generating all 15 envelopes
+ some improvements in code - now it is much more stable
Unfortunately, I've made some mistakes during layout, so the board has many wire-jumpers and additional components
Envelope generators maintain full resolution regardless of envelope amount. It is done by wiring one of the S/H outputs as switchable reference voltage for DAC.
23.03.2011 update:
I've added small board with third MAX525 DAC. So now I have 12 12-bit DAC channels, which enables me to individually tune each oscillator. I've added a "semi-autotune" routine - it performs almost like autotune in Prophet-5, the only difference is that CPU doesn't measure frequency - you have to manually tune each oscillator on each octave using knobs on front panel. Then it computes values inbetween (using linear approximation) and stores that tuning table in memory.
If I can find a way of freeing (or switching) one CPU pin - which unfortunately would mean trace-cutting - I'll try to implement full autotune. |
|
|
Back to top
|
|
 |
reve

Joined: Feb 23, 2008 Posts: 149 Location: USA
|
Posted: Sun Mar 27, 2011 10:29 pm Post subject:
|
 |
|
| adamstan wrote: |
+ added third AVR for generating all 15 envelopes
|
Adamstan, I am currently gathering materials to follow you into polysynth-land. I was also thinking about using Wiltshire chips for EGs... but at the same time, I was looking at AVR datasheets knowing I could do what I wanted to do far more effectively with just a couple AVRs.
Would you have any interest in sharing your code here?
Cheers! _________________ - r. mosquito
SynthDIY Synthpop -> http://www.reverbnation.com/photovoltaik |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Sun Mar 27, 2011 11:14 pm Post subject:
|
 |
|
OK. Currently I'm at work, but when I get back home, I'll post schematics for ADSR part, and code. It's written in Bascom.
It works similarly as Wiltshire's EG. The tricky part is passing parameters - I've used AVR's built-in buffered serial interface for it.
However, if you have space and funds, I'd suggest to use one chip for each envelope group, as generating 15 envelopes is really CPU intensive, and it makes passing parameters difficult, as there is little time left for it, and 15 parameters to pass (A,D,S,R and Level x3).
At 8MHz internal clock, I have envelope sample rate of about 3.5ms |
|
|
Back to top
|
|
 |
reve

Joined: Feb 23, 2008 Posts: 149 Location: USA
|
Posted: Mon Mar 28, 2011 8:02 am Post subject:
|
 |
|
| adamstan wrote: | OK. Currently I'm at work, but when I get back home, I'll post schematics for ADSR part, and code. It's written in Bascom.
|
Awesome!!! I'm super-excited!
| adamstan wrote: |
I'd suggest to use one chip for each envelope group |
This is exactly what I'd envisioned -- I was planning on groups of 8. _________________ - r. mosquito
SynthDIY Synthpop -> http://www.reverbnation.com/photovoltaik |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Mon Mar 28, 2011 8:59 pm Post subject:
|
 |
|
| reve wrote: | | This is exactly what I'd envisioned -- I was planning on groups of 8. |
If that's the case, just give me a little more time, and I will redraw this circuit and change the code for such task. Are you going for 8 voices? In that case - when single chip is used as one polyphonic EG - it's possible to have voltage control, which makes interfacing this circuit with the rest of the synth much easier. |
|
|
Back to top
|
|
 |
reve

Joined: Feb 23, 2008 Posts: 149 Location: USA
|
Posted: Tue Mar 29, 2011 12:14 am Post subject:
|
 |
|
| adamstan wrote: | | reve wrote: | | This is exactly what I'd envisioned -- I was planning on groups of 8. |
If that's the case, just give me a little more time, and I will redraw this circuit and change the code for such task. Are you going for 8 voices? In that case - when single chip is used as one polyphonic EG - it's possible to have voltage control, which makes interfacing this circuit with the rest of the synth much easier. |
Exactly right, eight voices. I was assuming I'd use voltage control.... let the chip read 0-5v off a pot and use that same reading for all the EGs. So like, eight envelopes but only one attack knob. Would it make more sense to use interrupts or just continuously poll the inputs? _________________ - r. mosquito
SynthDIY Synthpop -> http://www.reverbnation.com/photovoltaik |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Tue Mar 29, 2011 1:22 am Post subject:
|
 |
|
| I poll the inputs continuously and set envelope stages accordingly in main loop, and use timer interrupt to generate envelope values and put them out - just like Wiltshire. The difference is, that I've used external 8-bit dac instead of PWM. |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Wed Mar 30, 2011 12:21 am Post subject:
|
 |
|
| Shit, these spambots get smarter and smarter.... |
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24515 Location: The Netherlands, Enschede
Audio files: 298
G2 patch files: 320
|
Posted: Wed Mar 30, 2011 7:19 am Post subject:
|
 |
|
| adamstan wrote: | | Shit, these spambots get smarter and smarter.... |
Anything I failed to see? _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
|
Back to top
|
|
 |
egasimus

Joined: Feb 11, 2011 Posts: 113 Location: Bulgaria
|
Posted: Thu Mar 31, 2011 10:56 pm Post subject:
|
 |
|
God, that's brilliant. And it's a heck of a gesture just sharing all the schematics with the community like that. A million thanks!
Before I delve into the schematics, however, a superficial question: how is patch storage/retrieval achieved? I mean the part where the microcontroller interfaces with the analog circuits. Does it involve digital potentiometer ICs at some point, or is it somehow entirely achieved with control voltages? |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Fri Apr 01, 2011 1:16 am Post subject:
|
 |
|
| egasimus wrote: | | Does it involve digital potentiometer ICs at some point, or is it somehow entirely achieved with control voltages? |
It's done just like everyone was doing it in 80's. Voltages from pots are read by ADC (built in CPU), and control voltages are put out by DAC.
Regarding the schematics, there are unfortunately some errors in the drawings. If somebody made that synth according EXACTLY to these drawings, it won't work
Also, the patch memory circuitry has major design flaw - the 74LS154 which works as address decoder isn't strobed during transitions, which makes big noise in the ground - even power decoupling doesn't help. I can't fix it 'cause I've ran out of CPU pins
I can post updated version, but I need some time to redraw and sort them - and I don't seem to have too much of it. |
|
|
Back to top
|
|
 |
egasimus

Joined: Feb 11, 2011 Posts: 113 Location: Bulgaria
|
Posted: Fri Apr 01, 2011 1:29 am Post subject:
|
 |
|
| adamstan wrote: | | It's done just like everyone was doing it in 80's. Voltages from pots are read by ADC (built in CPU), and control voltages are put out by DAC. |
Yeah, I know but how is voltage control achieved for things outside the VCO/VCF frequencies and the like? For example, how do you control a VCF's resonance, or an envelope generator's settings using a voltage? Maybe with OTAs or JFETs? |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Fri Apr 01, 2011 1:51 am Post subject:
|
 |
|
| egasimus wrote: | | adamstan wrote: | | It's done just like everyone was doing it in 80's. Voltages from pots are read by ADC (built in CPU), and control voltages are put out by DAC. |
Yeah, I know but how is voltage control achieved for things outside the VCO/VCF frequencies and the like? For example, how do you control a VCF's resonance, or an envelope generator's settings using a voltage? Maybe with OTAs or JFETs? |
I use Moog filter, so I adjust resonance by putting VCA (OTA-based, indeed) in filters feedback loop (instead of pot). Envelope generator is digital, and may be controlled with CV. But in current version, when all 15 (5x3) envelopes are generated by single ATMEGA32 chip, it is controlled digitally, using serial interface.
I'll try to post more about these envelopes, as I promised few posts above. |
|
|
Back to top
|
|
 |
reve

Joined: Feb 23, 2008 Posts: 149 Location: USA
|
Posted: Mon Apr 04, 2011 5:33 pm Post subject:
|
 |
|
[quote="adamstan"
I'll try to post more about these envelopes, as I promised few posts above.[/quote]
Yeah even just the code would be awesome.  _________________ - r. mosquito
SynthDIY Synthpop -> http://www.reverbnation.com/photovoltaik |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
|
|
Back to top
|
|
 |
reve

Joined: Feb 23, 2008 Posts: 149 Location: USA
|
Posted: Wed Apr 13, 2011 12:21 pm Post subject:
|
 |
|
| adamstan wrote: | | Here is scematic diagram for AVR-based voltage controlled ADSR envelope generator. |
Hey adamstan, thanks for posting this!
The S+H is just a regular opamp, or some special s+h IC?
And maybe I should just wait for the code, but... what does the V9 switchable reference do? _________________ - r. mosquito
SynthDIY Synthpop -> http://www.reverbnation.com/photovoltaik |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Wed Apr 13, 2011 1:02 pm Post subject:
|
 |
|
| reve wrote: | | adamstan wrote: | | Here is scematic diagram for AVR-based voltage controlled ADSR envelope generator. |
Hey adamstan, thanks for posting this!
The S+H is just a regular opamp, or some special s+h IC?
And maybe I should just wait for the code, but... what does the V9 switchable reference do? |
1. Yes, S&H uses regular op-amp
2. V9 allows to adjust envelope level while maintaining full 8-bit resolution. It works like this:
1. 5V reference voltage is connected to DAC via U39A
2. Write "level" voltage to V9
3. Disconnect 5V reference
4. Connect V9 as reference
5. Update envelope outputs
6. Repeat
I just realised that with single envelope group, like in the schematics above, it is not needed at all - you can just wire Level CV directly as DAC reference voltage. Remove U39A, U39B and U37B and connect your envelope LevelCV to the R31. I had to use this arrangement with switchable reference because in my case single circuit is responsible for three envelope groups (5 voices each), each group with its own level setting, and EG parameters are controlled digitally. |
|
|
Back to top
|
|
 |
reve

Joined: Feb 23, 2008 Posts: 149 Location: USA
|
Posted: Thu Apr 14, 2011 9:04 am Post subject:
|
 |
|
| adamstan wrote: |
2. V9 allows to adjust envelope level while maintaining full 8-bit resolution. |
Oh this is clever. That's going to save me a stack of VCAs! _________________ - r. mosquito
SynthDIY Synthpop -> http://www.reverbnation.com/photovoltaik |
|
|
Back to top
|
|
 |
Obsoletetechnology
Joined: Feb 22, 2011 Posts: 4 Location: Luxembourg
|
Posted: Fri Apr 29, 2011 6:38 am Post subject:
|
 |
|
hi,
adamstan, this is a fantastic job you did here!
I'm in the middle of developing my own Synth CPU board for polyphonic synthesizers, very similar to what you've done but based on a single PIC uC and a flexible firmware.
I was also going to develop my own voice boards, but before I do so I would like to ask what lessons you've learned from designing your own boards, which changes you would implement and what other considerations you might have. I am also wondering what CV voltage levels you are using on your boards, is everything +-10V control voltages ?
thanks,
Obsoletetechnology |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Thu May 05, 2011 1:14 am Post subject:
|
 |
|
Hi
I've learned that indeed making interconnections in polysynth is nightmare. If I had more money to spend on PCBs when I was designing this, I'd probably do as somebody said in your topic about voicecards - include local CPU and DAC on each voice and some kind of serial interface - instead of multiwire ribbon cables. It may be more expensive, but is also more reliable and makes it possible to do multitimbrality.
| Obsoletetechnology wrote: |
I am also wondering what CV voltage levels you are using on your boards, is everything +-10V control voltages ?
|
My CV levels are in 0-5V range, so I can switch them directly with TTL signals. |
|
|
Back to top
|
|
 |
robinkle
Joined: Jul 06, 2011 Posts: 8 Location: Norway
|
Posted: Sun Jul 10, 2011 8:06 am Post subject:
|
 |
|
| how did you implement MOD Wheels? Are they transmitting midi? |
|
|
Back to top
|
|
 |
adamstan
Joined: May 23, 2008 Posts: 35 Location: poland
|
Posted: Tue Jul 12, 2011 9:39 pm Post subject:
|
 |
|
| robinkle wrote: | | how did you implement MOD Wheels? Are they transmitting midi? |
Yes. They are implemented just like every other knob - they're read by ADC built into AVR. |
|
|
Back to top
|
|
 |
YashN

Joined: Jun 27, 2011 Posts: 104 Location: Canada
|
Posted: Mon Aug 01, 2011 9:39 pm Post subject:
|
 |
|
Thoroughly impressive.
I wish I can do that someday too. |
|
|
Back to top
|
|
 |
patchdub

Joined: Jan 21, 2009 Posts: 56 Location: Taos, NM
|
Posted: Mon Aug 01, 2011 10:06 pm Post subject:
|
 |
|
very very inspiring!! _________________ www.patchdub.com |
|
|
Back to top
|
|
 |
|