Insåg när jag läste den här tråden
https://www.99musik.se/showthread.ph...51#post3771251
att jag tänker på syntar varje dag, bl a eftersom jag håller på att bygga en (och då menar jag 'bygga' i ett lite vidare begrepp än att sitta med lödpenna och lödtenn).
För 36 år sedan så byggde jag en polysynt som heter MiMi-a http://butoba.net/homepage/mimia.html . Ursprungligen inspirerad av Memorymoog och med erfarenheter från min tidigare monosynt Delta 7 (http://butoba.net/homepage/delta7.html) blev det en 6-rösters polyfonisk multitimbral analogsynt, med analog signalväg från vågformsgenerering, (Moog-) filter till VCA, med digital frekvens-, envelope- och LFO-generering, dock med en del tekniska abrovinker för att undvika 'zipper noise' samt få lite naturlig variation mellan
oscillatorerna.
Jag har alltid varit fascinerad över tillgängligheten och direktheten hos 'pre-patched'-syntar. Modulärer i alla ära, men syntar med fasta signal- och modulationsvägar bildar sitt eget ekosystem, och ägare till relativt enkla syntar som Juno-106 och MicroMoog kan säkert skriva under på att begränsningarna till trots så är ljudpaletten förbluffande stor.
Av olika anledningar blev det inget mer syntkonstruerande - livet kom emellan typ. I början på 90-talet gjorde jag en sequencer i samband med ett syntcoverband jag spelade i, och jag gjorde några små inhop i Gligli:s Prophet-600-mod, i form av bugfixar och sequencerimplementation, samt lite småhackande i diverse synt-OS. Samt en del reparationsprojekt, som ger välbehövliga dyk i analogvärlden.
När Nordlead 2 dök upp insåg jag att mjukvaru(baserade) syntar hade nått mogenheten (moogenheten ) att det var dags att säga farväl till analogtekniken när det gällde nykonstruktioner för min del. Jag tänker inte gå in på debatten om analogt mot digitalt mer än att säga att om man framgångsrikt kan spela in en analogsynt på ett digitalt medium så är det uppenbarligen fullt möjligt att representera analogt generat ljud digitalt, och det handlar "bara" om att hitta lämpliga mjukvarualgoritmer för ljudgenereringen.
För några år sedan kastade jag ut min som ny inköpta Nordlead 2 och gjorde under några år en färd bland kommersiella VA-syntar då det i halvrask takt inköptes och testades Blofeld, Nordlead 3, Alesis Ion, Akai Miniak, Yamaha AN-1x, Nordlead A1, Virus KB, samt även några byggsatsmaskiner som Ambika och Audiothingies P6. För halvannat år sedan köpte jag en Radikal Technologies Accelerator, en imponerande maskin på många sätt (don't get me started...), men även den har gått vidare. De enda som finns kvar från listan är Blofeld och P6, men mitt huvudsakliga hårdvaruinstrument idag är en Virus KC.
Kollade även in lite mjukvarusyntar i pluginformat, med bivilkoret att de måste gå att köra i Linuxmiljö och helst vara Open Source, vilket minskar utbudet rejält, kan man lugnt säga. Min favorit här är ZynAddSubFX, som jag tycker ger mig flashbacks till upptäckarglädjen jag kände när syntar var nytt för mig. Som programmerare är det dessutom fantastiskt att faktiskt kunna göra förbättringar i koden när man hittar något som inte står rätt till eller kan förbättras.
Men samtidigt skulle det vara trevligt att ha tillgång till en hederlig och välljudande klassisk virtual analogsynt.
Upptäckte i det sammanhanget Zynthian-platformen (http://www.zynthian.org) som jag tycker på ett utmärkt sätt bryggar gapet mellan hård- och mjukvarusyntar, med sitt gränssnitt med fyra rattar och relativt snabbjobbat menybläddrande.
I pluginträsket uppenbarade sig också en liten juvel - OB-Xd, som är en digital rendering av Oberheims OB-X och OB-Xa. Den är tydligen inte tänkt att vara en regelrätt klon, utan mer vara kraftigt inspirerad av Oberheimskapelserna, med väsentligen samma röstarkitektur, men med en del tillägg, bl a anslagskänslighet och korsmodulation. Signalbehandlingsmässigt har man trevliga analogljudande filter, lågaliasoscilatorer och frånvaro av zipper noise vid t ex filtersvep . En sak som stört mig på OB-Xd var att filtertrackningen Oberheimtroget var antingen på eller av, vilket är en kostnadsbesparing på en hårdvarusynt (jämfört med att ha det steglöst) men knappast i en modern mjukvarumotsvarighet. För några månader sedan började jag gräva i koden och det visar sig att det är bara användargränssnittet som har den begränsningen; själva DSP-koden hanterar kontinuerliga värden. Så i Zynthianmiljön är det några rader i en beskrivningsfil som inte ens är en del av OB-Xd-koden som behöver ändras för att man skall få kontinuerlig filtertrackinginställning. (Och med lite tur dyker det även upp i den DiscoDSP:s kommersiella OB-Xd-utgåva med tiden efter lite påstötning).
I det sammanhanget började jag fundera ... en sak som hela tiden ackompanjerat mig genom vandringen i VA-träsket är att alla testade syntar har en eller flera saker jag skulle vilja göra annorlunda. Men tiden har varit knapp, och mina DSP-kunskaper lidande. Jag har vid olika tillfällen studerat olika former av opensourceprojekt, t ex nu smått avsomnade Axoloti, som utgångspunkt för eget bygge men det har alltid strandat på olika saker.
Med OB-Xd framför mig slog det mig att här är för en programmerare är det här en Legolåda med syntkomponenter som man skulle kunna bygga om till något som passar mina behov. Zynthianmiljön i sin tur ger ramverk, användargränssnitt och saker som patchhantering och effektkedjor.
Så, jag har nu börjat på mitt första riktiga VA-projekt. I vanlig ordning är jag typ 10 år efter min tid, men livet är ändligt, så bättre sent än aldrig.
Queue the MiMi-d. Detta kommer att vara en digital rendering av MiMi-a, och är på liknande sätt som OB-Xd inte tänkt att vara en klon, utan snarare ett instrument som tar sitt avstamp i MiMi-a och Delta 7, med liknande filosofi och designelement.
Skillnaden mot den uppsjön av VA- och pluginsyntar som finns där ute kommer inte att vara världsomvälvande, men det kommer att bli en synt som jag vill ha den, och därmed en del subtila detaljer, bl a:
- ADSSR-enveloper, med sustaintid som parameter utöver de vanliga ADSR.
- Filtermodulation från en av oscillatorna.
- Ingen modulationsmatris. Jag hatar modulationsmatriser. Istället kommer det att finnas modulationsroutings från varje modulationskälla som hör till den specifika modulationskällan. Inte lika flexibelt, men betydligt mer snabbjobbat.
- Bipolär envelopemodulation av filtret. Hur många gånger har man vridit upp envelopmodulationen och stört sig på att man inte kan vrida ner cutoffen tillräckligt. Lösningen är att ha en bipolär signal från envelopen snarare än unipolär.
- Variabel synknivå mellan oscillatorerna. En skojjig funktion som praktiserades på Delta-7 men av olika anledningar inte följde med till MiMi-a.
- Kontroll över röstallokeringen. Jag lade en del energi på detta i MiMi-a och tänkte ta med det mesta till MiMi-d. Har t o m öppnat de gamla Z80-källkodsfilerna för att kolla upp hur jag gjorde det på den gamla goda tiden.
- Separata LFO:er till varje röst. Detta är ett arv från MiMi-a som var gjord så för att kunna vara multitimbral, men det resulterar i en del intressanta möjligheter även när alla röster spelar samma ljud.
Arkitekturen blir annars ganska standardmässig, med 2 oscillatorer, varav en med suboscillator, som matar ett (multimode-) filter, och VCA, med tillhörande envelopegeneratorer, samt ytterligare en generell modulationsenvelope, och avslutningsvis två LFO:er. Inget banbrytande således, utan tanken är att sätta ihop en go liten VA med lagom mycket funktioner.
Håller f n på att implementera funktionerna en efter en. ADSSR-enveloper, check. Filtermodulation från oscillator, check. Individuella röst-LFO:or med key sync, check. Går att köra på Zynthian, check.
Just nu är parametrarna i total oording vilket gör UI:t rörigt i Zynthian, som väsentligen visar alla parametrar i numerisk ordning. När alla
funktioner är implementerade skall det redas upp.
Någonstans längre fram hägrar kanske ett GUI så man kan köra den som ett "normalt" plugin, men jag lovar inget.
Mer teknisk info på hemsidan: http://www.butoba.net/homepage/mimid.html där det även finns länkar till Github för den intresserade.