VA synth intresse peiling ?

Oh, hoe kan ik het dan DIY-en? Wat als ik een aanpassing wil maken?
Zonder source ben ik dan nergens.

Aanpassing maken ?,
hoezo programmeer je niet een hele nieuwe synth ?,
dan kun je deze synth gebruiken als dev-board,
programmeerpunten voor PicKit3 zijn aanwezig.

Deze synth kun je niet nog meer in proppen,
zo van : ik wil eigelijk 3 oscillatoren, dat gaat dus niet.
Ik wil ook wel een aparte envelop voor de pitch,
nu is het zo dat je alleen kan kiezen uit filter of amplifier envelop,
dan gaat de envelop zowel naar bijvoorbeeld de filter als de pitchbend.

En ik ga zoiezo geen code weggeven,
als je zelf met iets bezig bent wil ik je best wel helpen als je er niet uit komt,
dan moet je wel zelf je codes posten.

Nu nog even een subforum over coderen/programmeren dan zit je goed.
 
K, mijn interesse is wel een stuk gedaald.

Had er graag iets van willen leren, maar als dat je paranoia in de weg zit gaat dat niet he ;)
 
Je moet zelf bezig gaan uit niets,
die codes die ik heb zijn onbegrijpelijk, dan mag ik eerst een week lang nog alles aan je uitleggen zeker ???
Ik vind die codes zelf al onleesbaar op dit moment, wel geoptimaliseert.
Als ik weer iets maak ga ik eerst terug naar een oude synthesizer om de begrijpbare codes te kopieren, daarna weer optimalizeren, met een ander geoptimalizeerde synth als voorbeeld zodat ik niets vergeet.

Iemand anders zijn code leren is moeilijker dan zelf iets maken, dan weet je waar het vandaan komt en wat het is.
De grootste fout die je kan maken is iemand anders zijn code kopieren.

Nu is mijn vraag aan jouw ? : wat heb je al eens gemaakt ?
Deze code is 100% integer, begin eerst maar eens met wat floating point DSP om je DSP library aan te maken,
daarna kun je je floating point codes naar integer proberen te converteren.
 
Virtual Analog Synthesizer with Stereo Chorus ( V0.1 )
Filter,LFO,ADSR,Chorus : everything runs at audio rate 44K1Hz

Oscillator (1) : Saw , Square
Filter (1) : 36db LowPass, 24db LowPass, 12db LowPass, 24db HighPass, 12db HighPass, 12db BandPass
LFO (2) : Pitch , Filter
ADSR (2) : Filter , Amplifier
Pitch bend : bender 1 to 12 notes, or assigned to selected ADSR for 1 or 2 oktaves
Stereo Chorus (1) : one third out of phase stereo


MIDI CONTROL CHANGE


Oscillator Controls :

CC 1 : Sets modulation ( range adjust with pitch lfo range )
CC 5 : Slide time ( slide when key is pressed )
CC 40 : Waveform ( 0..63 = square , 64..127 = saw )
CC 41 : Extra saw partials ( does not generate anything : used by Saw partials to create 8 bit value )
CC 42 : Saw partials ( *see note 1 )
CC 43 : Extra square partials ( does not generate anything : used by Square partials to create 8 bit value )
CC 44 : Square partials ( *see note 1 )


Filter Controls :

CC 45 : Filter type ( LP36 , LP24 , LP12 , HP12 , HP24 , BP12 )
CC 46 : Cutoff 1 : Cutoff frequency ( forms 8 bit cutoff with cutoff 2 )
CC 47 : Cutoff 2 : Cutoff frequency ( forms 8 bit cutoff with cutoff 1 )
CC 48 : Resonance
CC 49 : Filter envelop depth
CC 50 : Key follow
CC 51 : Key follow bias


Filter LFO Controls :

CC 52 : Depth
CC 53 : Waveform ( square , saw , sinus )
CC 54 : Start phase
CC 55 : Retrigger every note ( 0..63 = false , 64..127 = true )
CC 56 : Retrigger now
CC 57 : Retrigger on next note


Filter ADSR Controls :

CC 58 : Attack
CC 59 : Decay
CC 60 : Sustain
CC 61 : Release


Amplifier ADSR Controls :

CC 62 : Attack
CC 63 : Decay
CC 64 : Sustain
CC 65 : Release
CC 66 : Velocity


Pitch Bend Controls :

CC 67 : Pitch type ( bender,filterenv(1okt),filterenv(2okt),invfilterenv(1okt),invfilterenv(2okt),
ampenv(1okt),ampenv(2okt),invampenv(1okt),invampenv(2okt),bend off ( *see note 2 ) )

