Bouwverslag DIY polysynth

organix

Synth DIY Goeroe
Lid sinds
24 oktober 2005
Berichten
915
Locatie
Omgeving Rotterdam
Al lange tijd heb ik de droom om een eigen polysynth te bouwen, in de trend van een Roland JX / Juno. Geen exacte cloon, maar wel dezelfde technieken en dan met hedendaagse goed verkrijgbare onderdelen.

In dit topic zal ik een bouwverslag gaan bij houden, maar verwacht geen snelle updates. Een dergelijk project kost heel veel tijd en daarnaast werk ik er niet continue aan. Het project ligt regelmatig in een hoek in een doos. Dit project is een jarenplan.

Het uiteindelijke doel: een hybride polysynth. Hybride omdat deze synth net als de JX / Juno gebruik gaat maken van DCOs en software envelopes / LFOs. Voorlopig is het idee dat het een table top synth wordt ipv klavier.

Veel DIY synths komen niet verder dan bliepjes en sound effecten. Eis van deze synth is dat het een bruikbare synth wordt waarop 'normaal' gespeeld kan worden. Ik stel hoge eisen aan stabiliteit van de oscillatoren. Ze moeten over een groot aantal octaven bruikbaar zijn zonder vals te klinken. Gelukkig is dat met DCOs goed te doen. Verder krijgt deze synth uiteraard ook MIDI en patchgeheugen.

Vooralsnog gebruik ik een Atmel AVR microcontroller omdat ik daar veel ervaring mee heb, maar wellicht stap ik ooit over naar een ARM ivm meer processor power.

Net als bij de Juno gaat deze synth DCO en VCF/VCA modules gebruiken. Voor een polysynth werkt dat toch fijner omdat je dan het project kan opdelen in kleine subprojecten. De modules zijn SMD zodat ze klein kunnen blijven en qua print layout vind ik dit fijner werken dan through-hole.

Inmiddels heb ik de DCO module en de VCF/VCA module klaar. De bedoeling is om straks een basisboard te hebben met daarop een aantal modules. Iedere stem krijgt 2 DCO modules en een VCF/VCA module.

VCF/VCA module

Hier zie je het prototype van de VCF/VCA module. Het is alweer een poosje geleden dat ik die heb gebouwd. Aan boord is een voltage controlled 24db Low Pass filter met voltage controlled resonance en een VCA.

attachment.php


De uiteindelijke module ziet er zo uit:

attachment.php


Merk op hoe compact het geheel blijft met SMD. Het zou eigenlijk nog veel compacter kunnen, want dit zijn IC's in een nog vrij grote SOIC behuizing.

attachment.php


Minpuntje van de VCF/VCA module: De exponentiële omzetter ontbreekt, dus dit is een lineair filter ipv exponentieel. Dit leek me eerst handig omdat je dan extern nog wat flexibiliteit hebt en ik wilde eerst de exponentiële omzetting in software doen. Helaas bleek later dat je zelfs met een 16-bit dac niet de juiste nauwkeurigheid haalt en dat het filter onderin te grote stappen krijgt. De volgende versie krijgt daarom een exponentiële omzetter aan boord, en tot die tijd bouw ik er een los naast per VCF/VCA module.

DCO module

De DCO module heb ik recent afgemaakt. In het verleden werd vaak de Intel 8253 timer toegepast als DCO clock. Deze module gebruikt echter een 'discrete' timer met losse TTL ic's. Het zetten van de 16-bits divider waarde gebeurd via SPI.

De DCO module bevat naast de DCO timer ook een octave range divider, een 'suboscillator', zaagtand integrator, pulse-width comparator en wat logica voor oscillator sync.

Hier zie je het prototype:

attachment.php


En dit is hem uiteindelijk geworden:

attachment.php
 

Attachments

  • VCFVCAModuleProto.jpg
    VCFVCAModuleProto.jpg
    105,7 KB · Bekeken: 196
  • VCFVCAModuleSMD1.jpg
    VCFVCAModuleSMD1.jpg
    110,7 KB · Bekeken: 193
  • VCFVCAModuleSMD2.jpg
    VCFVCAModuleSMD2.jpg
    83,4 KB · Bekeken: 198
  • DCOModuleProto.jpg
    DCOModuleProto.jpg
    135,6 KB · Bekeken: 192
  • DCOModuleSMD.jpg
    DCOModuleSMD.jpg
    79 KB · Bekeken: 182
Waar ik op dit moment mee bezig ben is het prototype van het basisboard waar straks alle modules op komen. Ook is er een begin gemaakt met de firmware. De firmware schrijf ik in 100% assembly. Hoewel ik het liever in C zou doen, vind ik de AVR C compiler niet efficient genoeg voor deze toepassing.

De firmware heeft nu een eenvoudige MIDI implementatie zodat ik wat testen kan uitvoeren.

