Forum: Analoge Elektronik und Schaltungstechnik Neuer Computer für 80er Jahre Synthesizer auf RP Pico Basis - DAC Fragen


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 Maik S. (magic94)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

ich arbeite aktuell daran für einen 80er Jahre Synthesizer (Tiracon 6V) 
einen neuen Computer zu entwickeln. Der vorhandene Computer (Z80) ist 
doch sehr langsam und bringt mit 11ms Wiederholrate des DACs nicht das 
volle Potential aus dem Analogteil - bzw. das möchte ich herausfinden, 
indem ein neuer Computer den Analogteil schneller und präziser 
anspricht.

Ich habe mich für einen Raspberry Pi Pico entschieden. Es ist genug 
Leistung vorhanden, Hardware UARTS, modern, günstig, etc.

Da dies aber das erste mal ist, dass ich einen externen DAC an einen µC 
baue und dieser (MAX 5719GSD+) auch nicht grade günstig ist, wäre ich 
mir gerne sicher ihn beim ersten Versuch nicht direkt zu zerstören.

Die Ausgabe des DAC Richtung Analogteil soll nachher Werte zwischen +15V 
und -15V abbilden. Versorgt werden die ±15V vom Analogteil. +5V erhält 
der Computer direkt vom Netzteil. Außerdem soll die Computerplatine noch 
+10V bereitstellen. Das wären alle vorhandenen Spannungen.

Ich habe mich an das Datasheet Seite 16 gehalten "Bipolar Output Using 
Voltage Reference with Force and Sense on Output and Ground":
https://www.mouser.de/datasheet/2/609/MAX5717_MAX5719-3130212.pdf

Nun steht in der Abbildung im Datenblatt ein OpAmp am Ausgang, welcher 
mit +5V und -5V betrieben wird. -5V habe ich nicht, daher habe ich 
diesen ersten "Buffer" direkt mit den ±15V versorgt um dahinter einen 
weiteren OpAmp zu setzen und dort die eventuelle Offsetanpassung und 
Verstärkung auf ±15V einzustellen.

Frage: Nach U2A besteht eine Verbindung zum DAC (RFB). Könnte durch die 
höhere Spannungsversorgung von U2 nun der DAC gefährdet sein?
Oder kann ich mittels OpAmp die +5V zu -5V wandeln um damit einen OpAmp 
zu versorgen? Das könnte von der Leistungsaufnahme her knapp werden...

von J. S. (jojos)


Lesenswert?

Da gibt es das Pico ADK, ein für Audio angepasster pico, auch schon mit 
einiges an Synthie Software.
https://github.com/DatanoiseTV/PicoADK-Hardware

von Maik S. (magic94)


Lesenswert?

Hmmm gut zu wissen, aber ich benötige keinen Audio-DAC.

Ich hätte das vielleicht etwas ausführlicher erklären können:

Der hier gezeichnete Computer spricht einen Analogteil an, welcher die 
Klangerzeugung übernimmt. Auf dem Analogteil befinden sich 6 Voice Cards 
mit jeweils VCO, VCA, VCF. Der DAC auf dem Computer stellt lediglich die 
ganzen Spannungen bereit, welche dann auf dem Analogteil über 4 Demuxer 
mit anschließendem S&H auf die Karten weitergegeben werden. Ich benötige 
hier also einen schnellen und präzisen Spannungs-DAC, welcher mit die 
Kontrollspannungen in gemultiplexter Form ausgibt.

: Bearbeitet durch User
von Rbx (rcx)


Lesenswert?

Maik S. schrieb:
> Der vorhandene Computer (Z80) ist
> doch sehr langsam und bringt mit 11ms Wiederholrate des DACs nicht das
> volle Potential aus dem Analogteil - bzw. das möchte ich herausfinden,
> indem ein neuer Computer den Analogteil schneller und präziser
> anspricht.

Also ich weiß nicht, ist das überhaupt ein brauchbarer Ansatz? Ich würde 
schon erstmal beim Z80 bleiben, und schauen ob es a) ein Update gibt 
bzw. einen brauchbaren Nachfolger oder ähnliches (z.B. ein original Z80 
und keine billige Kopie)usw., und b) was der Programmcode so macht und 
c) ob man die vorhandenen CPU nicht auch noch beschleunigen könnte.
Ein anderer Ansatz wäre ja auch Strom sparen - oder ein ganz anderer, zu 
schauen, ob nicht z.B. ein msp430 auch gut für sowas ist.

von Maik S. (magic94)


Lesenswert?

Rbx schrieb:
> Also ich weiß nicht, ist das überhaupt ein brauchbarer Ansatz? Ich würde
> schon erstmal beim Z80 bleiben, und schauen ob es a) ein Update gibt
> bzw. einen brauchbaren Nachfolger oder ähnliches (z.B. ein original Z80
> und keine billige Kopie)usw., und b) was der Programmcode so macht und
> c) ob man die vorhandenen CPU nicht auch noch beschleunigen könnte.
> Ein anderer Ansatz wäre ja auch Strom sparen - oder ein ganz anderer, zu
> schauen, ob nicht z.B. ein msp430 auch gut für sowas ist.

Ich finde es definitiv interessant in der Umsetzung, da ich dann den 
Synthesizer von Grund auf neu programmieren kann und eigene Funktionen 
einbauen kann. Ich habe bereits einen kleinen Versuch mit einem ESP32 
gemacht ob ich den Analogteil angesprochen bekomme, was funktioniert 
hat. Leider konnte ich aber aufgrund seines 8-bit DACs nicht alle Töne 
richtig treffen, daher mehr Auflösung. Der originale Z-80 nutzt einen 
12-bit DAC, wobei die damaligen Entwickler hier bereits Probleme hatten 
alle Töne richtig einstellen zu können und haben seinen Bereich 
erweitert indem in gewissen Zuständen die Referenzspannung verändert 
wurde. Diesen Hokus-Pokus möchte ich mir eher sparen.
Ich kann leider kein Z80 asm, somit fällt b) weg. Übertakten ist auch 
nicht möglich, da der Computer dann abstürzt (schon probiert).
Zu a) Ein Update gab es tatsächlich. Ich habe 2 Softwareversionen hier, 
aber auf meinem Synthesizer ist die aktuellste Software von 1990 
installiert und ich glaube, da kommt auch kein Update mehr: 
https://de.wikipedia.org/wiki/Tiracon_6V
Strom sparen brauche ich nicht und Mikrocontroller wechseln muss 
eigentlich auch nicht unbedingt sein, da ich schon angefangen habe zu 
programmieren und mich in den letzten Monaten sehr ausführlich mit dem 
Pico beschäftigt habe.

: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Maik S. schrieb:
> Leider konnte ich aber aufgrund seines 8-bit DACs nicht alle Töne
> richtig treffen, daher mehr Auflösung.

Der Satz bereitet mir einige Probleme.
Die Frequenz von Tönen hängt ja nicht von der Auflösung der Amplitude 
ab.
Im Extrem könnte man einen 1bit DAC nehmen (also einen GPIO Pin) und den 
mit jeder beliebigen Frequenz (bis ½CPU Freq.) takten.