CC 68 : Pitch bender range ( value 0 gives 1 note range, up to value 11 gives 12 notes range )
CC 69 : Pitch envelop depth


Pitch LFO Controls :

CC 70 : Range ( up to 1 oktave )
CC 71 : Waveform ( square , saw , sinus )
CC 72 : Fade delay
CC 73 : Fade


Chorus Controls :

CC 74 : Depth
CC 75 : Frequency
CC 76 : Distance ( *see note 3 )



*Note 1 :
This control makes the synthesizer stop receiving midi controls until a new waveform is build in memory,
dont use a knob for this function, this function takes a while to process.


*Note 2 :
It is advised if you dont use pitch bend, to set pitchtype to bend off, to give the processor better reaction times in some cases.

*Note 3 :
When cancellation occurs, you can tune the chorus distance to avoid cancelation,
especially with oscillator square waveform there will be cancelation, the chorus might make pulse width modulation like sounds.

*Note 4 :
Control change values may differ in future updates.
 
attachment.php
 
En het schema Was klaar voor syntherklaas :). Heb gisteren al een beginnetje gemaakt in eagle. Zodra ik het schema-deel afgerond hebt, koppel ik dat hier weer ff terug.
 
Oja : als je de midi in en thru dicht bij elkaar hebt kun je 1 keer 100n cap gebruiken voor alles van midi.

En de midi poort heeft ook shield, even de midi spec bekijken :
midihw.gif


Met draadjes wikkel je normaal de min erom heen, zonder draadjes nog beter natuurlijk op printje, dat is jouw afdeling.
 
hier de eerste versie (v.2017.12.09) van het schema in Eagle. Ik heb het schema zo nauwkeurig mogelijk overgenomen en zou het fijn vinden als er nog wat ogen overheen kunnen gaan voordat ik begin met het ontwerp van de PCB. Hoor dus graag bevindingen!

Kleine wijzigingen: Geen MCP6242. Ik zag dat deze lastiger leverbaar is dan de 5532 en kon ook zo snel niet een Eagle part vinden. Verder is het 3.3v voedingslijntje die naar pin 28 gaat, nu niet meer zo direct verbonden met de opamp eronder. Die voeding staat rechtsboven in het schema toch? De cap tussen pin19 en 20 is gepolariseerd geworden. Verder eigenlijk weinig wijzigingen, zoals voorgenomen :okdan:

Na wat feedback ontwerp ik het PCB en laat ik een 3d rendering zien. Altijd leuk ;) Daarna ff overleggen hoe dan verder met bestellen enzo.
 

Attachments

  • va1synthesizer.pdf
    364,5 KB · Bekeken: 116
  • va1synthesizer.sch.zip
    54,4 KB · Bekeken: 104
Laatst gewijzigd:
Oh ja, het symbool voor de dual pot was ook een beetje weird, vandaar de "spiegeling" van het gain-gedeelte van IC3B en IC4B.
 
Die MCP 6242 is een rail 2 rail opamp van het merk Microchip,
ik had deze liggen, en heb presies het schema gemaakt zoals in mijn breadboard.

Er moest zoiezo nog naar de onderdeeltjes gekeken worden om deze kit zo goedkoop mogelijk te maken.

Je kan een MCP 6002 pakken, die zijn goedkoper, sneller, nieuwer, en verkrijgbaarder ?
Zolang het maar een rail 2 rail opamp is van het merk Microchip.

Hoe die 3.3v verbonden is, is alleen voor het schema wat duidelijker te maken.

Voor die TL072 heb ik liever dat je een TL071 pakt, dan heb je ook geen ongebruikte opamp.

Mooi dat je die dingen opvalt, zo komen we er samen wel uit.
Ziet er netjes uit verder geen fouten zo te zien, ik ga er nog even rustig naar kijken nu.

Oja : die rail to rail opamp kan niet aan de opa volt, die moet 3,3 volt hebben, kan max tot 5 volt.
Stel je gebruikt NE5532 heb je brede rails, met een r2r opamp kun je van 0 tot 5 volt gaan, dat is bij een gewone opamp onmogelijk.
Die rail to rail opamp word gebruikt over de dspic interne DAC als buffer, de dspic werkt op 3,3 volt, 16 bit delta sigma DAC van 0 tot 3,3 volt, daar heb je een rail to rail opamp voor nodig.

Ho wacht : die 10UF is een keramiese kondensator, geen + - nodig in je schema, liever geen explosieve tantaal in deze kit a.u.b..
Ok 10UF is wat moeilijk te krijgen in gewone winkels, alleen je hebt het nodig volgens de handleiding van de dspic, je kan kiezen uit tantaal of keramies.
10U keramies is ook wat duur, alleen hier wil ik niet op besparen als het om veiligheid gaat.