Ik heb inmiddels twee DCO modules in elkaar gezet. Hier zie je ze gemonteerd op een stukje experimenteerprint met een aantal headers.

attachment.php


De 'dradenbende' hieronder is de testopstelling op dit moment. Je ziet hier linksbovenin een AVR developmentboard met aan de linkerkant een klein printplaatje met MIDI ingang. Daaronder de twee DCO modules en in het midden een experimenteerprint met een 16-bits DAC, MUX en S&H's voor 8 CV uitgangen. Rechtsbovenin de VCF/VCA module.

attachment.php


Op dit moment is er nog weinig polyfoons aan. Ik moet de andere modules nog in elkaar zetten en ik concentreer me voorlopig even op een monosynth waarbij alle onderdelen worden getest.

Nu wat testresultaten. Hier zie je wat scope-beelden van de DCO Module.

Uitgangswaveforms:

attachment.php


Oscillator sync:

attachment.php
 

Attachments

  • DCOSync.jpg
    DCOSync.jpg
    54,3 KB · Bekeken: 193
  • DCOWaveForms.jpg
    DCOWaveForms.jpg
    50,8 KB · Bekeken: 180
  • DCOModulesHeaders.jpg
    DCOModulesHeaders.jpg
    92,5 KB · Bekeken: 189
  • Testopstelling.jpg
    Testopstelling.jpg
    124,1 KB · Bekeken: 188
Vandaag heb ik wat geluiden opgenomen. Veel synthese kun je er op dit moment nog niet mee doen. Er hangt nog geen filter aan en de envelopes en LFO zijn nog niet ingebouwd.

Wat je in de opnames hoort zijn dus de puur kale DCO waveforms door een gate-VCA. Als sequencer is even Renoise gebruikt (MIDI uitgang) en een externe midi controller om CC's te versturen (voor de DCO-2 detune).

In het eerste voorbeeld hoor je twee van elkaar ontstemde DCOs met beide een zaagtand als golfvorm.

In het tweede voorbeeld hoor je DCO 2 die gesynct wordt door DCO 1 met een zaagtand als golfvorm.

In het derde voorbeeld hoor je DCO 2 die gesynct wordt door DCO 1 met een blokgolf als golfvorm en de sub-osc van DCO 1.
 

Attachments

  • 2DCOsDetuned.mp3
    251 KB · Bekeken: 212
  • DCOSyncSaw.mp3
    646,9 KB · Bekeken: 205
  • DCOSyncSquareSub.mp3
    651 KB · Bekeken: 175
Als je voorbeeld 2 en 3 tegelijk afspeelt klinkt het helemaal niet verkeerd :D
 
Dank voor alle reacties :)

Ik heb de printjes laten maken bij Eurocircuits a.k.a. The PCB Shop. Heb de email even opgezocht: voor 14 stuks DCO printjes betaalde ik 98 euro met een levertijd van 10 werkdagen, dus dat is dan 7 euro per print.

Niet supergoedkoop, maar wel goede kwaliteit. En SMD printjes hebben zulke kleine pads dat zelf etsen meestal geen succes is, dus ja, je moet wat over hebben voor je hobby :)
 
Klopt, daarom staat mijn etsbak alweer een paar jaartjes in een hoek onder het stof :P. Alle printjes voor m'n laatste projecten heb ik laten maken. Kwaliteit is gewoon vele malen beter dan zelf etsen en het scheelt een hoop tijd ;) zeker met dubbelzijdig.
 
Wauw, op een dag hoop ik ook zo netjes te werken als wat ik hier op de fotos zie!
Ik zal goed op deze thread gaan letten, mischien leer ik nog wat.
 
Dat ziet er super uit. Dit ga ik zeker helemaal volgen.

Tot op heden maak ik zelf altijd mijn printjes, maar dit ziet er zo gelikt uit, dat ik ze ook maar ga laten maken. je hebt me echt over de drempel heen geholpen.

Ik kan me voorstellen dat je project er een van jaren zal zijn, want het is niet niks, maar wat zul je er een plezier aan beleven.

Succes met het ontwerp en de bouw
 
superproject! Ik ben heel benieuwd hoe het gaat klinken als hij af is.

Ik heb hier nog een obscuur polyfoon analoog project uit de jaren '70 liggen (neen niet de Formant, nog een ander), maar daar zal ik nooit aan toe komen vrees ik want tijd en kennis schieten me tekort.
 
En gaat iedere DCO z'n eigen timerchip krijgen (Matrix 1000) of wordt alles van een master clock gehaald (Juno-106)?
 
waarom gebruik je eigenlijk een ttl dco ipv. een timerchip zoals de 8253 of 8254?

Ik gok omdat die er niet in SMD is? of wel? Nog even los van dat SPI natuurlijk wat fijner is dan een parallelle bus, zeker gezien aantal pinnen op de module.
 
Back
Top