von Harald K. (kirnbichler)


Lesenswert?

Norbert schrieb:
> Der Satz bereitet mir einige Probleme.
> Die Frequenz von Tönen hängt ja nicht von der Auflösung der Amplitude
> ab.

Der DAC, der hier gemeint ist, erzeugt nicht die Töne und auch nicht 
ihre Frequenzen, sondern nur Steuerspannungen, mit dem der Rest des 
Gerätes dann die Synthese in Hardware betreibt:

Maik S. schrieb:
> Der hier gezeichnete Computer spricht einen Analogteil an, welcher die
> Klangerzeugung übernimmt. Auf dem Analogteil befinden sich 6 Voice Cards
> mit jeweils VCO, VCA, VCF. Der DAC auf dem Computer stellt lediglich die
> ganzen Spannungen bereit, welche dann auf dem Analogteil über 4 Demuxer
> mit anschließendem S&H auf die Karten weitergegeben werden.

Bei der heute auch auf simplen µCs verfügbaren Rechenleistung kann man 
natürlich die komplette Klangerzeugung etc. in Software erledigen und 
dann einen Audio-DAC ansteuern, das ist heutzutage der naheliegendste 
Ansatz.
Und der RP2040 hat definitiv mehr als genug Rechenleistung für den Job.

Wenn man sich mit dem Theme beschäftigen will, ist https://csound.com/ 
eine interessante Anlaufstelle.

von Motopick (motopick)


Lesenswert?

Maik S. schrieb:

> Ich finde es definitiv interessant in der Umsetzung, da ich dann den
> Synthesizer von Grund auf neu programmieren kann und eigene Funktionen
> einbauen kann.

Es wird auch mit einem fixeren ADSR nur ein sechsstimmig polyfon
spielbarer Synthie bleiben. Der dann wohl auch noch weitere
Kinderkrankheiten des Originals geerbt hat, und erstmal was die
Klangerzeugung angeht, an das Original gebunden ist.

Alles was auf so einer "Voice-Karte" an Moeglichkeiten steckt,
kann man heute mit einem DSP/FPGA/Controller in Software realisieren.
Dafuer sollte man dann aber etwas arithmetisch leistungsfaehigeres
als einen "Pico" benutzen. Ausserdem kann man jeder polyfon spielbaren
Stimme ihre eigene Hardware spendieren, wenn man keinen FPGA
benutzen will.

von Maik S. (magic94)


Lesenswert?

Harald K. schrieb:
> Der DAC, der hier gemeint ist, erzeugt nicht die Töne und auch nicht
> ihre Frequenzen, sondern nur Steuerspannungen, mit dem der Rest des
> Gerätes dann die Synthese in Hardware betreibt:

Danke :D

Harald K. schrieb:
> Bei der heute auch auf simplen µCs verfügbaren Rechenleistung kann man
> natürlich die komplette Klangerzeugung etc. in Software erledigen und
> dann einen Audio-DAC ansteuern, das ist heutzutage der naheliegendste
> Ansatz.
> Und der RP2040 hat definitiv mehr als genug Rechenleistung für den Job.

Sicherlich, aber das ist hier nicht mein Anliegen. Ich habe diesen 
Analogteil ebenfalls nachgebaut und setze ihn grade in kleinerer Form in 
SMD Bestückung um. Danach würde ich gerne mit dem RP2040 die 
Wiederholrate des DACs von ursprünglich 90,9Hz (11ms), auf... ein paar 
kHz oder sogar MHz steigern und schauen welche Klänge sich dann erzeugen 
lassen.

z.B. Viele Synthesizer aus der Zeit funktionierten nach diesem Prinzip. 
Nur hatten viele den Vorteil CEM oder SSM Chips nutzen zu können, welche 
die ADSR Kurven zuverlässiger und schneller zeichnen konnten. Im Falle 
des Tiracon 6V musste dies alles durch den Computer geschehen, da die 
CEM / SSM Chips im Osten nicht verfügbar waren. Und grade das macht den 
Analogteil jetzt so interessant. Er lässt sich frei steuern.

von Maik S. (magic94)


Lesenswert?

Motopick schrieb:
> Maik S. schrieb:
>
>> Ich finde es definitiv interessant in der Umsetzung, da ich dann den
>> Synthesizer von Grund auf neu programmieren kann und eigene Funktionen
>> einbauen kann.
>
> Es wird auch mit einem fixeren ADSR nur ein sechsstimmig polyfon
> spielbarer Synthie bleiben. Der dann wohl auch noch weitere
> Kinderkrankheiten des Originals geerbt hat, und erstmal was die
> Klangerzeugung angeht, an das Original gebunden ist.
>
> Alles was auf so einer "Voice-Karte" an Moeglichkeiten steckt,
> kann man heute mit einem DSP/FPGA/Controller in Software realisieren.
> Dafuer sollte man dann aber etwas arithmetisch leistungsfaehigeres
> als einen "Pico" benutzen. Ausserdem kann man jeder polyfon spielbaren
> Stimme ihre eigene Hardware spendieren, wenn man keinen FPGA
> benutzen will.

Ich will auch, dass es nur ein Sechsstimmig Polyphoner Synthesizer 
bleibt. Der Analogteil hat einen ganz eigenen Charme, welcher erhalten 
bleiben soll.
Nur bekommt der Z80 es einfach nicht hin eine ADSR Kurve vernünftig zu 
zeichnen... Und da möchte ich einfach nur Abhilfe schaffen und keinen 
weiteren digitalen Synthesizer machen.

von Motopick (motopick)


Lesenswert?

> nur ein Sechsstimmig Polyphoner Synthesizer bleibt

Gut das ein Klavier fuer jede Taste, seine Saiten und Haemmerchen hat.
Wuerde sonst irgendwie merkwuerdig klingen.

von Harald K. (kirnbichler)


Lesenswert?

Motopick schrieb:
> Gut das ein Klavier fuer jede Taste, seine Saiten und Haemmerchen hat.
> Wuerde sonst irgendwie merkwuerdig klingen.

Eine Geige hat gerade mal vier Saiten ... das kann es also nicht alleine 
sein.

von Motopick (motopick)


Lesenswert?

Harald K. schrieb:

> Eine Geige hat gerade mal vier Saiten ... das kann es also nicht alleine
> sein.

Auf einer Geige kann man auch kein Klavier spielen.
Aber auf einem Synthie zumindest etwas, was sich so aehnlich
wie eine Geige anhoert. Oder auch mehrere Geigen.
Mit sechs Stimmen reicht es fuer ein Orchester dann aber doch nicht.

von Harald K. (kirnbichler)


Lesenswert?

Motopick schrieb:
> Mit sechs Stimmen reicht es fuer ein Orchester dann aber doch nicht.

Der Threadstarter wird das wissen. Nicht jeder verwendet Synthesizer 
dafür, komplette Orchester nachzubilden.

Oder die Fischerchöre.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Gab es dazu nicht schon einmal einen thread, der sich um die Reparatur 
eines Tiracon drehte?