Ik hoop dat ik de volgende week een prototype klaar heb voor wat audio opnames, eerst ook nog een track afmaken/opnemen voor ik de studio inkan, wat een drukte, komt goed.
Qua software is het nu wel af, alleen de led gaat nog te vaak aan als er niets verandert, dan heb ik nog iets te doen als het V1.0 word.
 
Laatst gewijzigd:
Virtual Analog Synthesizer with Stereo Chorus ( VA1 V0.2 )

OVERVIEW


Filter,LFO,ADSR,Chorus : everything runs at audio rate 44K1Hz

Oscillator is selectable between 2 generated waveforms.
More partials give a sharper edge to your saw or square wave.
For lower played melodies you can use more partials in your audio waveform without aliasing.
For higher melodies when you hear aliasing you should use less partials in your waveform.
The waveforms are a number of sine waves together, you can go from 1 ( soft sine wave ) to 254.

LFOs has a sine waveform, the generated oscillator waveforms are also selectable.
Filter LFO controls are guaranteed to match your tempo or to improve control tweakability.
Filter LFO has a wide range from almost stopped to fast, all under 1 control.


SPECEFICATIONS

Oscillator (1) : Saw , Square
Filter (1) : 36db LowPass, 24db LowPass, 12db LowPass, 24db HighPass, 12db HighPass, 12db BandPass
LFO (2) : Pitch , Filter
ADSR (2) : Filter , Amplifier
Pitch bend : bender 1 to 12 notes, or assigned to selected ADSR for 1 or 2 oktaves
Stereo Chorus (1) : one third out of phase stereo


MIDI CONTROL CHANGE


Oscillator Controls :

CC 1 : Sets modulation ( range adjust with pitch lfo range ) [ default = 0 ]
CC 5 : Slide time ( slide when key is pressed ) [ default = 100 ]
CC 40 : Waveform ( 0..63 = square , 64..127 = saw ) [ default = saw ]
CC 41 : Extra saw partials ( does not generate anything : used by Saw partials to create 8 bit value ) [ default = 1 ]
CC 42 : Saw partials ( *see note 1 ) [ default = 127 ]
CC 43 : Extra square partials ( does not generate anything : used by Square partials to create 8 bit value ) [ default = 1 ]
CC 44 : Square partials ( *see note 1 ) [ default = 127 ]


Filter Controls :

CC 45 : Filter type ( LP36 , LP24 , LP12 , HP12 , HP24 , BP12 ) [ default = LP36 ]
CC 46 : Cutoff 1 : Cutoff frequency ( forms 8 bit cutoff with cutoff 2 ) [ default = 127 ]
CC 47 : Cutoff 2 : Cutoff frequency ( forms 8 bit cutoff with cutoff 1 ) [ default = 64 ]
CC 48 : Resonance [ default = 127 ]
CC 49 : Filter envelop depth
CC 50 : Key follow
CC 51 : Key follow bias


Filter LFO Controls :

CC 52 : Depth
CC 53 : Floor ( *see note 2 )
CC 54 : Multiply ( *see note 2 )
CC 55 : Frequency ( *see note 2 )
CC 56 : Waveform ( square , saw , sinus )
CC 57 : Start phase
CC 58 : Retrigger every note ( 0..63 = false , 64..127 = true )
CC 59 : Retrigger now
CC 60 : Retrigger on next note


Filter ADSR Controls :

CC 61 : Reset ( 0..63 = false , 64..127 = true )
CC 62 : Attack
CC 63 : Decay
CC 64 : Sustain
CC 65 : Release


Amplifier ADSR Controls :

CC 66 : Reset ( 0..63 = false , 64..127 = true )
CC 67 : Attack
CC 68 : Decay
CC 69 : Sustain
CC 70 : Release
CC 71 : Velocity


Pitch Bend Controls :

CC 72 : Pitch type ( bender,filterenv(1okt),filterenv(2okt),invfilterenv(1okt),invfilterenv(2okt),
ampenv(1okt),ampenv(2okt),invampenv(1okt),invampenv(2okt),bend off ( *see note 3 ) )

CC 73 : Pitch bender range ( value 0 gives 1 note range, up to value 11 gives 12 notes range )
CC 74 : Pitch envelop depth


Pitch LFO Controls :

CC 75 : Range ( up to 1 oktave )
CC 76 : Frequency
CC 77 : Waveform ( square , saw , sinus )
CC 78 : Start phase
CC 79 : Retrigger every note ( 0..63 = false , 64..127 = true )
CC 80 : Retrigger now
CC 81 : Fade delay
CC 82 : Fade


