Forum: Digitale Signalverarbeitung / DSP / Machine Learning Synth MiniMoog


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von chris (Gast)


Lesenswert?

Wer kennt den MiniMoog?:
https://www.youtube.com/watch?v=sLx_x5Fuzp4
Immer wieder spiele ich mal mit dem Gedanken, das ganze auf einem 
Mikrocontroller zu simulieren.
Der Filter wird als besonders wohlklingend beschrieben.
Kennt jemand eine digitale Beispielrealisierung?

von Sven D. (Gast)


Lesenswert?

Google kaputt? 
https://www.soundonsound.com/reviews/creamware-minimax-asb

Edit: Link korrigiert

von chris (Gast)


Lesenswert?

Ich suche den Sourcecode für den Filter, nicht die Werbeseiten für 
Produkte.

von Sven D. (Gast)


Lesenswert?

Ja, nicht posten nach dem ersten Bier. Gilt für mich.

von Sven D. (Gast)


Lesenswert?


von Dirk (Gast)


Lesenswert?

https://github.com/ddiakopoulos/MoogLadders

Da hat mal einer einige Implementierungen, die im Netz geistern, 
gesammelt.

Aber mach Dir keine großen Hoffnungen... ich dachte auch immer, das sei 
der heiße Scheiß, hatte das auf einem STM32F4 laufen. Irgendwann hab ich 
den Moog-Clone von yusynth.net nachgebaut. Seither gefallen mir die 
digitalen "Alternativen" nicht mehr.

Schönen Abend,
Dirk

von chris (Gast)


Lesenswert?

Super, danke für die guten Links :-)

>Aber mach Dir keine großen Hoffnungen... ich dachte auch immer, das sei
>der heiße Scheiß, hatte das auf einem STM32F4 laufen.

Da würde mich mal ein Soundbeispiel interessieren.
Bei mir wird das eher ein kleine Spielerei, die nicht zwingend dem 
Orginal zu 100% gleichen muss. Das wird eher eine schrittweise 
Annäherung mit kreativen, experimentellen Modifikationen.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Hier hab' ich mal ein ziemlich kurzes Beispiel fuer ein einstellbares 
Filter gepostet.
Ist kein Moogfilter, sondern nur 2. Ordnung - koennt' man aber 
sicherlich noch erweitern:

Beitrag "Re: adaptiv IIR Filter Koeffizienten ändern, wie?"

Gruss
WK

von chris (Gast)


Lesenswert?

>Beitrag "Re: adaptiv IIR Filter Koeffizienten ändern, wie?"

Sehr gut, danke für den Link.
Ich werde mal versuchen, den Filter auf einem ESP32 und einem F4 laufen 
zu lassen.

Apropos: Wenn ich's richtig weiß, nennt man die Filter mit 
veränderlichen Koeffizienten "state variable filter". Die Nomenklatur 
müsste man aber nochmal verifizieren.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

chris schrieb:
> Die Nomenklatur
> müsste man aber nochmal verifizieren.

Yep :-)

Gruss
WK

von chris (Gast)


Angehängte Dateien:

Lesenswert?

Gerade mal ausprobiert. Ich vermute, die Frequenz ist nicht in Hz 
sondern skaliert auf f/fab.

Das Testsignal ist ein Rauschen.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

chris schrieb:
> Ich vermute, die Frequenz ist nicht in Hz
> sondern skaliert auf f/fab.

Da wuerd' ich sogar noch eine Schippe drauflegen und sagen: Das ist auf 
Fabtast/2 normiert.
Also wenn das z.b. 48kHz Abtastfrequenz sind, und ich will 2.4kHz 
Grenzfrequenz, enspricht das einer normierten Frequenz von 0.1

Gruss
WK

von Audiomann (Gast)


Lesenswert?

chris schrieb:
> Ich suche den Sourcecode für den Filter, nicht die Werbeseiten für
> Produkte.

Wenn du den klassischen Moog-Filter meinst, der ist nicht zu simulieren. 
Das haben schon 100.000 Fritzen probiert. Es gibt einige Nachbauten in 
Hardware.