Motopick schrieb:
> Gut das ein Klavier fuer jede Taste, seine Saiten und Haemmerchen hat.
Der erste elektronische Synthesizer dieser Art, die GX-1 hatte auch 
individuelle Tasten und damit ein echtes Soundmodul für jeden Ton und 
dessen Obertöne. Man hat aber schnell gemerkt, dass es das nicht 
braucht, sondern nur eine intelligente Tonverwaltung, die die Polyphone 
herstellt, indem sie die Töne den physischen Oszillatoren zuweist. Der 
daraus entwickelte CS-80 hatte dann deren 8. Die reichen auch für eine 
Lead-Stimme und oft genug auch für beidhändiges Spiel, wenn man 2-fach 
Dominant-Septimen-Akkorde greift. Soweit ich weiß, konnte der CS-80 
schon split und hatte 2x8 Töne.

Norbert schrieb:
> Maik S. schrieb:
>> Leider konnte ich aber aufgrund seines 8-bit DACs nicht alle Töne
>> richtig treffen, daher mehr Auflösung.
>
> Der Satz bereitet mir einige Probleme.
> Die Frequenz von Tönen hängt ja nicht von der Auflösung der Amplitude
> ab.

Ich kenne den Tiracon nicht gut genug, aber ich vermute sehr, dass das 
VCOs sind und deren Tonfrequenzen hängen 1:1 von der Spannung ab! D.h. 
mit den 8-Bit ist man in der Tat limitiert, besonders, wenn das 
logarithmisch sein sollte. Mit 7 Bit kann man 128 MIDI-Halbtöne 
erzeugen, wenn es sich um eine gleichstufige Stimmung handelt. Mit 
reiner Stimmung gibt es dann Probleme
bei der Transponierung und der Feintrimmung.

Ich nehme an, dass das mit temperierter Stimmung und linear gemacht 
wurde. (?) Dann müsste das eigentlich gehen.

Problematisch ist dann nur das Portamento: Das wird meist so gelöst, 
dass hinter den DACs ein RC-Filter steckt, das schaltbar ist und die 
Noten verschleift, indem es den Spannungsumstieg zeitlich begrenzt. In 
einer Lösung eines DIY-Orgelbauers, die mir vorgestellt wurde, ist das 
genau so gemacht und dort wird in der Tat das 8. Bit dazu digital 
genutzt. In den analogen Orgeln ist das einfach ein Poti in einem 
R-C-Filter.

Ohne eine selektive Filterung gehen dann halt nur Glissandi.

Was man machen kann, ist den DAC zu oversampeln und mittels Filter eine 
genauere Spannung hinzubekommen. Als Richtwert kann man 2 Oktaven pro 
Bit ansetzen. Man würde also mit einer Überabtastung von Faktor 16, oder 
sagen wir gleich 20, aus den 8 Bit effektiv 10 machen. Das reicht dann 
für Vierteltonmusik mit Faktor 2 - führt auch direkt zu einem ziemlich 
glatten Portamento.

Für ein sauber gesteuertes Vibrato, mit man eine Gitarre emulieren kann, 
braucht es aber eine Auflösung von wenigstens Faktor 20-30 je Halbton. 
Da sehe ich dann mindestens 12-13 Bit mit Filter, oder 16 Bit 
ungedämpft, wie ich es mache. Ich benutze Noten mit 16 Bit und 
Phaseninkremente mit 24 Bit. Damit kommt man auch über einen echten 
Analogsynthesizer drüber und laboriert nicht mehr an 
Granularitätseffekten.

Was ich in meinem Synth auch mache: Der FPGA bildet mittels 100MHz-PDM 
und Doppel-T-Filter eine Analogspannung, die mit 200 Hz Grenzfrequenz 
als Bassignal rausgeht. Die hat für diesen Bereich Tonqualitiät und wäre 
auch als Steuerspannung für CV-Synthesizer tauglich. Wenn man es 
abspecken wollte, könnte man mit 10 Hz gehen und unter etwas Verlust von 
Auflösung gegenüber einem Ton mit 1MHz PDM arbeiten. Grenzfrequenz des 
Filters bei 20 Hz. Das sollte auch ein Prozessor packen.

Wenn du aber schon DACs hast, sollte man die benutzen.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Harald K. schrieb:
> Eine Geige hat gerade mal vier Saiten ... das kann es also nicht alleine
> sein.

... und in der Regel werden nur maximal 2 Töne damit gleichzeitig 
angestrichen. :-)

Allerdings ist das Obertonspektrum der Geige derart kompliziert, das man 
bis mindestens H5 oder H7 einzeln abbilden muss, weil die Phasen nicht 
passen und auch die Frequenzen bekanntermaßen nicht genau ganzahlige 
Vielfache der Grundwelle sind. Da die Töne sich gegenseitig 
beeinflussen, weil ein angestrichener Ton über die Aufhängung die 
Nachbarn anregt und diese Energie aufnehmen, die sie später wieder 
abgegeben, braucht es nicht nur immer alle Saiten, sondern auch noch 2 
weitere Partialresonatoren, die die Ankopplung an den Steg emulieren.

Eine 6-Saiten-Geige, wie sie in modernem Kontext gespielt wird, bekommt 
damit (2+6)*(H1,H3,H5,H7 = 4) in Summe 32 Oszillatoren.

Und da hat man nur die Saiten! Benötigt wird aber die Holzresonanz und 
da sind auch noch einige Oszis unterzubringen, weil man 
Partialschwingungen und den Energieaustausch der einzelnen Komponenten 
eines Holzgehäuses abbilden.

Wenn man eine Geige in den meisten ihren Einzelheiten abbilden will, 
sind locker 64 Stimmen anzusetzen. Und dann gibt es immer noch keine 
Richtungsabstrahlung, Griffwirkung oder Halsresonanzen. Hals hat 8 
Resonatoren und Koppler, Griffwirkung geht mit 5 Fingern, der REst fürs 
Holz. Sagen wir einen kompletten 128 Satz an Oszillatoren und 
Resonatoren für eine Geige.

Eine solche Rechnung habe ich einem Kunden aufgemacht, der anfragte, 
wieviele Geigen(-formeln) er in einen kleinen FPGA bekommen kann. Meine 
Einschätzung ist: Ein Streichquartett.

: Bearbeitet durch User
von Motopick (motopick)


Lesenswert?

Jürgen S. schrieb:

> ... sondern nur eine intelligente Tonverwaltung, die die Polyphone
> herstellt, indem sie die Töne den physischen Oszillatoren zuweist.

Das man an dieser "Zuweisung" durch verschiedene waehlbare Algorithmen
noch drehen kann, belegt nur, dass es eine "Mangelverwaltung" ist.
Sonst brauchte man diese Einstellbarkeit gar nicht.

> konnte der CS-80 schon split und hatte 2x8 Töne.

Was ja auch eine ganz andere Hausnummer als sechs Stimmen ist.
Aber trotzdem noch knapp bemessen.
Gluecklicherweise ist das VST-Plugin da nicht so sparsam.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Motopick schrieb:
> dass es eine "Mangelverwaltung" ist.