Chorus Controls :

CC 83 : Depth [ default = 32 ]
CC 84 : Frequency
CC 85 : Distance ( *see note 4 )



*Note 1 :
This control makes the synthesizer stop receiving midi controls until a new waveform is build in memory,
dont use a knob for this function, this function takes a while to process.

*Note 2 :
The filter LFO frequency is build on 3 control values.
Set the floor to adjust the lowest point of the frequency control.
Multiply sets a maximum for the frequency control.
Only the frequency control changes the sound.

*Note 3 :
It is advised if you dont use pitch bend, to set pitchtype to bend off, to give the processor better reaction times in some cases.

*Note 4 :
When cancellation occurs, you can tune the chorus distance to avoid cancelation,
especially with oscillator square waveform there will be cancelation, the chorus might make pulse width modulation like sounds.

*Note 5 :
Control change numbers may differ in future updates.
 
Ik zie zo snel al twee valkuilen in het schema... Dat heeft te maken met de uitgangen.

Situatie 1.

Het apparaat is ingeschakeld en men sluit vervolgens de mengtafel aan
op de uitgang van de synth. De uitgangen van IC3B en IC4B staan op
4.5V DC maar de elco's C19 en C21 hebben zich niet kunnen opladen
omdat er geen uitgangsweerstand is toegepast. Gevolg:er staat 4.5Vdc
op de uitgang van je synth. Wat er met de conussen van je woofers gebeurd
laat zich wel raden als je de stekkertjes in de mengtafel steekt. Die komen met een
fikse dreun op je af en met wat geluk springt je versterker in de DC beveiliging.

Situatie 2

Een soortgelijk verhaal als situatie 1. Stel je synth is gewoon aangesloten...
Alleen de voeding staat er nog niet op. Hop de adapter er in. Ook hier
gebeurd een soortgelijk iets. De schakeling moet zich eerst stabiliseren
met als vervelend resultaat dat je wederom eerst die DC op je uitgang ziet.

Voorstel: sluit de uitgangen van de synth via weerstandjes aan op de massa.
En pas een inschakelvertraging toe op de uitgang. dat kan in de vorm van
de uitgang kortgesloten te houden tijdens inschakelen óf de uitgang later in
te schakelen via een relais oid. De eerste vind ik de mooiste... Klein torretje
naar massa...

Verder zien de verschilversterkers er iets anders uit dan dat ik gewent ben.
De weerstand van de plusingang naar massa is weggelaten ten behoeve van
de DC offset neem ik aan. Je zou kunnen overwegen om die weerstand wel
te plaatsen maar dan in serie te zetten met een condensator. Dan heb je wel
de échte verschilversterker voor AC welke geen last heeft van die DC instelling...

Just my two cents... Succes dr mee...
 
Je hebt gelijk Roland, zo professioneel ben ik nog niet.

De verschilsversterker hoort idd. nog een weerstandje bij aangesloten,
zo werkt het ook goed, mischien niet volledig volume op de 3,3v opamp, goed genoeg.

Al mijn synths en drummachines hebben die DC bij het aansluiten en inschakelen,
mijn mengpaneel werkt nogsteeds, meestal sluit ik alles aan en zet ik alles tegelijk aan.
Je hebt wel gelijk, ik heb al eerder de tip gekregen over een relay, daar moest ik nogsteeds naar kijken.
Een tor op de audio vind ik geen slim plan, ook al mute die het alleen, dan zet ik eerder een gate, alleen krijg je dan geen klik als je de gate inschakeld ?

bedankt voor je 2 centen.

@sinneb, is goed ik hoor wel als die af is ( zonder relay eerst )
als het allemaal af is kan er altijd een nieuw plan worden gemaakt voor met relay ofzo.
Wat was je aan het knutselen met je projectje ?

Anders als die af is moeten de mensen er maar op vertrouwen dat het goed klinkt, en eventueel zelf een demotje maken voor anderen.

Het is een heel goede mono synth met oldschool geluid.
Als je zelf al die leuke roland mono synthjes hebt hoef je deze ook niet te bouwen.
Puur voor mensen die goedkoop muziek willen maken,
ik zelf ben allang blij dat ik nu eindelijk een zaag waveform in de studio heb inplaats van blokgolf.
 
Hoi Designer, kijk voor de aardigheid maar eens hoe dat bij een jp8000 is gedaan op de uitgangen.
Simpel torretje naar massa. Daar heb je een mooi voorbeeld aan. En lekker goedkoop :)
 
Back
Top