Den ganzen Mini Moog kriegt man ürigens ins leicht verschlechterter Form 
vom großen B auch China.

von chris (Gast)


Angehängte Dateien:

Lesenswert?

Ja das digitale, es ist gar nicht so einfach, dass es gut klingt ....

von egonotto (Gast)


Lesenswert?

Hallo,

vielleicht hilft die Seite von Tim Stinchcombe:

http://www.timstinchcombe.co.uk/index.php?pge=synth

Dort findet sich sein Paper 'Analysis of the Moog Transistor Ladder and 
Derivative Filters' und eine: "page of links to research papers on 
digital implementations of the Moog and other ladder filters"

Irgendwo muss ich noch einen Prospekt vom Minimoog haben. Der hat damals 
so 6000 DM gekostet.

MfG
egonotto

von Bernd (Gast)


Lesenswert?

Google ist dein Freund: einfach die Schaltunk in spice bauen:

http://www.96khz.org/htm/ladderfiltermodul.htm

von tom (Gast)


Angehängte Dateien:

Lesenswert?

chris schrieb:
> Kennt jemand eine digitale Beispielrealisierung?

> Ich suche den Sourcecode für den Filter

https://github.com/pure-data/pure-data/tree/master/extra/bob%7E


Aus Pure Data.
Läuft auch Embedded.

In PD gibt es auch den MiniWoog, welcher die einzelnen 
Synthese-Komponenten des Instruments enthält:
https://forum.pdpatchrepo.info/topic/8108/the-miniwoog/11
Allerdings noch nicht mit der neueren [bob~] Emulation des Filters.

Audiomann schrieb:
> Wenn du den klassischen Moog-Filter meinst, der ist nicht zu simulieren.
> Das haben schon 100.000 Fritzen probiert. Es gibt einige Nachbauten in
> Hardware.
>
> Den ganzen Mini Moog kriegt man ürigens ins leicht verschlechterter Form
> vom großen B auch China.

Genau.

U-He sind die aktuelle Spitze der Tonstudios in Softwareemulationen von 
Synthesizern.

Ein wichtiger Teil des Sounds machen die Envelopes aus, welche beim Mini 
clippen und so eine Hold-Stage zwischen Attack und Decay entsteht 
(AHDSR), die Punch bringt.

von tom (Gast)


Lesenswert?

* Bob Moog Synthesizer Gott
* Miller Puckette DSP Gott

von Tobias (. (Gast)


Lesenswert?

tom schrieb:
> Ein wichtiger Teil des Sounds machen die Envelopes aus, welche beim Mini
> clippen und so eine Hold-Stage zwischen Attack und Decay entsteht
> (AHDSR), die Punch bringt.

Geht das auch auf Deutsch?

von tom (Gast)


Lesenswert?

keep the good vibes coming

von chris (Gast)


Lesenswert?

>von Tobias N. (technick2)
>07.04.2020 21:09

>tom schrieb:
>> Ein wichtiger Teil des Sounds machen die Envelopes aus, welche beim Mini
>> clippen und so eine Hold-Stage zwischen Attack und Decay entsteht
>> (AHDSR), die Punch bringt.

>Geht das auch auf Deutsch?

Obwohl ich des Engischen einigermaßen mächtig bin, weiß ich nichts so 
recht mit dem "Punch" anzufangen:

https://www.youtube.com/watch?v=FPbCjum9hYE

von Andi (Gast)


Lesenswert?

Tobias N. schrieb:
> tom schrieb:
>> Ein wichtiger Teil des Sounds machen die Envelopes aus, welche beim Mini
>> clippen und so eine Hold-Stage zwischen Attack und Decay entsteht
>> (AHDSR), die Punch bringt.
>
> Geht das auch auf Deutsch?

Ja, etwa so:

Einen wichtigen Teil des Klanges machen die Briefumschläge aus, welche 
beim Kleinen umklappen und so eine Halt-Bühne zwischen Angriff und 
Abfall entsteht (AHDSR), die ein heisser Sirup bringt.


Jetzt sollte es klar sein ;)