Man darf den Kostenaspekt nicht vergessen: Jede ungenutzte Stimme 
kostet. Auch heute sind Synthesizer so gebaut, dass die Noten von den 
Stimmen getrennt sind und nur das gespielt wird, was benötigt ist.

Das tut im Übrigen auch die von dir angeführte VST-Reinstopfsoftware:

Motopick schrieb:
> Gluecklicherweise ist das VST-Plugin da nicht so sparsam.
Du würdest dich wundern, was in VST-plugins an Vereinfachungen drin ist, 
um sie überhaupt zu befähigen, analoge HW nachzubilden. Das was da 
abgeht, hat mit der Berechnung echter analoger HW nichts zu tun und 
verdient wirklich den Begriff "Mängelverwaltung".

Die CPU Leistung reicht mitnichten auch nur annähernd für das , was 
anfiele, würde man wirklich Elektronik durchrechnen. Man muss sich nur 
mal ansehen, wie lange eine Spice-Simulation mit einigen wenigen 
Elementen braucht, um einige Millisekunden durchzurechnen und deren 
Ergebnisse sind nur grob und basieren ebenfalls auf stark 
simplifizierten Modellen.

Ein VST kann das nicht besser. Die Musiker erkennen das nur nicht, weil 
sie den runtergetripten Code nicht sehen und verstehen :-)

Ich hatte hierzu ja mal eine Abhandlung angesetzt, was einen erwartet, 
wenn man das richtig und "naturnah" machen möchte:
Modellierung analoger Schaltungen

Als ein konkretes Beispiel nenne ich mal den Moog-Filter:
http://www.96khz.org/htm/ladderfiltermodul.htm

Der belegt bei Vollausbau mit den mäßig vereinfachten Formeln schon 
einen halben FPGA und der hat ein Mehrfaches an Rechenleistung gegenüber 
einem PC. Es ist daher nach wie vor billiger, einen Moog-Filter für 
einige wenige Effektkanäle in Analogtechnik zu bauen. Und genau das 
machen auch Hersteller, DOVE z.B.

von Norbert (der_norbert)


Lesenswert?

Jürgen S. schrieb:
> Ich kenne den Tiracon nicht gut genug, aber ich vermute sehr, dass das
> VCOs sind und deren Tonfrequenzen hängen 1:1 von der Spannung ab! D.h.
> mit den 8-Bit ist man in der Tat limitiert, besonders, wenn das
> logarithmisch sein sollte. Mit 7 Bit kann man 128 MIDI-Halbtöne
> erzeugen, wenn es sich um eine gleichstufige Stimmung handelt. Mit
> reiner Stimmung gibt es dann Probleme
> bei der Transponierung und der Feintrimmung.

Ja, da hast du natürlich Recht. Habe ich wohl den Originaltext etwas zu 
›selektiv‹ gelesen. Aber beim zweiten mal kam dann die Erleuchtung. ;-)

Da aber das anzuschließende Gerät ja sowieso die generierte Spannung per 
S&H entgegen nimmt, könnte man vielleicht (VIELLEICHT!) per schnellem 
PWM und guten Filterketten etwas erzeugen. Auf dem hier angesprochenen 
PiPico wären das dann 16 steuerbare Kanäle.
Bei CPU 160MHz und gewünschter 12bit Auflösung wäre das dann mit 
PWM-Frequenz ~39kHz möglich.
Nur so'n Gedanke…

von Maik S. (magic94)


Lesenswert?

Jürgen S. schrieb:
> Gab es dazu nicht schon einmal einen thread, der sich um die Reparatur
> eines Tiracon drehte?

Ja, gab es. Der war auch von mir. Damals hatte ich noch Probleme den 
Analogteil zu reparieren, bis ich mich für den Neubau entschied. Heute 
arbeiten (in DE zumindest) bereits 4 Tiracons mit dem nachgebauten 
Analogteil, da nicht nur ich dieses Problem hatte.

Alles sehr interessant zu lesen. Stimme dir auch bei allem zu.
Einen RC-Filter hinter dem DAC ist nicht vorgesehen, somit ist aber auch 
kein HW-Portamento möglich. Sowas wäre dann etwas, was man in Software 
lösen könnte. Daher wollte ich ja auch im Endeffekt hier "Probleme mit 
Leistung erschlagen", indem ich einen 20Bit DAC zur Steuerung nutze. 
Damit kann man ganz feine Verstimmungen, Übergänge, Kurven etc. 
zeichnen.


Norbert schrieb:
> Da aber das anzuschließende Gerät ja sowieso die generierte Spannung per
> S&H entgegen nimmt, könnte man vielleicht (VIELLEICHT!) per schnellem
> PWM und guten Filterketten etwas erzeugen. Auf dem hier angesprochenen
> PiPico wären das dann 16 steuerbare Kanäle.
> Bei CPU 160MHz und gewünschter 12bit Auflösung wäre das dann mit
> PWM-Frequenz ~39kHz möglich.
> Nur so'n Gedanke…

So ein Kunstwerk wäre sicherlich möglich, bei dem Gedanke das alles 
ausprobieren / kalibrieren zu müssen um dann nachher festzustellen, dass 
ich doch nicht den kompletten Bereich aller Töne treffe, wird mir etwas 
flau im Magen.

Hat denn jemand Rat, ob mein Schaltplan in Beitrag 1 funktionieren 
könnte, oder ob ich damit den DAC zerschieße?

von Klaus R. (klausro)


Lesenswert?

Mir ist nicht ganz klar, welches Problem du mit dem teuren Pärchen 
MAX6126+MAX5719 lösen möchtest. Dass ein 8-Bit DAC oder ein 12-Bit DAC 
evtl. nicht ausreicht, um das Tuning (wohl eine Form einer gleichmäßig 
temperierten) exakt zu bekommen. Aber das Driften des VCOs bekommst du 
so auch nicht los. Ein DCO ist ja oft nur ein VCO, dessen Frequenz 
digital überwacht wird, und (ungewollte) Abweichungen werden durch 
Nachregeln der Steuerspannung ausgeglichen.

Und was soll der TL072 danach? Du hast doch keine hochohmige Quelle. Da 
wäre wohl ein OP37 besser (wenn du schon einen MAX5719 nimmst...)

: Bearbeitet durch User
von Norbert (der_norbert)


Lesenswert?

Maik S. schrieb:
> indem ich einen 20Bit DAC zur Steuerung nutze.

Hmmm. 2^20 ->  ~1.000.000 Abstufungen. Bei einem 5V DAC also 5µV.
Halte ich persönlich für ambitioniert. Aber ich habe mit solch einer 
hohen Auflösung noch nicht gearbeitet, vielleicht geht's ja prima.
Gutes Gelingen wünsche ich auf jeden Fall. Ein schönes Projekt.

von Maik S. (magic94)


Lesenswert?

Klaus R. schrieb:
> Mir ist nicht ganz klar, welches Problem du mit dem teuren Pärchen
> MAX6126+MAX5719 lösen möchtest. Dass ein 8-Bit DAC oder ein 12-Bit DAC
> evtl. nicht ausreicht, um das Tuning (wohl eine Form einer gleichmäßig
> temperierten) exakt zu bekommen. Aber das Driften des VCOs bekommst du
> so auch nicht los. Ein DCO ist ja oft nur ein VCO, dessen Frequenz
> digital überwacht wird, und (ungewollte) Abweichungen werden durch
> Nachregeln der Steuerspannung ausgeglichen.

Ich möchte damit folgende Dinge ermöglichen:
1. Auto-Tune. Dabei spielt der Computer einmal alle Karten durch und 
misst an verschiedenen stellen die Frequenz und regelt nach. Somit ist 
es ein digital überwachter VCO, nur eben nicht permanent sondern auf 
Knopfdruck.
2. Fein einstellbares Detune.
3. Sehr feine / steile ADSR Kurven.

> Und was soll der TL072 danach? Du hast doch keine hochohmige Quelle. Da
> wäre wohl ein OP37 besser (wenn du schon einen MAX5719 nimmst...)

Das ist ein brauchbarer Hinweis. Ich habe den einfach vom alten Computer 
übernommen. Dort hing ein AD565 am Z80, dahinter ein TL081. Dachte das 
würde nicht viel ausmachen. Was die Wahl der OpAmps angeht bin ich nicht 
sehr bewandert.
Nach den OpAmps hinter dem DAC, also auf dem Analogteil, kommt dann der 
"D/A matching amplifier & reference voltage comparator".
Den "reference voltage comparator" wollte ich außer Kraft setzen. Hinter 
Y0/Z0 und Y3/Z3 befindet sich jeweils ein Analogschalter 4066. Hier kann 
man ja Y0/Z0 verbinden und Y3/Z3 trennen. Somit verliert der Joystick 
des Synthesizers zwar seine Wirkung (von N206D kommend), aber das wieder 
zu aktivieren kommt später...
Gut, da ist NOCHMAL ein "matching amplifier", aber auch ein TL074.
Lohnt es sich also einen OP37 davor zu schalten? Theoretisch könnte ich 
mir also meinen zweiten OpAmp auf der Computerplatine sparen. Dazu 
bemerke ich jetzt selber grade wieder die Diode V231. Somit  kann das 
Signal "ALIN", was danach direkt auf die 4051 Demuxer geht eh nur 
positiv sein.
Geht viel durch den TL072 auf dem Computer verloren / stört es, dass die 
Quelle nicht hochohmig ist? Im Datenblatt steht nichts weiter zu dem zu 
verwendenden Operationsverstärker. Sonst befinden sich dort gerne 
Empfehlungen.

von Maik S. (magic94)


Lesenswert?

Norbert schrieb:
> Maik S. schrieb:
>> indem ich einen 20Bit DAC zur Steuerung nutze.
>
> Hmmm. 2^20 ->  ~1.000.000 Abstufungen. Bei einem 5V DAC also 5µV.
> Halte ich persönlich für ambitioniert. Aber ich habe mit solch einer
> hohen Auflösung noch nicht gearbeitet, vielleicht geht's ja prima.
> Gutes Gelingen wünsche ich auf jeden Fall. Ein schönes Projekt.

Zitat Service Manual Tiracon 6V:

"Analog LP
Die Analog-Steuersignale durchlaufen als multiplexierte Signalfolge den 
D/A-Anpaßverstärker bestehend aus D207 [der zuvor erwähnte 4066] und 
N208, der die Auflösung der D/A-Wandlung von 12 auf 15 Bit vergrößert."

Damit meinen die eben dieses umschalten der Referenzspannung um den 
Wertebereich zu verschieben, was ich mir ebenfalls gerne sparen würde.
Somit war aber der Schritt von 15 auf 16 Bit nicht weit und eben diese 
15 Bit reichen zwar aus um vieles zu realisierend, aber wie wir alle aus 
der Schule noch wissen ist ausreichend nicht grade gut.
Daher, ja, vielleicht schieße ich hier mit Kanonen auf Spatzen, aber ich 
würds gerne testen :D

von Maik S. (magic94)


Angehängte Dateien:

Lesenswert?

Eben vergessen den Schaltplan anzuhängen...

von Bauform B. (bauformb)


Lesenswert?

Maik S. schrieb:
> Hat denn jemand Rat, ob mein Schaltplan in Beitrag 1 funktionieren
> könnte, oder ob ich damit den DAC zerschieße?

Das Datenblatt sagt ganz klar "mach das nicht":
1
RFB to AGND, DGND...-6V to +6V

du könntest ±5V aus ±15V erzeugen, aber

Klaus R. schrieb:
> Und was soll der TL072 danach? Du hast doch keine hochohmige Quelle. Da
> wäre wohl ein OP37 besser (wenn du schon einen MAX5719 nimmst...)

Natürlich würde man für bipolar gerne die Widerstände im DAC nutzen, 
aber hier ist es wohl einfacher, aus den 0...4V vom DAC mit nur einem 
OP ±10V zu machen.

von Maik S. (magic94)


Lesenswert?

Bauform B. schrieb:
> Maik S. schrieb:
>> Hat denn jemand Rat, ob mein Schaltplan in Beitrag 1 funktionieren
>> könnte, oder ob ich damit den DAC zerschieße?
>
> Das Datenblatt sagt ganz klar "mach das nicht":
>
1
RFB to AGND, DGND...-6V to +6V

Dennoch sollten doch hinter dem OpAmp, trotz seiner hohen 
Versorgungsspannung, nur die Spannungen des DACs auftauchen, also -2V 
bis +2V? Aber...

> du könntest ±5V aus ±15V erzeugen, aber
>
> Klaus R. schrieb:
>> Und was soll der TL072 danach? Du hast doch keine hochohmige Quelle. Da
>> wäre wohl ein OP37 besser (wenn du schon einen MAX5719 nimmst...)
>
> Natürlich würde man für bipolar gerne die Widerstände im DAC nutzen,
> aber hier ist es wohl einfacher, aus den 0...4V vom DAC mit nur _einem_
> OP ±10V zu machen.

eventuell wäre dieser Ansatz hier wirklich einfacher. Den DAC in 
Unipolar betreiben, RFB und INV frei lassen und mit einem OpAmp Offset 
und Verstärkung einstellen wie benötigt.
Dann könnte ich mir auch den MAX6126 wieder sparen und irgendetwas 
einfacheres für die 4,096V Referenzspannung einsetzen.

: Bearbeitet durch User
von Bauform B. (bauformb)


Lesenswert?

Maik S. schrieb:
> Dennoch sollten doch hinter dem OpAmp, trotz seiner hohen
> Versorgungsspannung, nur die Spannungen des DACs auftauchen

na klar, normalerweise im normalen Betrieb. Aber wer weiß, was der OP 
beim Ein- und Ausschalten macht. Gerade FET-OPs manchen manchmal 
seltsame Sachen, wenn die Versorgung zu klein und unsymmetrisch wird. 
Die drei Spannungen werden ja nicht plötzlich und gleichzeitig 0 Volt. 
Manchmal macht ein Tastkopf einen Kurzschluss...