von Tobias (. (Gast)


Lesenswert?

Na super! Ich trage es in die Mini Moog Seite in der WP ein. Die wird eh 
gerade beackert.

von Audiomann (Gast)


Lesenswert?

Dirk schrieb:
> https://github.com/ddiakopoulos/MoogLadders
> Da hat mal einer einige Implementierungen, die im Netz geistern,
> gesammelt.

Ich würde den Codes von Huovilainen und Stilson noch am Meisten 
zutrauen, weil die das Filter wissenschaftlich untersucht haben:
https://de.wikipedia.org/wiki/Moog-Synthesizer#Moog-Ladder-Filter

Allerdings bilden die allesamt die Funktion des Filters nach. Das gilt 
auch für den anderen link weiter oben auf den kompletten MiniMoog. Dort 
wird elementare Klangsynthese betrieben, so wie die Geräte es 
idealerweise tun. Bei dem Minimog kommen aber insbesondere die 
Seiteffekte der Elektronik zum Tragen und das betrifft vor allem seinen 
Spezialfilter: Der ist samt und sonders nicht linear und damit auch 
nicht mit einem mathematisch sauberen 24dB-IIR zu beschreiben.

von Audiomann (Gast)


Lesenswert?

Will heißen: Das, was diese Geräte jeweils ausmacht, wird durch die 
idealisierte Mathematik gar nicht beschrieben. Die gesamten Emulationen 
in Software repräsentieren nur die gewollte Funktion von Sinus, Rechteck 
und Dreieck aber wenn man sich die Wellenformen von analogen 
Synthesizern so ansieht, dann stimmen die schon ungefiltert nicht 
überein. Jeder ist ein bischen anders. Das gilt auch für die 
Modulatoren, die Ansteuerung die Reaktion auf CV und alles andere. Jede 
Stufe entfernt die Reaktion des System vom mathematischen Ideal. Das 
Besondere vom Moog kommt also überhaupt nicht durch.

Es ist also nicht verwunderlich dass die digitalen Versionen nicht 
klingen. Das sind eben keine Moogs.

von rbx (Gast)


Lesenswert?

Der Minimoog kann vor allem fette Bass-Sounds:
https://www.youtube.com/watch?v=Yf_Lwe6p-Cg

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Das konnte die fast zeitgleich erschienene WERSI AP 6 auch:
https://www.keyboards.de/equipment/wersi-ap-6-1977-bass-synthesizer/

Den hatte einer meiner Musiker mal rstanden und mit in unser damals 
neues Studio geschleppt. Wir haben den dann entsprechend instandgesetzt 
und einen Woofer drangehängt. Da flogen die Wände raus. Kein Witz: Es 
war nur eine dünne (und innen noch nicht bedämpfte) 
"Gipsplattenverschalung" der Studiowandkonstruktion. Die kriegen in der 
Tat Risse, wenn sie zu sehr schwingen. Ich muss immer wieder an die 
Geschichte denken, wenn T. Sträter seinen "Sommerwitz" bringt.

Übrigens braucht man nicht unbedingt einen Moog, um diese vintage-Sounds 
zu produzieren: Der noch früher erschienene Buchla 100 konnte das auch 
ganz prima und der hatte sogar touch pads zum direkten Drücken.

Aber der "fetteste" aller Synths ist ohnehin der hier:
https://de.wikipedia.org/wiki/Yamaha_GX-1
(ich baue gerade den Artikel auf, wer was zum Beisteuern hat, ist 
eingeladen)

von Audiomensch (Gast)


Lesenswert?

chris schrieb:
> Ich suche den Sourcecode für den Filter, nicht die Werbeseiten für
> Produkte.
Hier hat jemand eine Codeanalyse für das Moog-Filter erarbeitet:
https://aaltodoc.aalto.fi/bitstream/handle/123456789/14420/article5.pdf

Darin enthalten sind auch die Übertragungsfunktion und die Pole. Das 
sollte sich leicht in eine Software übertragen lassen. Wie gut das der 
Realität nahekommt, geht aus dem Dokument aber nicht hervor.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

tom schrieb:
> U-He sind die aktuelle Spitze der Tonstudios in Softwareemulationen von
> Synthesizern.
Soso!

Audiomensch schrieb:
> Darin enthalten sind auch die Übertragungsfunktion und die Pole.
Der Autor verwendet aber ein eher einfaches Modell der Transistoren in 
Form von Kennlinien, die er interpoliert wie mir scheint. Will man das 
tun, kann man mit ausreichender Abtastrate auch voll im Zeitbereich 
rechnen und braucht keine analytischen Gleichungen mit Lösungen. Dies 
bietet umgekehrt auch die Möglichkeit, viele nichtlineare Effekte zu 
berücksichtigen, welche sich nicht in analytischen Modellen leicht 
abbilden lassen. Diese sind erheblich genauer und näher an der Realität 
- erfordern aber entsprechende Rechenzeit.

Dazu muss man beim MOOG-Filter letztlich feststellen, dass schon 
einfache Gleichungen zu einem Rechenaufwand führen, der nur 
gerechtfertigt ist, wenn man unbedingt in Software arbeiten will.

In Hardware lässt sich das viel einfacher bauen und da meine ich 
durchaus analoge Hardware. Schaut man sich das Filter mal näher an, so 
ist das für wenige Euro zu bauen und das wird in Hybridsynthesizern oft 
auch ganz genau so gemacht. Man kann auch sehr leicht feinere 
Abstufungen wählen und eine Quarten/Terz-Abstimmung bauen. Das sind dann 
3-4 Stufen je Oktave.

von solch (Gast)


Lesenswert?

Jürgen S. schrieb:
> Man kann auch sehr leicht feinere
> Abstufungen wählen und eine Quarten/Terz-Abstimmung bauen. Das sind dann
> 3-4 Stufen je Oktave.

Was meinst Du mit Abstufungen? Filter-Kaskaden??

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

solch schrieb:
> Was meinst Du mit Abstufungen? Filter-Kaskaden??
Ja, Filterkaskaden und damit die Feinheit mit der die Oktaven aufgelöst 
werden. Das Filter ist ja leicht diskontinuierlich.

von solch (Gast)


Lesenswert?

>Ja, Filterkaskaden und damit die Feinheit mit der die Oktaven aufgelöst
werden. Das Filter ist ja leicht diskontinuierlich.

Würdest Du das genauer ausführen? Woraus erschließt sich das für dich, 
und inwiefern diskoninuierlich?

Mit mehr oder weniger Filterstufen ändert sich die Flankensteilheit!?


Danke

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Schau dir mal den genauen Verlauf und die Funktionen eines solchen 
Filters an:   Dort werden Kapazitäten analog mehr oder weniger stark 
zugeschaltet. Jede Kaskade ist am Ende für einen Frequenzbereich 
zuständig. Die Übergänge sind dabei natürlich nicht perfekt, sondern es 
gibt Abstufungen und damit lineare Verzerrungen (nebst den nichtlinearen 
Verzerrungen durch die Transistorkennlinien).

Das klassische Filter hatte 4 - später 5 Stufen - soweit ich weis und 
überdeckt damit 4/5 Oktaven. Das muss man aber nicht so bauen, sondern 
kann sowohl im Analogen (durch Änderung der Lastkapazitäten) als auch im 
Digitalen (Änderung der Parameter) ein feineres Verhalten aufziehen.

Man kann z.B. eine Quarte/Quinte dazwischen setzen und damit je 
Filterdurchgang über n Oktaven doppelt so viele Transistoren 
involvieren. Das wird homogener. Ich kenne Filter, die mit 3 
Kaskadenstufen je Oktave arbeiten - also bei einer 61er insgesamt 16 
Kaskadenstufen nutzen. Das geht denn mit wenigen Transistor-Array-Chips. 
Zusammen mit Vogelfutter und OPs immer noch deutlich unter 20,-

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.