Maik S. schrieb:
> eventuell wäre dieser Ansatz hier wirklich einfacher. Den DAC in
> Unipolar betreiben, RFB und INV frei lassen und mit einem OpAmp Offset
> und Verstärkung einstellen wie benötigt.

Ich wollte eigentlich "sicherer" schreiben. Wirklich schön einfach finde 
ich die Offset-Einstellung nicht, das Poti sollte wohl an die 
Referenzspannung angeschlossen werden.

> Dann könnte ich mir auch den MAX6126 wieder sparen und irgendetwas
> einfacheres für die 4,096V Referenzspannung einsetzen.

Ja, "initial accuracy" ist hier mal nicht so wichtig und welche 
Widerstände können bei 3ppm max. noch mithalten? Und dann die 
Offset-Drift des OP -- Von der Software bis zum Ausgang des OP ist die 
Mimik ja sehr schnell, und gemultiplext sowieso. Evt. könnte man einen 
Demux-Kanal mehr spendieren und den Offset-Abgleich ohne Poti per 
Software machen?

von Rbx (rcx)


Lesenswert?

Maik S. schrieb:
> Daher wollte ich ja auch im Endeffekt hier "Probleme mit
> Leistung erschlagen", indem ich einen 20Bit DAC zur Steuerung nutze.
> Damit kann man ganz feine Verstimmungen, Übergänge, Kurven etc.
> zeichnen.

Man könnte auch einfach die Analogsteuerung ausbauen (wäre dann 
stufenlos), eventuell ein wenig Zusatz dazu (Filter (für Bandfilter)), 
Filter-Input, LFO, die Kontrolle der Stimmstabilität aufs nötigste 
beschränken, und die CPU für Samples, Samplekits, oder auch für FM oder 
auch für MIDI-Files nutzen.
Das hat durchaus Mehrwert und kostet nicht unbedingt viel.

Dann wäre da noch

Maik S. schrieb:
> ich kann leider kein Z80 asm,

Du hast gerade eine richtig gute Gelegenheit, dich schnell und easy 
einzuarbeiten, kostet nicht viel, kann sehr viel Spaß machen.

von Maik S. (magic94)


Lesenswert?

Bauform B. schrieb:
> na klar, normalerweise im normalen Betrieb. Aber wer weiß, was der OP
> beim Ein- und Ausschalten macht. Gerade FET-OPs manchen manchmal
> seltsame Sachen, wenn die Versorgung zu klein und unsymmetrisch wird.
> Die drei Spannungen werden ja nicht plötzlich und gleichzeitig 0 Volt.
> Manchmal macht ein Tastkopf einen Kurzschluss...

Das habe ich mir auch schon gedacht. Dann lasse ich das lieber.

> Ich wollte eigentlich "sicherer" schreiben. Wirklich schön einfach finde
> ich die Offset-Einstellung nicht, das Poti sollte wohl an die
> Referenzspannung angeschlossen werden.
>
>> Dann könnte ich mir auch den MAX6126 wieder sparen und irgendetwas
>> einfacheres für die 4,096V Referenzspannung einsetzen.
>
> Ja, "initial accuracy" ist hier mal nicht so wichtig und welche
> Widerstände können bei 3ppm max. noch mithalten? Und dann die
> Offset-Drift des OP -- Von der Software bis zum Ausgang des OP ist die
> Mimik ja sehr schnell, und gemultiplext sowieso. Evt. könnte man einen
> Demux-Kanal mehr spendieren und den Offset-Abgleich ohne Poti per
> Software machen?

Du verstehst mich. "initial accuracy" ist wirklich nicht wichtig, das 
regelt er nachher mit sich selbst. Es sind auch noch 4 Demux Kanäle 
frei, aber das ist alles dann Zukunftsmusik. Erst einmal die 
Grundfunktionen aufbauen, Signal aus dem Gerät bekommen und dann 
weiterschauen wie man optimiert.

Rbx schrieb:
> Du hast gerade eine richtig gute Gelegenheit, dich schnell und easy
> einzuarbeiten, kostet nicht viel, kann sehr viel Spaß machen.

Ich habe die EPROMs einmal wieder zu ASM Code gewandelt und Leuten mit 
Z80 Erfahrung gezeigt. Alle sagten: Vieles ist recht einfach, aber es 
ist sehr viel. MIDI wurde schon schwieriger, da das komisch umgesetzt 
sein soll und Auto-Tune war Anwendung von Magie.
Daher - Z80 ASM lernen muss nicht unbedingt sein.

: Bearbeitet durch User
von Andreas M. (amesser)


Lesenswert?

Ist schon lustig, da fragt jemand wie man am besten per 5V DAC eine 
Steuerspannung von -15 bis +15V erzeugt und bekommt als Antwort, dass er 
alles lassen soll und man Synthesizer heute ja eh nur noch in Software 
macht.

Harald K. schrieb:
> Und der RP2040 hat definitiv mehr als genug Rechenleistung für den Job.

Nein hat er nicht. Die M0+ kann nicht mal Division in Hardware. 
Vielleicht reicht der für eine Stimme, aber sicher nicht für Polyphones, 
schon gar nicht mit Filter und Effekten hinten dran.

Ich hab hier nen "Buzzzy!", der hat theoretisch 16 Stimmen auf einer M4 
mit ~170Mhz und FPU. Wenn Du da den Filter zuschaltest sinds gleich 
einige Stimmen weniger. Und das obwohl da die M4 mit Vektorinstruktionen 
gleich ein paar Stimmen bzw. Samples parallel berechnet.

Zum Thema: Ich denke die 20 Bit sind übertrieben, das brauchst Du nicht. 
Ich habe mir vor einiger Zeit ein Midi->CV Modul für den Eurorack 
gebaut. Da werkeln 12 Bit DACs drinnen. Das ganze wird per Trimmer 
abgeglichen, ich habe einen Ausgabebereich von (-3V -> +7V) gewählt. 
Damit komme ich auf 32 Schritte / Halbnote, ich könnte also in Software 
nochmal in 3 Cent Schritten abstimmen, ist aber eigentlich nicht 
notwendig. Das ist Auch genug Auflösung für den Pitch-Bend.

Der Trick bei der Erzeugung von bipolaren Signalen aus Unipolaren DACs 
ist es, den Operationsverstärker in invertierender Schaltung zu 
betreiben. Als DAC benutze ich einen MCP48CVB22-E/MG. Der hat den 
Vorteil, das er auch einen integriertes Latch hat, man kann also alle 
DACs zunächst beschreiben und dann per Signal die Werteübernahme 
auslösen. Der hat als Bandbreite, je nach Beschaltung 35-60kHz.

Meine Schaltung hier:

https://gitlab.com/amesser-group/modular-synth/modular-cvc/-/blob/master/doc/images/modular-synth-cvc_schematic_r2.svg

von Norbert (der_norbert)


Lesenswert?

Andreas M. schrieb:
> Die M0+ kann nicht mal Division in Hardware.

Mein rp2040 kann's. Je einmal pro core. In acht Takten.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Norbert schrieb:
> Bei CPU 160MHz und gewünschter 12bit Auflösung wäre das dann mit
> PWM-Frequenz ~39kHz möglich.
Ja so ungefähr- ich dachte ja auch direkt darüber nach, einen FPGA zu 
nehmen und damit CV zu machen. In meinem MIDI-MIXER wird es das geben, 
wenn er released ist.

Maik S. schrieb:
> Einen RC-Filter hinter dem DAC ist nicht vorgesehen, somit ist aber auch
> kein HW-Portamento möglich. Sowas wäre dann etwas, was man in Software
> lösen könnte.
Wir müssen zwei Dinge unterscheiden:

1) Das von mir angeführte Orgelportamento mit großem tau, also Elko+RC, 
damit die Steuerspannungen wirklich langsam im Bereich von Sekunden 
kriechen

2) Ein RC mit geringem tau und einer GF im Bereich von Kiloherz, der nur 
dazu da ist, die Auflösung des DACs zu erhöhen. Wie gesagt würde man 
einen 8 Bitter schnell mit oversampling zu einem 10-12 Bitter machen 
können, wenn er schnell genug ist. Mit nur einem Bit aus dem FPGA oder 
einem Port-Pin aus dem UC braucht es dann eine erheblich höhere 
Frequenz.

Da sollte man schon den DAC nehmen, wenn er verfügbar ist. Und mit 12 
Bit ginge dann auch das geforderte Feintuning.

Maik S. schrieb:
> Auto-Tune. Dabei spielt der Computer einmal alle Karten durch und
> misst an verschiedenen stellen die Frequenz und regelt nach. Somit ist
> es ein digital überwachter VCO, nur eben nicht permanent sondern auf
> Knopfdruck.
Genau das machen die analogen Synthies heute so. Man filtert das Signal 
zurück und schiebt sowohl die Frequenz, als auch den offset hin. Damit 
sind die CV-Ausgänge stabil und können belastet werden - halten aber 
ihre Frequenz.

von Andreas M. (amesser)


Lesenswert?

Norbert schrieb:
> Andreas M. schrieb:
>> Die M0+ kann nicht mal Division in Hardware.
>
> Mein rp2040 kann's. Je einmal pro core. In acht Takten.

Ich sprach vom M0+ Core und nicht von der Extra-Peripherie die der 
RP2040 hat. Im übrigen sind es aus Sicht der CPU keine 8 sondern 
mindestens 11 Takte: 2*Store der Operatoren aus den Registern in die 
Divider-Hardware, 8 Takte warten und 1(2) Takte zurücklesen des 
Ergebnisses ins Register. Der M4 braucht für UDIV/SDIV je nach 
Zahlenwerten 2-12 Takte.

von Norbert (der_norbert)


Lesenswert?

Andreas M. schrieb:
> Ich sprach vom M0+ Core und nicht von der Extra-Peripherie die der
> RP2040 hat.

Da mag ja sein und rein theoretisch hast du Recht, jedoch…

Andreas M. schrieb:
> Harald K. schrieb:
>> Und der RP2040 hat definitiv mehr als genug Rechenleistung für den Job.
>
> Nein hat er nicht. Die M0+ kann nicht mal Division in Hardware.

Der Bezug war klar erkennbar der RP2040.

von Maik S. (magic94)



Lesenswert?

Ich habe jetzt den Schaltplan auf Unipolar umgebaut. U2A ist die direkte 
Verstärkung auf einen Pegel von 0 - 4,75V wie im Service Manual 
beschrieben steht.
Das ganze habe ich zum Test noch in LTspice simuliert um auch den 
nächsten Schritt im Analogteil nachvollziehen zu können welcher auch 
nach Datenblatt richtig funktioniert. (Simulationsscreenshot noch nicht 
richtig konfiguriert)

Dazu habe ich für meinen ersten Verstärker U2A einen etwas unüblichen 
Offset-Abgleich eingebracht, welcher keine Spannung auf den Ausgang des 
DACs gibt.

Das sollte jetzt funktionieren.

: Bearbeitet durch User
von Roland D. (roland_d284)


Lesenswert?

Andreas M. schrieb:

> Zum Thema: Ich denke die 20 Bit sind übertrieben, das brauchst Du nicht.
> Ich habe mir vor einiger Zeit ein Midi->CV Modul für den Eurorack
> gebaut. Da werkeln 12 Bit DACs drinnen. Das ganze wird per Trimmer
> abgeglichen, ich habe einen Ausgabebereich von (-3V -> +7V) gewählt.
> Damit komme ich auf 32 Schritte / Halbnote, ich könnte also in Software
> nochmal in 3 Cent Schritten abstimmen, ist aber eigentlich nicht
> notwendig. Das ist Auch genug Auflösung für den Pitch-Bend.

Mal interessehalber, wie funktioniert - stark vereinfacht - so ein 
spannungsgesteuerter Oszillator? Ich meine ein solcher, bei dem man mit 
einer Spannung die Tonhöhe linear einstellt (also die Frequenz 
logarithmisch), also z.B. dass je 10mV einen Halbtonschritt ausmachen?

Logarithmus geht irgendwie mit Dioden, aber die haben Serienstreuung und 
Temperaturabhängigkeit.

Zwar könnte man jegliche Nichtlinearität in der Microcontroller per 
Tabelle totschlagen, aber das Ganze muss ja auch reproduzierbar und 
Temperaturstabil sein. Und wenn die Nichtlinearität zu groß ist, kann es 
sein, dass man z.B. hohe Töne schlecht auflösen kann, tiefe hingegen 
viel besser als nötig.

Also zumindest mit 'nem NE555 und den CV-Pin verziehen wird das wohl 
nichts...

Gruß, Roland

von Mi N. (msx)


Lesenswert?

Roland D. schrieb:
> Logarithmus geht irgendwie mit Dioden, aber die haben Serienstreuung und
> Temperaturabhängigkeit.

Mit Hilfe der Basis-Emitter-Diode eines Transistors, der als Stromquelle 
für einen Oszillator dient. Die Temperaturabhängigkeit wird per NTC oder 
kompensiert und absolute Streuungen kann man mit einem DC-Offset 
korrigieren.

Suche mal nach Schaltplänen für VCO und VCF für den mini-Moog.
Dies hier ist wohl eine neuere Version: 
https://synthfool.com/docs/Moog/minimoog/Minimoog_Service_Manual.pdf

von Mi N. (msx)


Lesenswert?

Ich habe noch einen übersichtlicheren Plan gefunden:
http://yusynth.net/Modular/Commun/VCO/new/VCO-V2.gif

U4 ist die lin/log-Stromquelle mit kompensierter Basisspannung.
C8 und Q1 und Komparator U5 dienen zur Erzeugung eines Sägezahns, der 
mit U7b zu einem Dreieck- und abschließend noch mit D5/D6 zu einer 
Sinusspanung geformt wird.

Messtechnisch wird man sicherlich Nichtlinearitäten nachweisen können, 
aber zum Musikmachen reicht die Schaltung völlig aus. Eine perfekte 
Tonerzeugung wäre eher so langweilig wie die vermeintlichen 
Schönheitsideale dieser Zeit ;-)

von Andreas M. (amesser)


Lesenswert?

Roland D. schrieb:
> Mal interessehalber, wie funktioniert - stark vereinfacht - so ein
> spannungsgesteuerter Oszillator? Ich meine ein solcher, bei dem man mit
> einer Spannung die Tonhöhe linear einstellt (also die Frequenz
> logarithmisch), also z.B. dass je 10mV einen Halbtonschritt ausmachen?

Das Prinzip ist bei analogen Synths eingentlich immer ähnlich:

Typischerweise geht die Steuerspannung in einen Exponentierer der daraus 
einen Strom macht. Mit diesem Strom wird dann ein Kondensator geladen 
und welcher dann per Schmitttrigger beim erreichen der Schaltschwelle 
entladen wird. Man bekommt somit einen Sägezahn dessen Tonhöhe (Oktave) 
linear mit der Steuerspannung geht. Nehmen wir mal an die Steuerspannung 
ist mit 1V/Oktave definiert (ist z.B. bei Eurorack so), dann verdoppelt 
sich der Ladeestrom und damit die Frequenz pro 1V.

Die große Kunst an der Sache ist der Exponentierer: 
Temperaturstabilisierung und Arbeitspunkt der Transistoren (die 
Exponentielle Abhängigkeit Ube -> Ic gilt nur für einen kleinen Bereich) 
so hinzubekommen das das ganze stabil über viele Oktaven funktioniert: 
Nehmen wir 8 Oktaven, mit einer Genauigkeit von 5 Cents über alle Töne 
5/1200/2**8 heißt Exponentierfehler beim niedrigsten Ton darf max 16ppm 
des Absolutwert des höchsten Tons sein. Da spielt dann auch die Wahl des 
Kondensators eine Rolle.

Falls Du des Englischen mächtig bist:
https://northcoastsynthesis.com/news/exponential-converters-and-how-they-work/

Und hier eine ausführliche Arbeit zum Thema Temperaturkompensation:
http://www.openmusiclabs.com/files/expotemp.pdf

Hier was Deutsches, kann jetzt nix zur Qualität sagen:
https://www.subroutine.info/6/exponentialkonverter-1/

von Roland D. (roland_d284)


Lesenswert?

Moin,

Mi N. schrieb:
> Ich habe noch einen übersichtlicheren Plan gefunden:
> http://yusynth.net/Modular/Commun/VCO/new/VCO-V2.gif
>
> U4 ist die lin/log-Stromquelle mit kompensierter Basisspannung.
> C8 und Q1 und Komparator U5 dienen zur Erzeugung eines Sägezahns, der
> mit U7b zu einem Dreieck- und abschließend noch mit D5/D6 zu einer
> Sinusspanung geformt wird.

Cool, danke. Sehr interessant. Auch wenn ich nicht alles verstehe. Wieso 
fließt da Strom über die Basis von Q1?

> Messtechnisch wird man sicherlich Nichtlinearitäten nachweisen können,
> aber zum Musikmachen reicht die Schaltung völlig aus. Eine perfekte
> Tonerzeugung wäre eher so langweilig wie die vermeintlichen
> Schönheitsideale dieser Zeit ;-)

Ich glaube richtig hochwertige Konzertflügel werden von richtig guten 
Klavierstimmern auch absichtlich verstimmt um das Problem auszugleichen, 
dass Menschen bei hohen und tiefen Tönen ein von der reinen Musiktheorie 
abweichendes Tonhöhenempfinden haben. Sprich: falsch stimmen damit es 
sich richtig anhört.

Gruß, Roland

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Roland D. schrieb:
> Ich glaube richtig hochwertige Konzertflügel werden von richtig guten
> Klavierstimmern auch absichtlich verstimmt um das Problem auszugleichen,
> dass Menschen bei hohen und tiefen Tönen ein von der reinen Musiktheorie
> abweichendes Tonhöhenempfinden haben.

Ich würde es nicht "falsch stimmen" nennen, sondern Kompromissbildung. 
Die Sache ist wie gesagt die, dass die Obertöne nicht zum Grundton 
passen und daher im Diskanten etwas ausgeglichen werden müssen. Das ist 
ein Punkt.

Ein anderer Punkt ist, dass schon der Grundton nicht streng mathematisch 
eingestellt wird, sondern eben gegenüber der eigentlichen ->Temperatur 
gespreizt. Siehe -> Klavierspreizung. Da braucht es also nochmals einen 
Kompromiss, weil sich die Spreizung auch in den Bässen abspielt.

Diese beiden Punkte sind rein mathematisch 2 völlig verschiedene Dinge, 
hängen natürlich physikalisch zusammen und müssen auch zusammen 
behandelt werden. Hier hinein spielt natürlich auch noch die Intonation, 
z.B. die Bearbeitung der Befilzung des Hammers. Wenn Obertöne weniger 
hart angeschlagen werden, können diese auch anders eingestellt werden.

Das hat mir der geschätzte Herr Kochsiek mal demonstriert. Man glaubt 
nicht, wie sehr sich der Klang beeinflussen lässt, wenn man eine Saite 
nur minimal bearbeitet. Gefühlt hat sich die Grundwelle um 1 Promille 
verschoben, messtechnisch in der DAW auch nicht zu sehen, aber die 
Schwebungen in den Obertönen im Akkord waren total anders. Das wiederum 
konnte man an der FFT allerdings sehr wohl sehen!

Ganz lustig wird dies, wenn man keine gleichförmige Temperatur, sondern 
eine reine Stimmung benutzt. Ist mir bei Flügelaufnahmen selten 
untergekommen, ist aber bei Cembali zu finden. Die sind klanglich auch 
etwas weniger kompliziert und lassen sich leichter stimmen.

Hier, beim Synth-CV ist das wiederum einfacher, weil nur eine Spannung 
erzeugt wird und zwar die für den Grundton. Welche Oberwellen sich 
daraus ergeben, ist eine Frage der nachfolgenden Filter. Wenn das hart 
gekoppelte Verzerrer sind, dann sind dessen Oberwellen auch starr an die 
Grundwelle gekoppelt. Das gleiche gilt für EQs sowie das Abspielen von 
Samples in Romplern. Das ist dann das bekannt "sterile". Umgehen lässt 
es sich wie gesagt, mit unterschiedlichen Tongeneratoren die leicht 
verstimmt sind.

Beim analogen Synthesizer bekommt man das mit einem einstellbaren, 
CV-geführten Filter hin, welches für jede Stimme ein ähnliches relatives 
Spektrum liefert, das aber begrenzt ist. Eine weitere Stimme spielt 
denselben Ton 1-2 Oktaven höher mit ähnlichem Verhalten, aber eben etwas 
höher, also z.B. Faktor 2,01 und 4,03. Damit schweben die Obertöne 
gegenüber ihren "Schwestern", die durch Verzerrung des Grundtons 
entstehen.

Ich habe das erstmalig genutzt, als ich auf den Teiler 196/185 gekommen 
bin, als Abstand zwischen zwei Halbtönen. Zieht man das stringent durch 
bekommt man ziemlich genau einen Faktor 2 je Oktave, aber eben nicht 
genau. Und dieses kleine "ungenaue" macht es dann.

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.