Hallo,
gleich vorweg geschickt die Ankündigung, dass ich nicht allzuviel Ahnung
im Bereich CPLD- Programmierung habe. Vielleicht kann mir ja bei meinem
Vorhaben dennoch jemand helfen oder mir die Idee des Vorgehen
vermitteln:
Ich würde gerne den TOG S50240 mit dem CPLD MAXII EPMT100 simmulieren.
Eine Inputclock von 2MHz wird in 13 Ausgangssignale mit 50% duty cycle
geteilt (/451, /426, /402, /379, /358, /478, /239, /253, /268, /284,
/301, /319, /339).
Soll ich einfach versuchen 13 Divide-by-N counter zu programmieren oder
gibt es eine effizientere Art? Ich würde Quartus als Programm nutzen,
dann als Verilog schreiben oder Blockdiagramme nutzen, was ist für den
Anfang der einfachere Weg?
Dann danke ich schon mal, lg
So ein Thema gab es hier vor Jahren bereits. Finde es aber nicht. Da
wurden genau diese Frequenzen behandelt. Irgendeiner hatte sogar noch
einen besseren Vorschlag für die Teiler. Musst mal suchen.
Zur Frage:
Ja, das geht natürlich. Das sind 12 Zähler. Ob das musikalisch Sinn
macht, ist eine andere Frage, weil die entstehenden Frequenzen nicht
perfekt sind.
Passend zu Deinem Thema wäre vielleicht das hier:
Beitrag "Musik aus dem CPLD ;-)"
Was ich gerade sehe: Warum sind es 13 Teilerfrequenzen?
> So ein Thema gab es hier vor Jahren bereits.
Ja, da hatte jemand ein kaputte Orgel.
Mit einem kleinen Cyclone II geht es natuerlich ohne Probleme.
Sogar mit noch wesentlich perfekteren Teilerverhaelnissen.
In VHDL geht das recht uebersichtlich zu beschreiben.
Bei einem CPLD koennten es von den verfuegbaren Flip-Flops
zu wenige geben. Da wuerde ich vorher nochmal durchzaehlen
und mit dem DB vergleichen.
Ich würde auch einen FPGA vorziehen, es sei denn, es braucht ein
bestimmtes Gehäuse. Die Originalbausteine sind ja teilweise erschreckend
teuer. Es gibt bekanntlich kleine Platinen mit DIL-Füsschen und
aufgelötetem Chip, die als universelles replacement fungieren.
>Soll ich einfach versuchen 13 Divide-by-N counter zu programmieren oder>gibt es eine effizientere Art?
Ja, Ich würde hier z.B. keine DDS verwenden, wenn da nicht Dithering und
Werteinterpolation verwendet wird, bzw. reine Sinuswellen erzeugt werden
sollen, weil sich das sonst nicht gut filtern lässt. Das erzeugt
unharmonische Spektrem, speziell beim Phasing etc.
Besser ist es tatsächlich, eine stärker verstimmte Frequenz hinzunehmen
und dafür ein sauberes Primärsignal zu haben.
Als Anregung:
http://www.96khz.org/htm/pldmodularorgan.htm
Die Stimmen kann man frequenzmäßig im PLD sogar besser hinbekommen, als
das über TOS mit 2MHz und den o.g. Teilern möglich ist. Beispiele im
Bild. Unter 10ppm Abweichung bei der gewählten Taktfrequenz (24 fache
S/PDIF @ 192kHz).
Nur mal so in den Raum geworfen:
Die LPC17XX Microcontroller von NXP haben vier Timer mit jeweils vier
Countern und Toggle Outputs. Das macht 16 Divider Ausgänge, die komplett
in Hardware laufen.
Clock Input kann entweder intern oder über externe Clocks laufen.
D.h. so einen Top Octave Divider könnte man komplett in der Periphery
des Microcontrollers implementieren. Die CPU muss nur die Pins
konfigurieren, die Teiler und den Timer Mode setzen und kann dann in den
Deep Sleep.
Aber klar, in einem etwas größeren CPLD ist das auch schnell gemacht.
Nils P. schrieb:> Die LPC17XX Microcontroller von NXP haben vier Timer mit jeweils vier> Countern und Toggle Outputs. Das macht 16 Divider Ausgänge, die komplett> in Hardware laufen.
... und die bieten darüber hinaus noch die Option, die Timer
umzuschalten, um die Frequenz ganz genau zu bekommen. In jedem
Gitarrenstimmgerät wird das so gemacht.
Kon Lion schrieb:> Eine Inputclock von 2MHz wird in 13 Ausgangssignale mit 50% duty cycle> geteilt (/451, /426, /402, /379, /358, /478, /239, /253, /268, /284,> /301, /319, /339).
Hallo, ist Dir oder sonst jemandem zufällig bekannt, woher diese Zahlen
kommen und warum sie mit ausgerechnet diesem Takt betrieben werden
müssen?
Der Takt ist 2.00024MHz. Das durch die Teiler und nochmals durch ne
2er-Potenz ergibt ne gleichstufige Stimmung. Z.B. 2000240Hz/284/16 =
440Hz = a. Die Teiler selbst sind im Abstand von 2^(1/12), also
239*2^(i/12) für i=0..12.
Markus W. schrieb:> Hallo, ist Dir oder sonst jemandem zufällig bekannt, woher diese Zahlen> kommen und warum sie mit ausgerechnet diesem Takt betrieben werden> müssen?
Ich würde sagen, das sind einfach die tiefst möglichen Zahlen, die ein
einigermaßen akzeptables Ergebnis liefern. Diese bringen unter 2 Cent
Abweichung in der Tonlage und eine Standardabweichung von <1%. Das
nächst bessere Zahlenset wäre ein minimaler Faktor 301 danach Faktor
353. Das wird tendenziell immer besser, es gibt aber Bessere und
Schlechtere.
Um die Werte an sich zu beurteilen, hatte ich mal eine DB programmiert,
die die Werte alle durchspielt und nach Güte sortiert. Die Güte ist
dabei der Lageoffset gegenüber dem absoluten Ton und zudem die
Standardabweichung, also die Homogentität der Töne. Diese bestimmt -
unabhängig von der Lage - die Qualität der Akkorde. Man könnte z.B. auch
die absolute Lage ignorieren und eine möglichst hohe Homogenität
anstreben. Anders herum könnte man nach einer optimalen Taktfrequenz
suchen.
Wenn man sich die Werte für die 239 ansieht, sind die eigentlich recht
gut, bis auf den Ton Nummer 7, das wäre allerdings das Fis in C-Dur und
das wird kaum benötigt. Etwas anderes ist es, wenn man in einer anderen
Tonart spielt.
Die 2MHz werden auch hier im Betrag genannt:
Beitrag "Re: FPGA als digitaler Oszillator?"
Dort sind es auch die 2,00024
Wie das real in den Orgeln jeweils gemacht wird, weiß ich nicht. Ich
habe für mein PLD-Orgel damals das Bestmögliche aus dem jeweils
gegebenen FPGA-Takt herauszuholen versucht. Welchen Takt man dabei
verwendet, ist natürlich willkürlich.
Ich habe mir das nochmal angesehen und musste feststellen, dass ich für
eine C-Dur-Stimmung auf 1,682 MHz herauskomme. Das hatte ich auch bei
der Tabelle zugrundegelegt, kann ich mich erinnern.
Bei den angegebenen 2,00024 MHz errechne ich einen Lageoffset für die
gleichstufige Stimmung zu 0,5%. Besser wäre meines Erachtens eine
Frequenz von 1,999360 MHz. Das würde das C exakt treffen, liegt halt von
den Fehlern nicht mehr so balanciert.
Was man auch sieht: Der TOS-Chip produziert bei der Normfrequenz zweimal
das Dis, wozu auch immer. Ich bevorzugte daher 1,6MHz von oben. Die
lassen sich über 3 Ecken auch aus einer PLL gewinnen und zu 126,1 MHz
umbauen. Die sind genau das 75fache des Taktes und zugleich ein
Vielfaches von 48kHz. Damit kann man so einen Chip emulieren.
Hier ist noch was Nettes:
Basisteiler 150, normiert auf 7040Hz für C, Takt = 1,056MHz.
Das Besondere ist, dass sich die gerundeten Teiler von der
gleichförmigen Stimmung hin zur reinen Stimmung bewegen. Die Teiler für
F und G passen exakt für C-Dur und für das E nimmt man einen Wert
geringer und liegt fast dran.
Das Schöne ist auch, dass hier direkt auch ein 96kHz Takt heraus kommt:
1056/11 = 48000*2.
Für 873 klappt es sehr gut mit dem digitalen S/PDIF-Takt für 48kHz.
Es ist nun etwas Zeit vergangen - andere Dinge hatten Priorität - aber
ich habe versucht der Diskussion zu folgen. Vielen Dank für den Input!
Ich verstehe die grundlegenden Konzepte der Tonerzeugung und
Frequenzteilung via Flip-Flops, wie anfangs erwähnt habe ich allerdings
noch nicht so viel Ahnung von der Programmierung und Anwendung. Das soll
sozusagen ein erstes Projekt sein, um in die Welt von CPLD/FPGA
einzutauchen. Irgendwie komme ich aber nicht voran.
Runtergebrochen wären meine Fragen eigentlich: Ich habe ein Max II
(EPM240T100C5N) Experemiertboard (mit 50MHz Clock Onboard, soweit ich
verstehe) rumliegen, wie schaffe ich es daraus ein TOG-Chip Ersatz zu
machen?
(Wie sähe ein einfacher Code aus? Lagetoleranz der Töne kann natürlich
optimiert werden. Soll ich gleich die Onboard Clock nutzen oder die
vorhandene 2MHz als Input? Und ließen sich in dem Zuge auch die weiten
Divid-by-2-Counter ersetzen? (~80 I/O-Pins vorhanden))
Was ich als Beispiel-Code gefunden habe, ließe sich das
anwenden/vereinfachen?
Einmal scheint mir da was zu fehlen, nämlich die Erzeugung der Teiler
und dann möchte ich die Frage stellen, wo Du wirklich sicher bist, dass
Du Verilog verwenden möchtest?
Ma W. schrieb:> Einmal scheint mir da was zu fehlen, nämlich die Erzeugung der Teiler> und dann möchte ich die Frage stellen, wo Du wirklich sicher bist, dass> Du Verilog verwenden möchtest?
Hab mich zumindest bisher eher mit Verilog beschäftigt, VHDL ist
gebräuchlicher? ICh entscheide mich halt am Anfang eine Sprache zu
lernen, dachte das macht kein Unterschied?
Kon Lion schrieb:> Was ich als Beispiel-Code gefunden habe, ließe sich das> anwenden/vereinfachen?
Das ist doch schon ziemlich einfach.
modul organ ist das Top-Modul, das alles zusammenfasst.
modul clk2freq erzeugt die einzelnen Teiler für die 12 Noten (mit dem
Teilfaktor als Parameter für jede Instanz, siehe organ Modul).
Das erzeugt dir gleich 5 Oktaven als Ausgang an 5 Pins für jede Note,
nicht nur die Top-Oktave.
modul main_clk_div generiert die 2 MHz Grundfrequenz, anscheinend ist
hier ein 16 MHz Eingang an einem Pin vorgesehen, aus dem die 2 MHz
erzeugt werden. Dieser externe Clock Eingang, ermöglicht die ganze Orgel
zu stimmen und z.B. mit Vibrato Modulation zu versehen. Zum Testen
kannst du auch ein 2 MHz clock aus dem 50 MHz Oszillator deines Boards
erzeugen.
Alles was du noch brauchst ist ein Pinmapping File, das den Clock
Eingang und die Noten Ausgänge den gewünschten Pins zuordnet. Für einen
ersten Syntheseversuch ist das aber nicht mal nötig, es werden dann
einfach zufällige Pins verwendet.
Wenn man die freie Wahl hat zwischen Verilog und VHDL würde ich mich
jederzeit für Verilog entscheiden. Hat fast nur Vorteile. Aber in diesem
Teil der Welt wurden halt die meisten zu VHDL gezwungen, und können sich
gar nicht vorstellen, dass es auch etwas einfacher geht. (Soll nicht der
Aufruf zu einer neuen Runde language-war sein, sondern nur den TO in
seiner Entscheidung bestätigen).
Hier eine vereinfachte und verbesserte Verilog Version. Verbessert wurde
der "off by one" Teiler Fehler, und es wird nur noch ein 2 MHz Eingang
von einem Pin verwendet.
Auf einem MachXO2 Breakoutboard ergibt sich folgender
Ressourcenverbrauch:
1
Design Summary:
2
Number of registers: 166 out of 7209 (2%)
3
Number of SLICEs: 114 out of 3432 (3%)
4
Number of LUT4s: 228 out of 6864 (3%)
5
Number of PIO sites used: 61 + 4(JTAG) out of 115 (57%)
1
moduleorgan(
2
inputclock2M,// 2 MHz Input Pin
3
output[4:0]c_notes,// 5 Oktav-Ausgänge für jede Note
4
output[4:0]cs_notes,
5
output[4:0]d_notes,
6
output[4:0]ds_notes,
7
output[4:0]e_notes,
8
output[4:0]f_notes,
9
output[4:0]fs_notes,
10
output[4:0]g_notes,
11
output[4:0]gs_notes,
12
output[4:0]a_notes,
13
output[4:0]as_notes,
14
output[4:0]b_notes
15
);
16
17
clk2freq#(239)c_generator(clock2M,c_notes);// 12 Teiler Instanzen mit je 5 Oktaven
18
clk2freq#(253)b_generator(clock2M,b_notes);
19
clk2freq#(268)as_generator(clock2M,as_notes);
20
clk2freq#(284)a_generator(clock2M,a_notes);
21
clk2freq#(301)gs_generator(clock2M,gs_notes);
22
clk2freq#(319)g_generator(clock2M,g_notes);
23
clk2freq#(338)fs_generator(clock2M,fs_notes);
24
clk2freq#(358)f_generator(clock2M,f_notes);
25
clk2freq#(379)e_generator(clock2M,e_notes);
26
clk2freq#(402)ds_generator(clock2M,ds_notes);
27
clk2freq#(426)d_generator(clock2M,d_notes);
28
clk2freq#(451)cs_generator(clock2M,cs_notes);
29
30
endmodule
31
32
33
moduleclk2freq(// Teiler Modul (wird 12 mal verwendet)
34
inputclk2mhz,
35
output[4:0]notes
36
);
37
parameterctarget=239;// Teilerwert (wird durch Parameter beim Instanzieren überschrieben)
38
39
reg[8:0]ctr=0;// 9 bit counter reicht für Teiler bis 451
40
reg[4:0]out=0;// Zähler für 5 Oktaven
41
assignnotes[4:0]=out[4:0];// Zähler mit Ausgängen verbinden
42
43
always@(posedgeclk2mhz)begin
44
ctr=ctr+1;
45
if(ctr==ctarget-1)begin//Reset counter bei Erreichen des Teilerwertes-1
46
ctr=0;
47
out=out+1;//Zähler für 5 Oktaven, +1 bei jedem Reset des Teilers
Was passiert denn dann mit den so erzeugten Rechtecksignalen? Die
müssten doch noch weiter geteilt werden, um auch die restlichen
Frequenzen für die anderen Tasten zu erhalten. Sollte man dies nicht
gleich mitrealisieren?
> Sollte man dies nicht gleich mitrealisieren?
Ist doch. Die harmlos aussehenden:
1
t0 <= t0 + 1;
2
t1 <= t1 + 1;
3
...
erzeugen in Verbindung mit den Portdefinitionen:
1
t0 : buffer STD_LOGIC_VECTOR (7 downto 0);
2
t1 : buffer STD_LOGIC_VECTOR (7 downto 0);
3
...
auch noch 8 Oktaven nach unten.
Nur 4, wie im Verilog-Beispiel sind natuerlich viel zu wenig.
Fuer die Fusslagen 16" bis 1" braucht man schon 5 Oktaven,
dazu kommen noch die u.U. 5 Oktaven des Manuals.
Aber: Praktisch wuerde man das so im Orgelbau kaum machen.
Da wuerde man eher simple Binaerzaehler (z.B. 4520, 4040) benutzen.
Die kann man naemlich nahe bei den Schaltkontakten des Manuals
unterbringen und muss nicht 8 x 12 Leitungen durch die Gegend
ziehen...
Die "alten" CMOS-ICs haben auch den Vorteil hohe Pegel fuer
die subtraktiven Filterschaltungen bereitzustellen und
die geringe Flankensteilheit ihrer Ausgangssignale erzeugt
weniger Stoerungen.
Andi schrieb:> Hier eine vereinfachte und verbesserte Verilog Version. Verbessert wurde> der "off by one" Teiler Fehler, und es wird nur noch ein 2 MHz Eingang> von einem Pin verwendet.
Klasse, vielen Dank! Sieht jetzt auch strukturierter aus und die
Kommentare dazu haben mir fürs Verständnis einiges gebracht.
Auch der VHDL Code sieht verständlich und einfach aus, nur wie gesagt
mit Verilog habe ich mich bisher etwas intensiver beschäftigt.
Die 5 Oktaven sollten für den Anfang auch passen, was genau der Tastatur
der String-Maschine entspräche.
./. schrieb:> Die kann man naemlich nahe bei den Schaltkontakten des Manuals> unterbringen und muss nicht 8 x 12 Leitungen durch die Gegend> ziehen...
So! würde ich das gar nicht machen. Die Tonsignale sollte man - gerade
wegen der Rechtecke - tunlichst nicht durch die Gegend schicken. Besser
ist es, die Tastatur parallel abzufragen, zu multiplexen und das Signal
zur Erzeugerplatine zu leiten und dort in Schieberegister zu legen, um
sie wieder aufzufächern.
Diese werden dann mit UND-Gattern verknüpft und den einzelnen
Orgel-Registerstufen zugeleitet, die dann die Klangformung aus den
Rechtecken machen. Das ist wesentlich weniger störanfällig.
Das Allerbeste ist nach wie vor, man produziert die Töne auch gleich
virtuell im PLD auf der Basis eines Sägezahns:
http://www.96khz.org/oldpages/simplesoundgenerator.htm
> Die Tonsignale sollte man - gerade> wegen der Rechtecke - tunlichst nicht durch die Gegend schicken.
Ja, aus so einem CPLD/FPGA kommen Signale aequivalent der AC-Serie
heraus. Deswegen ja der Hinweis diese Signale so nicht in einer
klassisch aufgebauten (Register-)Orgel zu benutzen.
Den Aufwand die Tastatursignale in einem CPLD/FPGA fuer eine
subtraktive Klangsynthese zu "gaten" wird glaub ich eh
niemand betreiben. Aber ich mag mich ja taeuschen.
Instrumente dieser Art waren z.B. das Roland RS-09 Organ/Strings.
Da waren dann 2 Kaefer fuer die Tonaufbereitung zustaendig.
Heute kann man da nun wirklich bessere Dinge anstellen.
Wie man sieht, gibt es aber die "klassischen" Orgelbauer noch.
Die wollen die vielleicht unzuverlaessig gewordenen Generatorsaetze
durch etwas zeitgemaesses ersetzen.
Und fuer die war dieser Hinweis, auch auf die CMOS-Teiler, gedacht.
./. schrieb:> USE IEEE.STD_LOGIC_UNSIGNED.ALL;> USE IEEE.NUMERIC_STD.ALL;
Autsch.
Beitrag "IEEE.STD_LOGIC_ARITH.ALL obsolete"./. schrieb:> t0 : buffer STD_LOGIC_VECTOR (7 downto 0);
^^^^^^
Und nochmal Autsch.
Hier eine VHDL-Version, die beide Probleme umgeht.
Und passend dazu eine Testbench.
In einen CPLD passt es trotzdem nicht ;-)
Duke
Ja, ohne die "alten" Libs mochte das "betagte" Tool nicht.
Auch das "Buffer" war so in die Quelle gekommen.
Im uebrigen, solang unten etwas raus kommt ist es mir
herzlich egal...
./. schrieb:> Wie man sieht, gibt es aber die "klassischen" Orgelbauer noch.> Die wollen die vielleicht unzuverlaessig gewordenen Generatorsaetze> durch etwas zeitgemaesses ersetzen.
Den von mir beschriebenen Ansatz fände ich aber sehr zeitgemäß und
soweit ich weiß wird das in digitalen Orgeln auch so gemacht. Der
Hintergrund ist einfach, dass die Signale durch ihre Nachbartasten
zuviele Störung mitschleppen und eine direkte analoge Verarbeitung nicht
machbar ist.
Wenigstens sollte man noch Schmitt-trigger einsetzen. Wenn man es
hingegen total analog machen will, kann man auch die Register erst mit
den Rechtecken beschießen, dann mischen sie sie den Tasten zuführen.
Dann hat man mit den Tasten einen Analogmischer.
Es macht dann nichts aus, wenn eine gedrückte Taste sich nicht nur in
ihrem Pfad sondern auch noch in den Nachbarn bemerkbar macht. So ist das
bei meiner 1980er Ingrid-Orgel gemacht. Die ist made in italy, was den
Ansatz möglicherweise erklärt.
Ein Bastler, der sein Böhm-Orgel mit Conrad-Teilen aufgezogen hat, hat
mir aber mal erklärt, dass das Murks ist und sich das so gebaut, wie ich
es oben beschrieb. Die Messungen, die wir gemacht hatten, ergaben, dass
das Böhmsystem im Original pegelmässig in die Knie ging, wenn man
mehrere Ausgänge desselben Teilers belastete. Schon deshalb sollte man
das entkoppeln finde ich und dann ist das gaten direkt miterledigt.
Das saubere gaten erzeugt zudem auch präzise Phasen, was für den
Zusammenklang wichtig ist, wenn die Frequenzen sehr genau stimmen. Dann
kann man nämlich den einzelnen Teilwellen einen passenden Vorlauf
spendieren, dass es zu keiner Interferenz kommt.
Beispiel im Bild: 2 digitale Wellen (rot und grün) und ihre gefilterten
Pendants mit der Summe aus beiden (gelb), im unteren Bereich mit einer
90 Grad Verschiebung der hohen Freuquenz.
Bei dem Thema Phase mit man z.B. mit Blick auf Phasing und Vibrato
ohnehin noch genauer nachdanken, wie man die einzelnen Pfade behandeln
will und da reicht eine einfach Ausgabe des Binärteiles über die Ports
nicht.
> parameter ctarget = 239; // Teilerwert (wird durch Parameter
39
> beim Instanzieren überschrieben)
40
>
41
> reg [8:0] ctr = 0; // 9 bit counter reicht für Teiler
42
> bis 451
43
> reg [4:0] out = 0; // Zähler für 5 Oktaven
44
> assign notes[4:0] = out[4:0]; // Zähler mit Ausgängen verbinden
45
>
46
> always @(posedge clk2mhz) begin
47
> ctr = ctr + 1;
48
> if (ctr == ctarget-1) begin //Reset counter bei Erreichen des
49
> Teilerwertes-1
50
> ctr = 0;
51
> out = out + 1; //Zähler für 5 Oktaven, +1 bei jedem
52
> Reset des Teilers
53
> end
54
> end
55
> endmodule
Hoffe es stört nicht das mal wieder auszugraben... versuche den Code
gerade zu simulieren, in Quartus Prime Lite. Compilern kein Problem,
aber sich so wavetables ausgeben zu lassen scheint mir etwas komplexer.
Muss ich in eine Testbench nur das Top-Level-Modul einbinden? Und dann
in ModelSim starten?
Mein erster kläglicher Versuch:
Du brauchst eine Testbench, darin enthalten eine Stimuli die die
Eingänge deiner Schaltung bedient und die Schaltung selbst. Gfs noch
einen Analyszer, der die Ausgänge abfängt und mit Vorgaben vergleicht.
Weltbester FPGA-Pongo schrieb im Beitrag #5739037:
> Du brauchst eine Testbench, darin enthalten eine Stimuli die die> Eingänge deiner Schaltung bedient und die Schaltung selbst. Gfs noch> einen Analyszer, der die Ausgänge abfängt und mit Vorgaben vergleicht.
Ich habe den Code jetzt einfach ohne Testbench in ModelSim geladen und
einen clock input "erzwungen". Das scheint auch zu funktionieren, alle
60 gewünschte Frequenzen werden erzeugt.
Bevor ich jetzt einen passendes CPLD board bestelle (eins mit EPM570:
scheint günstig und alle 306 logic elements zu fassen), wollte ich mir
noch mal Gedanken um die grundsätzliche Verschaltung des TOG Moduls
machen. Ich habe mir ein Schema überlegt, um den Weg zu den Filterbänken
zu verkürzen (nicht über Tastenkontakte leiten) und evtl. Midi in/out zu
erlauben.
Was meint ihr, könnte das funktionieren? Oder wo sind Fehler /
Schwierigkeiten?
z.B wie nutze ich am besten die 61 demux bits zum gaten der
Ausgangssignale..
Du solltest dir erstmal die Verschaltung des TOP+Teiler, einer
mechanischen Tastatur fuer mehrere Fusslagen und der Filterbaenke
ansehen.
So wie du das da gezeichnet hast, wird das nichts.
Bei 6 Fusslagen: 16", 8", 5 1/3", 4", 2" und 1 3/5" z.B. sind
per Taste im Manual 6 Umschalter. Im Ruhezustand liegt am
Tastenausgang GND. Und wenn gedrueckt der Ton der aus den
Generatoren kommt.
Fuer 61 Tasten und z.B. 6 Fusslagen braeuchtest du 61 x 6 Schalter...
Da reicht dein CPLD hinten und vorne nicht.
Im uebrigen: Aus der ganzen Konstruktion kommt dann 60iger Jahre
Rechteckton mit ein wenig Filter dahinter.
Sowas will doch keiner mehr hoeren.
... schrieb:> Du solltest dir erstmal die Verschaltung des TOP+Teiler, einer> mechanischen Tastatur fuer mehrere Fusslagen und der Filterbaenke> ansehen.>> So wie du das da gezeichnet hast, wird das nichts.> Bei 6 Fusslagen: 16", 8", 5 1/3", 4", 2" und 1 3/5" z.B. sind> per Taste im Manual 6 Umschalter. Im Ruhezustand liegt am> Tastenausgang GND. Und wenn gedrueckt der Ton der aus den> Generatoren kommt.
Verstehe nicht ganz was Fußlagen sind, es geht um eine String-Maschine
aus den 70ern, richtig. 61 Tasten, mehr nicht. Dachte halt eine Taste
ein Bit zum steuern der 61 CPLD-Ausgänge (an /aus). Die Verarbeitung der
Signale danach bleibt wie sie ist, mit filter, chourus, mixen ect.
Im Orginal wird die 2MHz clock eben in mehreren ICs in 61 Frequenzen
zerlegt dann jede einzelne durch die Tastenkontakte geleitet und dann
erst in die Filter, also viel Kabel.
Ob oder wie man die CLPD Ausgänge kontrollieren kann ist halt die frage,
ich bin da leider sehr unerfahren. Das ganze Projekt soll mir eher zum
lernen der Technik dienen als groß was zu revolutionieren..
Die klassischen Stringsensemble haben die Ausgaenge der Teiler
gewichtet verknuepft, um als Rohmaterial etwas aehnliches wie
einen Saegezahn zu produzieren.
Also etwa: 1/16
Aber auch die hatten mehrere Fusslagen. Z.B. 8" und 4".
Die dort verwendeten Schaltkreise konnter aber auch analoge
Signale verarbeiten.
Dort wurde auch die VCA-Funktion Attack und Release analog
realisiert.
Die 8X, 4X, 2X und X waeren da dann die entsprechenden
Fusslagen der Generatorbank.
In einem FPGA wuerde ich das heute eher wie im Bild machen.
Das ist natuerlich geringfuegig aufwendiger.
Aber dafuer ist alle digital berechnbar und braucht keine
analoge Verarbeitung.
und warum nicht gleich ein echtes Dreieck/Sägezahn, wenn man unbedingt
eins haben will?
Wenn, würde ich die Oberwellen aus den Sin passend skalieren und
modulieren, denn das ist es ,was den Ton am Ende real(er) macht.
Kon Lion schrieb:> Ich würde gerne den TOG S50240 mit dem CPLD MAXII EPMT100 simmulieren.> Eine Inputclock von 2MHz wird in 13 Ausgangssignale mit 50% duty cycle> geteilt (/451, /426, /402, /379, /358, /478, /239, /253, /268, /284,> /301, /319, /339).
Ein Blick in das Datenblatt des S 50240 = MK 50240 verrät,
daß es sich um einen TOS IC handelt der 13 Töne der obersten Oktave
eines Musikinstrumentes produziert.
Der Ton C ist jedoch doppelt vorhanden einmal als
TOP C und als C / 2 - also eine Oktave tiefer.
Folglich braucht man auch nicht 13 Töne zu erzeugen sondern nur 12
Das grundlegende Prinzip dieser Teilfaktoren ist der Abstand der Töne
zueinander mit dem Faktor "12te Wurzel aus 2".
Der übliche Näherungswert wird von vielen Herstellern mit dem Bruch
196 / 185 realisiert.
Die Nachkommastellen jedoch verursachen einen JITTER der auf jeden Fall
beseitigt werden muß.
Deswegen geht man mit so hoher Clockrate an das Problem heran und teilt
die so erzeugten Frequenzen nochmals durch 2, wodurch der Jitter nahezu
verschwindet zumindest nicht mehr hörbar ist
Spätere TOS IC Versionen hatten eine Clockrate bis zu 4 Mhz ( AY 3-214
ua )
Solche ICs deckten den Bereich der obersten Oktave von C bis B ( unser H
) ab. Der Top Ton war dann das B. Der in einer Tastatur dann höchste
Ton - ein C - wurde einfach durch Repetition des eine Oktave tiefer
liegenden C ersetzt. Bei einem 13 Ton TOS wie dem MK 50240 wird der
allerhöchste Ton eh nur für die allerhöchste Taste und der höchsten
Fußlage benötigt. Den tiefsten Ton C bekommt man durch 8 fach
Oktavteilung auch aus dem Ton C/2 .
An so einen TOS IC schließen sich immer noch 12 Oktavteilerkaskaden an
um
eine Frequenzbreite von 8 Oktaven zu generieren. Üblich waren in der
anfangszeit der SAJ 110 und später ein CMOS 4024.
Ich will niemanden abhalten sowas mit einem CLPD zu versuchen. Nur
angesicht noch verfügbarer TOS ICs reichlich Aufwand an Programmiererei.
Durchaus realisieren läßt sich sowas auch mittels PWM und einem Atmel.
Hat man einen Ton brauchen nur die Zähler für die PWM Erzeugung
verändert werden, womit sich das eigentliche Programm sehr vereinfacht
happyfreddy schrieb:> Der übliche Näherungswert wird von vielen Herstellern mit dem Bruch> 196 / 185 realisiert.
Hast du dafür einen link oder eine andere Referenz?
Klassische TOS produzieren die Töne ja durch 12 Teiler, der Rest ist wie
schon angedeutet mehrfaches Teilen durch 2.
Wo soll hier der Bruch auftauchen?
Du kannst dir denken, warum ausgerechnet ich das frage :-)
TOS ICs = Top Octave Synthesizer
werden allgemein auch als "12te Wurzel 2" Teiler bezeichnet
Diese Wurzel ist der Frequenzabstand zwischen zwei Halbtönen
einer "wohltemperierten Tonleiter"
Ein guter Näherungswert für die Wurzel ist numal der Bruch 196/185
Man kann es noch genauer machen nur die Unterschiede sind kaum hörbar
Näher ausgelassen wird sich darüber in diverser Literatur
zB
TÜNKER elektronische Orgeln im Selbstbau
Franzis Verlag 1977 ISBN 3 - 7723-6301-6
Radio Praktiker Bücherei Franzis Verlag
Dr Böhm, Orgeln und ihr Selbstbau RPB Reihe Bd 101
Franzis Verlag ISBN 3-7723-5765-2 1994
Bo Hanus, Erfolgreicher Service elektronischer
Musikinstrumente
Ganz spezielle Hinweise jedoch in einer Firmenbroschüre
von ITT über Integrierte ICs in Musikinstrumenten
erschienen um 1970 - wohl heute nicht mehr erhältlich
Behandelt werden nur Firmeneigene ICs wie TCA 430 , TD 470
TCA 250, SAH 190 etc
Datenblatt SAH 190 :
http://www.web-bcs.com/pdf/ITT/SA/SAH190.pdf
Die Verwendung des Bruches 195/185 wird detailliert in der
Funktionsweise des ICs SAH 190 beschrieben. Durch verschiedene
Beschaltung eines einzigen Pins wurden die Preteiler umgeschaltet,
sodaß mit 3 solcher ICs alle 12 Töne abgedeckt wurden.
Mitbenutzt wurde dabei auch das Ausblendprinzip von Impulsen.
Ein weiteres IC was den 12teWurzel2 Faktor benutzte
war das VALVO IC SAH 220, eine 19 stufige Frequenzteilerschaltung
in I³L Technik.
Aus einer Eingangsfrequenz werden 11 Oktavteilertöne plus
der Halbton 12teWurzel2 erzeugt. Mit 12 solcher ICs wird ein Bereich von
11 Oktaven Tonumfang abgedeckt.
Also Taktgenerator an ersten SAH 220 dort abgenommen die 11 Okatavtöne
dieses Tones. Vom Ausgang 12teWurzel2 dann auf den Eingang des
nachfolgenden SAH 220 und dort die nächsten 11 Oktavtöne als Ausgang usw
. Maximale Eingangsfrequenz 9 MHz
Übrigens .........
TOS ICs fanden sich früher auch in den kleinen akustischen
Fernabfragegerätchen für Anrufbeantworter mit Cassettenbetrieb
Ähnlich sind die einzelnen Teilfaktoren eines MK 50240 ua
nach dem Prinzip der Hammondorgel, wo die Teilfaktoren durch mechanische
Getriebe umgesetzt wurden. Angetrieben wird die Hauptwelle durch einen
Syncronmotor vergleichbar mit dem Clockoszillator. Diese Getriebe in den
einzelnen Kammern werden so untersetzt, daß die Nebenwelle auf der
richtigen Drehzal läuft. Die damit angetriebenen eigentlichen Tonräder
erzeugen dann zwei Oktavtöne im Abstand von 4 Oktaven deren Frequenz nur
durch das Profil des Tonewheels gegeben ist.
Entweder 2 "Zähne" oder 4 oder 8 oder 16 , 32 , 64 , 128 , 256
Diese "Zähne" laufen dann an einem Pickup vorbei der durch Induktion
eines Magnetfeldes dann den Ton erzeugt. Hierbei ist die Pickupspule wie
bei einem Humbucker einer E Gitarre mit einem Magneten versehen und die
rotiernde Tonwheelscheibe erzeugt dann durch Annäherung im Takt der
Zähne die gewünschte Tonfrequenz.
das ganze muß man sich so vorstellen :
https://www.youtube.com/watch?v=7Qqmr6IiFLE
Ergänzung
Der Bruch 196/185 wird in solchen TOS IC genau 11 mal verwendet
Clock auf ersten Zähler für einen Ton und gleichzeitig an einen Teiler
196/185 . Vom Ausgang dieses Teiler auf den nächsten Zähler für den
nächsten Ton und gleichzeitig auch auf den nächsten Teiler 196/185.
Von diesem dann auf die nächste Teilerkette für den dritten Ton und
wieder auf einen Teiler 196/185 usw
Relativ viel Aufwand, vermute daher daß man doch mit Vorteilern arbeitet
oder zumindest bei Terzen und Quinten mit ganzzahligen Teilern
vorteilt.
Im Tünker Buch wird sowas behandelt.
Eine dritte Variante, die ich in den 70ern mal mit TTL ICs
aufgebaut hatte war folgende :
Ein 1 MHz Oszillator triggert eine Teilerkette aus Flip Flops.
Ähnlich von den Teilfaktoren eines TOS ICs habe ich mir diese
Teilerzahl in binäre Form gewandelt und mit logischen Gattern
die einzelnen Zustände der Teilerkettenausgänge miteinander so
verknüpft, daß nur bei einem bestimmten dem Teilfaktor
entsprechenden Zählerstand ein Impuls erzeugt wurde. Dieser
Impuls triggerte dann ein nachfolgendes Flipflop sodaß damit
ein Duty Cycle 50:50 erreicht wurde.
Die Teilfaktoren mußten dann natürlich an die 1 Mhz Clock
angepaßt werden
Frequenztabelle:
http://www.sengpielaudio.com/Rechner-notennamen.htm
und im Übrigen eine recht interessante Seite, wo man viel
Hintergrundwissen über Töne etc bekommt
(mal bis ganz nach unten scrollen zu den Unterrubriken ...)
Die Frequenzen die ein TOS erzeugt liegen zwischen C 8 und C 9
in der MIDI Tabelle des obigen Link
also zwischen 4186 Hz und 8392 Hz
Vielleicht gibt das auch einige Anregungen bzgl des CLPD Projektes
Nur eines sollte man im Hinterkopf behalten.
Jede Elektronische Lösung mittels Teilerketten ist phasengekoppelt
Bei einem Hammond Tonewheelgenerator sind nur die beiden Tonewheels
innerhalb einer Kammer phasengekoppelt weil sie auf derselben Welle
sitzen. Jede andere Kammer mit zwei Tonewheels ist aufgrund der
Rutschkupplung an der Nebenwelle davon entkoppelt und somit nicht
phasenstarr. Das ergibt dann beim Einschalten
des Motors jedesmal andere Konstellationen was den Klang lebendiger
macht.
Aber das ist eine andere Geschichte ...
Ich habe im Microcontroller Forum schon anderen Stellen
mich zum Thema Orgeln - Generatoren - Technik ausgelassen :
Beitrag "analoge Orgel reparieren"Beitrag "Re: Analogorgel reparieren (Ahlborn CL310)"
weitere Hinweise zum Thema älterer Orgeln, deren Technik,
Klangformung, Tastenkontakte habe ich in unserem Forum
zusammengetragen.
Einfach mal die Seiten durchblättern:
http://forum.keyboardpartner.de/viewtopic.php?f=20&t=859http://forum.keyboardpartner.de/viewtopic.php?f=18&t=863
Alles in einem CLPD unterzubringen wird wohl nicht gehen.
Ein FPGA da schon besser.
Wenn es jedoch mehr um eine Arbeitsplattform Grundlagen
älterer Orgeln geht, sollte man dies besser in einzelnen
Abschnitten organisieren :
eigentlicher Tongenerator
Tastenkontakteinheit
Klangformung
Midi ist das kleinste Problem und es beeinflußt hier in erster Linie
die Tastenkontakteinheit quasi Fernsteuer Sender und Empfänger.
Natürlich kann man damit auch noch anderes steuern. Wenn es erstmal um
ein Prinzip geht würde ich das ganz nach hinten schieben für den Anfang.
In einem der Postings ganz zu Anfang wurden Unklarheiten
bezüglich des Begriffes FUSSLAGEN geäußert.
Der Begriff Fußlagen kommt vom Sakralen Orgelbau mit Orgelpfeifen.
Die Fußlage wird anhand der mechanischen Länge einer Orgelpfeife
des TIEFSTEN TONES einer Tastatur bestimmt.Somit hat die tiefste Taste
einer 5 Oktaven Tastatur im 16 Fuß eben die Länge von 16 FUSS
die einer 8 Fuß Lage dann 8 FUSS Länge.
Von einer Tastatur werden also immer mehere Schalter ( oder Ventile bei
Pfeifenorgeln ) pro Taste betätigt.
Registerschalter oder Registerzüge bei Pfeifenorgeln geben dann den Weg
frei damit diese Töne erklingen können.
Für eine Tonerzeugung beim elektronischen Generator gibt es zwei
Varianten:
Dauertongenerator ( dazu zählt auch ein TOS )
oder Einschwinggenerator der erst durch Tastendruck aktiviert wird.
Letzteres Verfahren soll den Aufbau einer Luftsäule in der Orgelpfeife
simulieren die dann den eigentlichen Ton erzeugt.
Dieses Verfahren findet man oft im älteren sakralen Orgelbau
In der reinen Digitaltechnik findet man obendrein auch noch zwei
Verfahren.
Einmal daß erst durch Tastendruck der zu erzeugende Ton berechnet wird
oder
das vorhandene Samples von den zu erzeugenden Tönen aktiviert werden
durch gewählte Register und gedrückte Tasten.
In jedem Fall sind bei den Tastenkontakten die Signale vom Generator
durch Widerstände zu entkoppeln um den Generator bei mehreren gedrückten
Tasten nicht zu stark zu belasten. Diese Widerstandswerte sind über den
Fußlagenbereich jedoch auch nicht vom Wert her konstant, sondern sind
lautstärkemäßig angepaßt. Hohe Töne weisen eine kleinere Amplitude auf
als tiefe Töne
Für den eigentlichen Klang ist die Schwingungsform des erzeugten Tones
von Bedeutung
Man unterscheidet hier
Sägezahn:
ideal nur durch Sperrschwingerschaltungen erzeugbar mit sehr
obertonreichem Signal,früher in der Philicorda Orgel mit Glimmröhren
erzeugt oder dem Sägezahngenerator der Dr Böhm nT Serie
Rechteck :
das ideale Signal was fast alle Hersteller verwendet haben weil durch
Zähler und Flipflops erzeugbar später dann reine Digitaltechnik mit
Prozessoren
Sinus :
das Verfahren was Hammond benutzte
Später ging man dann dazu über aus dem Rechteck alle Schwingungsformen
abzuleiten:
Sägezahn wurde mittels Treppenspannung ersetzt ( nicht ganz ideal weil
einige Harmonische halt fehlten dennoch brauchbar )
Sinus wurde durch RC Filter oder aktive Filter erzeugt
In einer Klangformung unterscheidet man hier ein
subtraktives Verfahren
ausfiltern von Frequenzanteilen bzw deren Hervorhebung durch
Resonanzkreise
additives Verfahren
hier werden meist Sinustöne (Grundschwingungen) aufaddiert , siehe
Zugriegel einer Hammondorgel bzw Prinzip der Fouriersynthese
Wenn, dann arbeiten diese TOS-Teilerkaefer vermutlich umgekehrt,
mit einem Faktor von 185/196. Ich wuerde auch nicht annehmen,
dass dort die Eingangsfrequenz mit 185 multipliziert und dann
durch 196 dividiert wird, sondern das von 196 Pulsen nur 185 am
Ausgang ankommen. Bei Getrieben geht das ja einfacher :-).
Die letzte Pulsreihe wird da schon ziemlich zermanscht aussehen
wenn das kaskadiert wird.
Wenn das ganze dann oft genug geteilt wird, mittelt sich diese
Unsymmetrie hoffentlich hinreichend heraus.
Ich werde das ganze mal in naechsten Tagen mal testen.
Der Bruch 196 / 185 ist der Abstand in der Frequenz zwischen zwei
Halbtönen
Beispiel
Ton GIS : 415,305 Hz
Frequenz Differenz : 12te Wurzel 2
Ton A : 440 Hz
Frequenz Differenz : 12te Wurzel 2
Ton AIS : 466,164 Hz
Oktavabstand
eine Oktave tiefer A 220 Hz
Differenz : x 2
Kammerton A 440 Hz
Differenz : x 2
eine Okzave höher A 880 Hz
Dh 12 x 12te Wurzel 2 = 2
Wenn es also im Ausgangsposting hieß:
Eine Inputclock von 2MHz wird in 13 Ausgangssignale mit 50% duty cycle
geteilt (/451, /426, /402, /379, /358, /478, /239, /253, /268, /284,
/301, /319, /339).
folgt daraus
der Oktavabstand ( Faktor 2 ) findet sich somit auch bei den
Teilerfaktoren
hier wieder : 239 x 2 = 478 ; das sind die Töne C top und C/2.
Desgleichen beträgt der Frequenzabstand zwischen
Teilfaktor 451 und 426 zB ebenfalls 12te Wurzel 2
Teilfaktor 426 und 402 zB ebenfalls 12te Wurzel 2
Teilfaktor 402 und 379 zB ebenfalls 12te Wurzel 2
usw
somit kann der Bruch nur lauten 196 / 185 und nicht umgekehrt
Eine Teilerkette :478 wird auch garnicht so realsiert sein wie die
übrigen.
Man verwendet einfach den Ausgang der 239er Kette und teilt diese
Frequenz nochmals durch 2
Die Frage war ja seinerzeit als es die ersten TOS IC gab
( siehe links zu den Ahlborn Orgeln hier im Forum )
wie man dies mit dem verfügbaren Platz aufgrund der Technologie in der
IC Herstellung seinerzeit umsetzen konnte.
Die ersten TOS bestand idR immer aus zwei ICs von denen jeder nur 6 Töne
lieferte - obendrein da auch noch mehrere Betriebsspannungen.
Erst später war man in der Lage dies mit nur einer Betriebsspannung und
alle 12 zu erzeugenden Töne in einem einzigen IC herzustellen.
Die Teilfaktoren besagen ja nur, daß für eine Zählkette zB nur nach
jedem 239ten Eingangsimpuls ein Ausgangsimpuls erscheinen soll.
Dies ließe sich durchaus mit Ringzählern umsetzen.
Experimente kann da jeder zB mit einer Kette an CMOS 4017 machen nur daß
hier bei der Kürze der Schiebekette mit kleineren Clockrates gearbeitet
werden muß.
Die seinerzeit angesprochenen Vorteiler bezogen sich nur auf den SAH 190
in Bezug auf den einen Pin dessen Potential zur Umschaltung für drei
Anwendnúngszwecke vorhanden war. Deswegen sind für die Erzeugung der 12
Töne auch drei ICs notwendig
Die beim MK 50240 angegebenen Teilfaktoren sind deshalb so hoch um die
gewünschte Ausgangsfrequenz der 13 Ausgänge möglichst genau zu erzielen.
Schon eine Halbierung würde hörbare Ungenauigkeiten bewirken.
Natürlich weichen auch die erzeugten Ausgangsfrequenzen von der
richtigen
Tonhöhe ab um einen gewissen prozentualen Faktor. Nur der liegt noch
innerhalb des annehmbaren Bereiches.
Selbst bei dem Tonwheelgenerator von Hammond mit seinem Zahnradgetriebe
sind prozentuale Fehler vorhanden. Der einzige Ton der zu 100 % stimmt
ist der Kammerton A. An diese Toleranzen hat man sich ja bei dem Konzept
der
TOS IC auch weitgehend gehalten und man ist hier sogar noch um einiges
genauer.
Ich glaube aber kaum, daß man in einem CPLD hier 12
Schieberegisterketten unterschiedlicher Länge unterbringen kann - kenn
mich da jedoch nicht so genau mit aus weil noch nie einen CLPD in den
Fingern gehabt.
> Der Bruch 196 / 185 ist der Abstand in der Frequenz zwischen zwei> Halbtönen
Ja, der Kehrwert ist der Abstand zwischen zwei Halbtoenen nach unten.
> Eine Inputclock von 2MHz wird in 13 Ausgangssignale mit 50% duty cycle> geteilt (/451, /426, /402, /379, /358, /478, /239, /253, /268, /284,> /301, /319, /339).
Ja, mit diesen oder anderen Teilern wird wohl die Mehrzahl der TOS-IC
arbeiten.
Es gibt aber noch das Verfahren der Impulssynthese. Dort werden aus
einem "Masterclock" die Pulse "ausgesiebt", die die gewuenschte
Frequenz erzeugen. was du ja auch in etwa beschreibst.
Sowas habe ich mal 74193 und einem Gatterbergwerk versucht.
Vielleicht kann man mit den von mir beschriebenen 185/196
Pseudoteilern eine etwas exotisch klingende LoFi-Version
erzeugen. Oder als zusaetzliche Stimmen zur Anreicherung des
Klangs woanders integrieren.
> daß man in einem CPLD hier 12 Schieberegisterketten> unterschiedlicher Länge unterbringen kann
Mit CPLD muss man sich nicht herumaergern. Selbst kleine alte
Cyclone II haben fuer solche Vorhaben genug Platz und sind
aus Fernost erschwinglich.
Wenn es um eine Tonerzeugung wie in Instrumenten aus den 70ern
geht so bediene ich mich immer noch der TOS IC.
Es gibt sie heute noch zu kaufen in irgendwelchen Buchten.
Man muß nur etwas Insiderwissen haben was wo verbaut war
- that´s all
Ich kaufe also nicht irgendeine Baugruppe wegen der Baugruppe,
sondern weil ich genau weiß was da an ICs drauf ist.
Die einzelnen Teilerfaktoren sind jeweils abhängig von der
Clockfrequenz des TOS Chips.
Anfänglich war ein überlappender 2 Phasen Clock nötig wie zB
beim TMS 3839 von Texas.
Vermutlich werden TOS auch demnächst wieder nachproduziert,
da es heute schon wieder die CURTIS IC´s gibt, die in reinen
Synthies verbaut waren.
Aussieben von Impulsen natürlich eine Möglichkeit, nur sie hat
sich nie so richtig durchgesetzt.
Ein anderes Verfahren war damals beim Yamaha DX 7 die FM Synthese.
Auch der wohl weniger bekannte THEREMIN bediente sich der
Tonerzeugung durch Schwebung zweier Oszillatoren die durch bloßes
Bewegen einer Hand beeinflußt wurden.
Zur Hype Zeit der Synthies hat Firma DOEPFER, München den
MOOGLY Handschuh entwickelt wo über Sensoren Töne erzeugt wurden.
Eine der ersten Digitalorgeln war seinerzeit die HOHNER D 85.
Prozessor ein simpler 8085. Dürfte wohl keine Schwierigkeiten
bereiten das Eprom mal über einen Disassembler laufen zu lassen
Eine weitere Möglichkait wären dann noch die alten SOUNDCHIPS wie
sie in Amiga´s oder ATARI´s und auf Soundkarten der ersten PC
Generation verbaut waren.
Wer es ganz trivial möchte könnte auch ein simples Eprom dazu
benutzen was von einem Zähler in Endlosschleife hochgezählt wird.
Entsprechende Bit programmieren und mit der richtigen Clock
betreiben.
Wenn man den Speicher in passende Elementareinheiten aufteilt
kann man auch "krumme" Teilfaktoren umsetzen incl einem evtl
notwendigen Reset.
Elementarzeit bedeutet, man faßt hier zb 4 oder 8
aufeinanderfolgende Speicheradressen als eine einzige auf.
Klar daß dann die Clock entsprechend erhöht werden muß, aber man
hat dann eben die gewünschten "Unterstellen" um dort seinen Reset
einzubinden.
Verweise hier mal gezielt auf die Elektor Ausgabe wo die DRUMBOX
Story mit Schieberegistern realisiert wurde . War so um 1975/76
rum wenn ich recht erinnere . Hierbei ging es jedoch in erster
Linie um die Umschaltung zwischen 3/4 und 4/4 bzw 5/4 Takt per
Reset an der passenden Stelle.
Wiegesagt bei allem obigen ( Ausnahme die D 85 ) wird nur jeweils
ein Ton erzeugt pro angelegter Spannung / Datenwort.
Für 12 bzw 13 Töne reichlich Aufwand.
Bei einer Umsetzung mittels einer Schieberegisterkette kann man
leider auch nicht einen bestimmten Teil davon für alle 12 bzw 13
Töne gemeinsam benutzen. Somit bliebe es bei den 12 bzw 13 einzelnen
Schieberegisterketten - jeder Zähler muß für sich getrennt zu Ende
zählen können.
Also Orgelfreak muss ich sagen, dass die Diskussion sehr interessant
finde. Ich habe aber ein Verständnisproblem:
... schrieb:>> Der Bruch 196 / 185 ist der Abstand in der Frequenz zwischen zwei>> Halbtönen> Ja, der Kehrwert ist der Abstand zwischen zwei Halbtoenen nach unten.
Das ist zunächst ein mathematischer Zusammenhang und impliziert noch
nicht, dass diese Töne so erzeugt werden müssen. Ich halte das für
kompliziert, solche Teiler und Multiplizierer zu kaskadieren.
>> Eine Inputclock von 2MHz wird in 13 Ausgangssignale mit 50% duty cycle>> geteilt (/451, /426, /402, /379, /358, /478, /239, /253, /268, /284,>> /301, /319, /339).>> Ja, mit diesen oder anderen Teilern wird wohl die Mehrzahl der TOS-IC> arbeiten.
Das dürfte sehr viel genauer sind, als den Fehler mit jedem Bruch
mitzuschleppen.
Der Bruch 196/185 ist ja nur eine herausgefundene praktikablere
Rechengröße für die 12te Wurzel 2.
Berechnet man beides für sich wird man eine Übereinstimmung bis
zu einer bestimmten ( und damit in der Praxis unhörbaren )
Nachkommastelle erkennen. Ab 3 Nachkommastellen sind Unterschiede
schon nicht mehr hörbar nur noch messbar.
In einer temperierten Tonskala (führt auf Johann Sebastian Bach
zurück ) ist der Frequenzabstand zweier Halbtöne eben dieser
Multiplikator des vorhergehenden Halbtones zum folgenden.
Es gibt auch anders gestimmte Tonskalen wo dies nicht gilt
wie zB Penatonik etc.
Da die einzelnen Tonfrequenzen international genormt sind
und ein TOS IC eine bestimmte Oktave ( 12 Töne ) als höchste
Frequenzen generieren muß braucht nur noch die Taktfrequenz durch
diese zu erzeugende Frequenz getelt zu werden um auf besagte
Teilfaktoren eines TOS IC zu kommen.
Der Abstand der einzelnen Töne zueinander ist immer besagte
Differenz 12te Wurzel 2 oder 196/185 als vereinfachte Rechengröße.
Selbst wenn ein Herr Karajan sein Orchester nicht auf die genormte
Stimmung von Kammerton A = 440 Hz stimmen läßt sondern wegen der
Bläser auf 443 Hz stimmen die Abstände der anderen Halbtöne
zueinander immer noch mit ein und demselben Faktor
12te Wurzel 2 = 196/185.
Die Rechengänge sind im Grunde simpel.
Clockfrequenz ./. gewünschte Frequenz = Teilfaktor des Zählers
Da Teilfaktoren keine Nachkommastellen aufweisen, ist das Ergebnis
mit einem prozentualen Fehler behaftet.
Diesen Fehler reduziert man indem man eine höhere Clockfrequenz
verwendet
Üblich waren seinerzeit zwischen 2 und 4 Mhz als Taktfrequenz des
Hauptoszillators
Somit ist ein TOS genauso genau wie eine andere Lösung.
Der Faktor 12te Wurzel2 oder 196/185 läßt sich technisch nur mit
Kompromissen umsetzen aber nie genau auf X Nachkommastellen.
Maßstab ist hier ein Hörvermögen diese Nyancen noch wahrzunehmen
Mal nach ganz unten runterscrollen
http://www.sengpielaudio.com/Rechner-centfrequenz.htm
Eine Anwendung dieses Bruches habe ich auch nur in der Broschüre
von ITT gefunden wo die Entwicklung zum SAH 190 beschrieben wurde.
Wenn die Töne eines TOS mit Zählerketten erzeugt werden, braucht man
dieses nicht zu berücksichtigen, weil ein Teilfaktor einer Kette
bereits die Frequenzabstände der Halbtöne zueinander mit
berücksichtigt.
Ändert man den Teilfaktor einer Kette nur um " +/- 1 " liegt der
Abstand zum nächsten Halbton nicht mehr bei 12te Wurzel 2 bzw
196/185.
Die Teilfaktoren somit auch nur der Wert mit dem minimalsten
prozentualen Fehler gegenüber dem zu erzielenden Ton.
> Das dürfte sehr viel genauer sind, als den Fehler mit jedem Bruch> mitzuschleppen.
Du solltest das vielleicht einmal ausrechnen und den resultierenden
Fehler...
> Das ist zunächst ein mathematischer Zusammenhang und impliziert noch> nicht, dass diese Töne so erzeugt werden müssen. Ich halte das für> kompliziert, solche Teiler und Multiplizierer zu kaskadieren.
Es spricht nichts dagegen die Toene auch so zu erzeugen.
Interessanter Nebeneffekt waere, dass jeder Halbton phasenstarr
an seinen Vorgaenger gekoppelt ist. Klanglich sicher noch
interessanter waere, alle Halbtoene auf diesem Weg zu
erzeugen, also ohne die sonst uebliche einfache Oktavteilung.
Damit waere dann jeder Ton phasenstarr an den Ausgangston
gekoppelt.
Der Aufwand per Halbton liegt bei einem 74HC4046, zwei 4520 und
ein paar Gattern. Der Faktor 185/196 statt 196/185 ist da besser,
weil 196 durch 2 teilbar ist und ein Tastverhaeltnis von 50 %
erlaubt. Die PLL muss dabei "nur" mit einer maximalen Frequenz
von ca. 1.5 MHz arbeiten. Fuer einen 4046 wird das knapp,
ein HC4046 schafft das aber ohne Probleme.
Fuer einen FPGA laesst sich ein "Impulssieb" 185 aus 196 recht
einfach in VHDL in hinschreiben und genauso einfach auch
kaskadieren. Dabei setzen sich die Halbtoene dann aus
Impulssequenzen zusammen die (nur) im Mittel die richtige
Ausgangsfrequenz haben. Dafuer braucht man aber keine
Multiplizierer mehr.
Das phasenstarre kommt ja nur daher, weil logische Schaltkreise
entweder nur bei abfallender oder steigender Flanke schalten.
Egal wie man das nun umsetzt, ob direkt oder per Oktavteiler,
die Phasenstarrheit bleibt. Das gilt dann leider jedoch für alle
Töne, weil die Basis der Taktgenerator des Ganzen ist und bleibt.
Rein musikalisch wenig sinnvoll nur man hat sich halt daran gewöhnt.
Man nehme nur einmal einen Oktavteiler mit 7 Stufen wie den SAJ 110
oder andere. Schließt man an jeden Ausgang ein RC Filter an um aus
dem Rechtecksignal einen Sinus zu machen und mischt diese dann
zusammen in einem Zugriegelsatz ( additive Klangformung ),
so ist das resultierende Tonsignal dann völlig anders als es zB
bei einer Hammondorgel mit freilaufenden Sinusoszillatoren ist.
Beide Verfahren haben nur eines gemeinsam : den Zugriegelsatz
Das fatale was in den 70ern zu Hypezeit der Heimorgeln passiert ist
sind die vielen vielen Schallplatten die zb von einem Franz Lambert
erschienen sind, gespielt auf Wersi Orgeln mit eben diesem Sinus
Sound.
Dieser Klang sitzt den Leuten jedoch sowas von im Ohr, daß sie der
Meinung sind das ist der Hammond Sinusklang.Das ging dann sogar
soweit, daß jede Heimorgel als Hammondorgel bezeichnet wurde.
Weit gefehlt ! Wersi Sinus ist ein eigenständiger Sound, jedoch hat
dieser mit dem Sinus einer Hammondorgel nichts zu tun.
Nochmals auf den Bruch 196/185 zurück.
Bei einer steigenden chromatischen Tonleiter ist ein Ton der auf
einen vorhergehenden folgt in der Frequenz um den Faktor 196/185
größer, ausgerechnet das 1,05945 fache
Bei einer absteigenden chromatischen Tonleiter ist ein Ton der auf
den vorhergehnden folgt in der Frequenz um den Faktor 185/196
kleiner, ausgerechnet das 0,94387 fache
Beide Werte sind jedoch fehlerbehaftet durch die Nachkommastellen.
Was jedoch in jedem Fall gelten muß ist, daß im Oktavabstand
= nach jeweils 12 Tönen sich die Frequenz verdoppelt/halbiert !!!
Verdoppeln bedeutet den Faktor 2 und was bietet sich hier mehr an
als dies durch FlipFlops vom höchsten Ton abwärts zu realisieren.
Tonerzeugung durch laufende Erhöhung durch den Bruch 196/185
oder Absenkung durch den Bruch 185/196 beinhaltet in jedem Fall
eine Fehlerfortschreibung.
Wenn man also einen Generator mit 8 Oktaven Frequenzumfang
realisieren will, braucht man nur die oberste Oktave an 12 Tönen
zu erzeugen und jeden Ton einem 7fach Frequenzteiler zuzuführen.
Sind die obersten Töne alle richtig gestimmt, stimmen automatisch
auch die Töne der Oktavteilerstufen.
Nachteil jedoch , diese sind phasengekoppelt aufgrund der
Arbeitsweise eines Flipflops.
Bei einem Generator mit freischwingenden Hauptoszillatoren sind
nur die jeweiligen Oktavteilertöne phasengekoppelt, jede Kaskade
für sich jedoch nicht.
Ganz anders jedoch in einem TOS IC, der von einem einzigen
Taktgenerator für alle 12 bzw 13 Töne getaktet wird.
Ganz interessant ist jedoch das was man den einzelnen Datenblättern
der TOS IC´s entnehmen kann.
Es gibt Typen mit einem Tastverhältnis (Dutycycle) 50:50 und
solche mit einem Tastverhältnis von 30:70
Diese Angaben lassen Rückschlüsse auf die Konstruktion im Innern
eines solchen ICs zu. Und genau das dürfte in Bezug auf eine Lösung
per CPLD Chip doch schon interessant sein.
Zur Reduzierung eines JITTERS verwenden viele Hersteller eine
nachgeschaltete Teilerstufe 2:1 am Ausgang eines Tones
Einige TOS IC haben nur für den allerhöchsten Ton ein Tastverhältnis
von 50:50 der Rest jedoch 30:70.
Ich vermute, daß trotz Jitterbeseitigung immer noch markante
Störfaktoren im Signal vorliegen, die mit der Lösung Tastverhältnis
30:70 ausgemerzt werden.
Ein Tastverhältnis 30:70 läßt sich relativ einfach erreichen :
Man braucht nur zwei benachbarte Tonausgänge mit 50:50 Tastverhältnis
addieren und erhält so das gewünschte andere Tastverhältnis.
Impulssiebe sind nach meiner Meinung keine gute Lösung weil hier
Gatterlaufzeiten doch schon eine entscheidende Rolle spielen.
Beim SAH 190 hat man das sicher noch so gemacht, durchgesetzt hat
sich das IC dennoch nicht.
Auch die Variante eines SAH 220 mit separatem 12te Wurzel 2 Teiler
hat sich letztlich nicht durchgesetzt.
Die Teilfaktoren der einzelnen TOS IC sind denen des MK 50240
identisch.
Ausnahme bleibt hier nur der AY 3-214, der bei gleicher
Taktfrequenz seine Töne noch eine Oktave höher liefert, maW die
Teilfaktoren gegenüber einem MK 50240 sind halbiert und aufgerundet.
Diese Aufrundung hat jedoch keine Relevanz weil Tonhöhenunterschiede
bei so hohen Tönen einen anderen Toleranzbereich genießen ehe er
akustisch ins Gewicht fällt.
Was mich jetzt mal interessieren würde ist ob es möglich ist 12
Teilerketten ähnlich dem TOS Ic in einem CPLD unterzubringen,
abgesehen von viel größerer Pinzahl.
Per TTL Grab habe ich sowas schon in den 70ern mal gemacht nur
die Fläche des Versuchsaufbaus betrug fast ein DIN A 4 Blatt.
Interessant sind auch die Ansätze im Buch von TÜNKER eines TTL
Generators
Er schlägt vor von einem Hauptoszillator ausgehend die
Frequenz durch 15 zu teilen dann damit die Septimen zu erzeugen
Für die Terzen die Frequenz des Hauptoszillators durch 7 und
anschließend durch 3 zu teilen
Für die Quinten die Hauptoszillatorfrequenz durch 7 danach durch
5 zu teilen
und für die Grundstimmen die Hauptoszillatorfrequenz durch 5 danach
durch 3 zu teilen.
Allein das würde die eigentlichen Teilerketten schonmal verkürzen.
Noch einfacher würde es jedoch wenn man zwei getrennte
Hauptoszillatoren verwendet, was auch einer Phasenstarrheit etwas
entgegenwirkt
>Wersi Sinus ist ein eigenständiger Sound, jedoch hat>dieser mit dem Sinus einer Hammondorgel nichts zu tun.
Erzeugt die Hammondorgel einen Sinus? Ich hätte gedacht, der Ton einer
Hammondorgel ist ziemlich "nicht linear".
happyfreddy schrieb:> Was mich jetzt mal interessieren würde ist ob es möglich ist 12> Teilerketten ähnlich dem TOS Ic in einem CPLD unterzubringen,> abgesehen von viel größerer Pinzahl.
Natürlich, das wurde ja im oberen Teil des Threads schon gezeigt, mit
Verilog und VHDL Beispielen. Auch die nötigen Resourcen wurden
angegeben.
Eigentlich war die Frage des OP schon längst beantwortet, bevor du den
Thread wieder ausgegraben hast um uns mit deinen Weisheiten zu
beglücken.
Schon die kleinsten Lattice FPGAs (~1..3€) sind gut genug um die 12
obersten Halbtöne zu generieren, willst du auch die Oktavteiler,
braucht's halt eines mit etwas mehr Pins z.B TQFP100. Wenn du ein
MachXO2 nimmst, hast du sogar den Segen des Lattice Marketings das als
CPLD zu bezeichnen, auch wenn es eigentlich ein FPGA mit integriertem
Flash Speicher ist.
Wenn es ein fertiges Platinchen sein soll, dann eignet sich z.B ein
TinyFPGA A1 oder A2, oder ein Upduino.
Eine Hammond mit Tonewheelgenerator erzeugt schon guten Sinus.
Idealer Sinus sieht jedoch anders aus, aber dennoch der Klang
hat sich durchgesetzt und ist schon so etwas wie " Maßstab "
was Sinussound angeht.
Immerhin muß man dabei auch das Jahr der Erfindung 1934
berücksichtigen mit dem was werkzeugtechnisch und an
Genauigkeiten überhaupt machbar war.
Es sind jedoch all die Unzulänglichkeiten die diesen Sound
berühmt gemacht haben.
Das heute mit CNC Maschinen zu fertigen wird zwar wesentlich
genauer sein, aber sicher nicht die Liebhaber des Sounds
überzeugen. Sie wollen es halt etwas ungenauer oder wie sie
sagen "schmutziger"
Bilder
Einzelsignal am Strip eines H 112 Tonewheelgenerators
abgenommen
"Strip" nennt man die Anschlußleiste aller Pickup Ausgänge der
Tonewheelgeneratoren. Die H 112 hat 96 Tonewheels, eine B 3 oder
A 100 , C 3 hat nur 91 Tonewheels
Schirmbild mit zwei Kurven
oben Referenz DDS Signal
unten H 112 Signal am Strip
PC Schirmbild zeigt den Pegelverlauf der gemessenen Stripausgänge
( grün ) Rote Linie auf Schirm ist die Sollkurve für die
Pegel der einzelnen Pickups.
Bei diesem Generator lag so einiges daneben, also neu kalibrieren
angesagt.
Andi schrieb:> Eigentlich war die Frage des OP schon längst beantwortet, bevor du den> Thread wieder ausgegraben hast um uns mit deinen Weisheiten zu> beglücken.
Naja wie Du das mit "Weisheiten beglücken" meinst ist unschwer zu
erraten.
Ist Deine Meinung, nur wenn Juergen S. ( engeneer ) schon Fragen bzgl
meines Posting hat oder der Threadersteller Kon W ( Koo ) nicht weiß was
Fußlagen sind, gebe ich gerne Auskunft.
Nur wenn schon eine CPLD Lösung umsetzbar ist und es als Ersatz für
nicht mehr erhältliche Chips dienen kann um so besser.
Nur wenn schon Ersatz so sollte das auch im gleichen DIL 16 Gehäuse
untergebracht sein und was immens wichtig wäre auch die entsprechenden
Pegel am Ausgang liefern.
Bei CMOS hat man hier 15 Volt Pegel und keine 3,3 V oder 5 V.
Denke aber, daß das für einen CPLD kein Problem darstellt , oder ??
> im gleichen DIL 16 Gehäuse
Es gibt ja DIL16 Stecker fuer Flachbandkabel :-).
Die passen ganz vorzueglich.
Fuer die Orgeln der Welt wird kein Hersteller HV-CPLDs auflegen.
Also IO eher 3.3 V und mittlerweile ganz selten 5 V.
Aber der Pegelwandler ist ja schon erfunden.
Zur Not etwas passendes bei der ULN-Serie suchen.
Den Muttertakt erzeugt man sicher einfacher direkt fuer
das CPLD mit der passenden Spannung und Flankensteilheit.
Mein Boehm IC3 tut es noch. Also fuer mich keine Gefahr.
eben .... DIL Stecker wenn es nicht anderes geht ;-))
Ich habe da auch keine Probleme und mein kleiner Vorrat
an diversen TOS IC von noch ca 60 Exemplaren reicht nicht nur
für mich sondern hat auch schon anderen geholfen
Man begann zwar auch hier in dem Thread mit CPLD´s nur warum hier
ein Rad neu erfinden, wenn es noch genügend Ersatzteile gibt auch
solche die nicht direkt verwendbar sind aber so adaptiert werden
können daß es paßt und funktioniert :
Beitrag "analoge Orgel reparieren"
War mir ein Vergnügen zunächst per Ferndiagnose und dann nach kurzer
Vorlaufzeit innerhalb weniger Stunden jemanden mehr als zu erfreuen.
oder auch hier :
Beitrag "Re: Analogorgel reparieren (Ahlborn CL310)"
Sorry ich habe was gegen Wegwerfgesellschaft .......
HV CLPD werden hier mit Sicherheit nicht aufgelegt eher fährt man die
alte Produktion an TOS wieder hoch. Für mich kam es letztes Jahr auch
relativ überraschend, daß die Produktion an Synthie ICs von CURTIS
wieder angelaufen ist ....
LP´s werden auch wieder produziert und sogar die alte Cassette kommt
wieder und seit kurzem werden auch wieder Tonbandgeräte gebaut.
Somit ist es für mich auch nicht verwunderlich, daß ich gerade in den
letzten Jahren vermehrt von jungen Leuten zwischen 20 und 30 kontaktiert
werde die alten Orgeln der Hype Zeit wieder flott zu kriegen.
So auch letztes Jahr vor Weihnachten als ein Student ratlos vor seinem
defekten Neuerwerb stand ( Fotos solcher Orgel aus dem Netz )
http://skerjanc.de/Lowrey_C500.htm
Kein Plan wo der Fehler sitzt, keinerlei Unterlagen vorhanden
Innerhalb von 48 Std lief das Ungetüm wieder
Noch Fragen ?
happyfreddy schrieb:> Nur wenn schon eine CPLD Lösung umsetzbar ist und es als Ersatz für> nicht mehr erhältliche Chips dienen kann um so besser.
Was müsste denn da im Einzelnen gebaut werden (was es nicht schon gibt)?
Die Teilerei mit den 12 (11) Zählern ist trivial und lässt sich im
kleinstmöglichen Spartan 3 FPGA zu 3,- unterbringen. Lassen wir also
aussen vor.
Bei dieser Impulserzeugung/-Filterung mit den 196/185 sieht es schon
anders aus. Es würde mich interessieren, wie das funktionieren soll!
Nehme ich z.B. 440Hz für den Kammerton, braucht es eine PLL, die 185
Impulse erzeugt und dann durch 196 teilt. Das geht mit PLLs im FPGA so
schon einmal nicht. Denkbar wäre eine Impulsfolge, die mit einer
n-fachen Frequenz der 440Hz läuft und auf den Takt abgestimmt ist. Das
lässt sich aber nicht ganzzahlig realisieren.
Habe einfach mal gegoogelt, wie das geht, denn dieses Teilerverhältnis
scheint recht beliebt zu sein. Eine Recherche ergibt diese Tabelle:
http://www.96khz.org/oldpages/musicfrequencygeneration.htm
Der Autor schlägt neben dem kleinen Bruch die Verwendung einer besseren
Teilung mit 61858 / 65536 vor. Aber auch da fragt ich mich, wie es
möglich sein soll, diese Pulse so zu erzeugen, dass dort ein passendes
Verhältnis herauskommt.
Nach meiner Einschätzung geht das nur unganzahlih mit Phasensprüngen.
Leider ist der Seite auch nicht zu entnehmen, wie er es macht. Andere
Seiten finde ich ad hoc nicht, weil die Begriff TOS immer auf Atari oder
Amiga linken.
Ich frage mich auch welchen Wert die starr verkoppelten Frequenzen haben
sollen, weil die Phasendurchgänge letztlich doch zufällig sind, wenn man
die Taste drückt. Die haben irgendeine Konstellation.
Die Intermetall Publikation auf die ich mich beziehe
ist diese hier
INTEGRIERTE SCHALTUNGEN FÜR ELEKTRONISCHE MUSIKINSTRUMENTE
https://www.google.de/search?q=intermetall+publikationen&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiqncS1y8PkAhUF3qQKHZgqB1oQ_AUIEygC&biw=1008&bih=825#imgrc=ZCTe3WNZRFec9M:
In der sehr genauen Beschreibung dort, wie man bei der Konzeption
des SAH 190 vorgegangen ist, kommt diese "Magic Number"
196/185 ins Spiel.
Es ist auch vollkommen klar, daß man hier das eigene herausgefundene
Verfahren gegenüber anderen mehr als hervorhebt.
Ich habe dieses Buch vorliegen. Bitte jedoch um etwas Geduld
es in meinem in gut 50 Jahren angewachsenen Archiv über Orgeln etc
zu finden ( Murphys Gesetze haben eben ihre Gültigkeit )
Eine Suche nach dem Begriff TOS wird meist auf ATARI hinauslaufen
besser ist es hier nach
TOP OCTAVE SYNTHESIZER / GENERATOR zu suchen.
Basis der ganzen Diskussion um den Frequenzabstand der Halbtöne
ist und bleibt die WOHLTEMPERIERTE STIMMUNG von Instrumenten
in der westlichen Musik. Jeder Instrumentenbauer muß sich an diese
Regel halten, wenn er mit seinem Produkt Erfolg haben will.
Daran führt leider kein Weg vorbei.
Der konstante Abstand dieser Halbtöne ist somit der
genaue Ausdruck 12te Wurzel 2
Um dies als praktikable Rechengröße umzusetzen ist man auf diese
"magic Number" gekommen. Ein Vielfaches dieses Bruches wird zwangsläufig
auch genauer sein und nichts anderes stellt das was da im Link zur 96Khz
Theorie dargestellt ist dar.
Man hat sich neulich im Musikerboard Forum auch heftig ereifert, wo von
jemandem behauptet wurde, sein System auf 196 Khz basierend
wäre das nonplus Ultra und er hätte dafür DA Wandler enwickelt und sogar
Lautsprecher erfunden die Frequenzen oberhalb von 20 Khz hörbar bessser
abstrahlen würden als andere. Na denn ... viel Spaß ....
Eine starre Phasenkopplung ist nur dadurch gegeben, weil jedes Gatter
oder FlipFlop nur auf eine Richtung des Impulses reagiert. Entweder
steigende
oder fallende Flanke, nie jedoch beides.
Ich denke hier wird ein Fehler in den Überlegungen gemacht, der sich
derart
äußert, daß hier gerade mit dem letzten Absatz des vorhergehenden
Postings
vieles in einen Topf geworfen wird.
Ein TOS Generator stellt einen Dauertongenerator dar, bei dem alle zu
erzeugenden Töne STÄNDIG vorhanden sind.
Ein Tastenkontakt wählt nur die gewünschten Frequenzen/Töne aus, die
einer
Klangformung und später dem Verstärker zugeführt werden.
Pro Taste sind mehrere Schalter parallel vorhanden, die die einzelnen
Fußlagen durchschalten.
Eine Taste C zB schaltet in der Fußlage 8 Fuß die Frequenz F durch
Die Fußlage 8 Fuß entspricht in der Frequenz der Anordnung der Taste C
auf der Tastatur ( Taste, Tonhöhe stimmen also hier überein )
in der Fußlage 16 Fuß wird die Frequenz F/2 durchgeschaltet
in der Fußlage 4 Fuß wird die Frequenz 2F durchgeschaltet
in der Fußlage 2 Fuß wird die Frequenz 4F durchgeschaltet
Darüber hinaus gibt es auch ungerade Fußlagen
So zB die Fußlage 2 2/3
Hier erklingt bei der Taste C die Frequenz des Tones G mit der
Tonhöhe 2F des Tones G.
Dies wäre in der Fußlage 8 Fuß eine Taste G die zwei Oktaven höher
liegt.
Der Begriff Verharfung kommt daher, weil eine Grafik die alle
Verbindungen
aller Fußlagen Kontakte darstelt, den Saiten einer Harfe gleicht
Siehe mein Beitrag zum Thema Verharfung hier
Beitrag "Re: Analogorgel reparieren (Ahlborn CL310)"
In Orgeln werden also pro Taste bis zu 11 oder 13 Fußlagen gleichzeitig
geschaltet.
Von den einzelnen Fußlagen gehen dann die Töne zu den Registern der
Klangformung. Hier entscheidet dann ein eingeschaltetes Register ob der
Ton
am Verstärker ankommt oder nicht.
Wenn jetzt ein Tastenkontakt einen Dauerton des Generators durchschaltet
so kann nicht vorhergesagt werden zu welchem Zeitpunkt sich die
Phase des Tonsignal gerade befindet.
Die Folge ist ein Klicken durch Prellen des Schalters und der Phase des
Tonsignals.
Dies hat man durch Antibounceschaltungen oder durch hochlegen der Masse
um 4 Volt versucht zu begrenzen bzw zu eleminieren.
Kurioserweise ist dieser Click oder besser gesagt "schmatzen" der
Tastenkontakte bei einer Hammond genau das was so geliebt wird.
Erst hat man das Klicken aus den Heimorgeln beseitigt und weil der
Effekt ja so schön ist später durch Schaltungen wieder hinzugefügt.
Die Probleme eines Phasendurchgangs sollten jedoch bei der Betrachtung
des TOS Generators keinerlei Rolle spielen.
Ein TOS IC liefert an seinen Ausgängen einandfreie Rechtecksignale
egal nun in welchem Tastverhältnis.
Ich kann mir jedoch gut vorstellen, daß bei einer Lösung eines TOS
durch Impulsketten Generierung genau solche Phasenprobleme auftreten
können und werden - allein durch interne Laufzeiten in Gattern etc
begründet.
Somit muß wenn hier von einer Phasenlage gesprochen wird dies nur auf
die
Tonerzeugung innerhalb des TOS Generators bezogen bleiben.
Phasenprobleme bei Tastenkontakten sind ein anderes Kapitel was mit dem
eigentlichen Thema nichts zu tun hat.
... schrieb:> Dabei setzen sich die Halbtoene dann aus> Impulssequenzen zusammen die (nur) im Mittel die richtige> Ausgangsfrequenz haben.
Und eben jene Impulssequenzen werden dazu führen, dass es Sprünge in den
Frequenzen gibt. Auch FPGAs können nicht zaubern. Daher baut die halbe
Welt DDS.
Xilinx Entwickler schrieb:> Bei dieser Impulserzeugung/-Filterung mit den 196/185 sieht es schon> anders aus. Es würde mich interessieren, wie das funktionieren soll!
me too!
> Nehme ich z.B. 440Hz für den Kammerton, braucht es eine PLL, die 185> Impulse erzeugt und dann durch 196 teilt. Das geht mit PLLs im FPGA so> schon einmal nicht.
Das ginge schon, wenn du statt der 440Hz einfach 4,4 MHz nimmst und PLLs
kaskadierst, um auf die 185 und 196 zu gelangen. z.B. eine mit Faktor 5
und 185/5 sowie 4 und 196/4.
Macht aber kein Mensch.
happyfreddy schrieb:> Ein TOS IC liefert an seinen Ausgängen einandfreie Rechtecksignale> egal nun in welchem Tastverhältnis.
Ich nehme an, dass diese noch durch 2 geteilt wird, um 50% zu erzeugen.
Aus meinen Orgelbauversuchen ist mir erinnerllich, dass das
Tastverhältnis sehr wohl eine Rolle spielt.
> Ich frage mich auch welchen Wert die starr verkoppelten Frequenzen haben> sollen
Weil die Schwebung zwischen den Halbtoenen dadurch exakt ebenfalls
mit diesem Faktor auftritt. Das ist bei klassischen TOS, trotz
des scheinbar nur kleinen Fehlers, nicht der Fall.
> Und eben jene Impulssequenzen werden dazu führen, dass es Sprünge in den> Frequenzen gibt.
Jein. Man wird bei einer konkreten Umsetzung eben nicht beim
hohen C anfangen, sondern bei einer Frequenz die vom FPGA noch
sicher beherrscht wird. Also z.B. (1024 x 8372 Hz) ca. 8.5 MHz.
Die wird man mit der DCM/PLL des FPGA erzeugen.
Die daraus generierten Halbtoene koennen dann durch 1024
geteilt werden. Jede Teilerstufe verbessert die Stetigkeit
der Sequenz. Gewissermassen eine Mittelwertbildung.
Ausserdem schrieb ich ja, dass ich explizit an einer LoFi-Version
interessiert bin. Das darf, muss und soll sich ein wenig
eigenartig anhoeren :-).
> Daher baut die halbe Welt DDS.
Kann sie ja.
... schrieb:> eil die Schwebung zwischen den Halbtoenen dadurch exakt ebenfalls> mit diesem Faktor auftritt.
Und die ist zu hören?
Wenn der Unterschied in den Frequenzen an sich schon kaum vorhanden ist,
weil das ominöse Ganzzahlverhhältnis fast der zwölften Wurzel
entspricht, dann kann die Abweichung nur extrem gering sein. Das sollte
auch für die Schwebung zutreffen.
Also Tastverhältnisse spielen doch schon eine Rolle.
So hat sich herausgestellt, daß ein Tastverhältnis
von 30 : 70 für die Erzeugung von Piano Sounds wesentlich
besser geeigent ist als 50 : 50.
Nochmals zum besseren Verständnis:
Die Frequenzen der Töne eines Musikinstrumentes sind international
festgelegt. Daran gibt es nichts zu deuteln, man muß sie nehmen
wie sie sind.
Wenn man jetzt einen hörbaren Ton generieren will aus einer
Taktfrequenz mit Teilerstufen, so muß man Fosz durch Fgesucht
dividieren um auf den Faktor der Teilerstufe zu kommen.
Auf diese Art generiert man dann die übrigen Töne einer obersten
Oktave.
Es muß deswegen die oberste Oktave sein weil es einfacher ist hier
dann jeden Ton mehrfach durch 2 zu teilen um auf die
darunterliegenden Oktavtöne zu kommen.
Niemand wird den umgekehrten Weg gehen und die tiefste Oktave
generieren um dann jeden Ton mit 2 zu multiplizieren um auf einen
Ton einer höheren Oktave zu kommen usw bis man die oberste Oktave
erhält.
Bei dieser Vorgehensweise oberste Oktave erzeugen und jeden
Tonfrequnz mehrfach durch 2 zu teilen bis man seine meinetwegen
8 Oktaven Umfang hat braucht man sich um die Magic Number oder
den genauen Ausdruck 12te Wurzel 2 absolut nicht zu kümmern.
Dieser Ausdruck steckt bereits in den festgelegten international
genormten Frequenzen der Töne drin :
es ist eben der Frequenz Abstand der Halbtöne zueinander.
Ein Verfahren einen Ton zu generieren und von dem aus mit der
Magic Number oder dem Wurzelausdruck die restlichen Töne zu
errechnen wird nicht von Erfolg gekrönt sein.
Frequenzen einer Oktave stehen im Verhältnis 1:2
Fehlerquote = NULL
Schon 12maliges weiterrechnen mit der Magic Number führt zu einer
Fehlerquote > NULL
Wenn gesagt wurde, daß es kein Problem ist 12 Teilerketten für die
oberste Oktave in einen CPLD zu packen ist dies ein gangbarer Weg.
Berücksichtigen muß man dabei jedoch daß der Taktgenerator auch durch
einen LFO modulierbar sein muß um ein Frequenzvibrato zu
implementieren und das ganze muß auch per Pitch anderen Instrumenten
angleichbar sein.
Wenn dann auch noch die Oktavteiler darin Platz haben um so besser.
So ein Käfer hat dann jedoch schon 108 Pins nur für die
Frequenzausgänge.
Die Ausgangsfrequenzen eines TOS sind bereits intern durch 2 geteilt
um den Jitter zu beseitigen
Ein TOS IC einfach als black box betrachten mit sauberen
Rechteckausgängen
Bei solchen TOS mit 30:70 Tastverhältnis sind die IC intern genauso
aufgebaut. Zusätzlich folgt jedoch noch ein UND Glied zwischen zwei
benachbarten Tönen:
TOP C bleibt bei 50:50 ; Dieses Tastverhältnis liegt dann am
Anschlußpin an
TOP C mit dem 50:50 Ausgang der Teilerkette des Tone H per UND verknüpft
ergibt den Ton H mit einem Tastverhältnis 30:70. Dieses Tastverhältnis
liegt dann am Anschlußpin an
50:50 Teilerketten Ausgang Ton H per UND mit dem 50:50
Teilerkettenausgang
des Tones B ergibt den Ton B mit einem 30:70 Tastverhältnis.
Dieses Tastverhältnis liegt dann am Anschlußpin an
usw
Ist das nun eine Antwort auf meinen Beitrag oder auf einen der
vorherigen? Für mich ist immer noch nicht geklärt, warum es diese
Fortpflanzung der Töne braucht, also eine Art PLL zwischen 10
Frequenzen. Die Werte sind doch festgelegt, wie du sagst, also lassen
sie sich ausrechnen und direkt erzeugen.
In der Zwischenzeit noch diese Rückfrage: Wie wird das 70:30 erzeugt?
Das muss doch auch für jeden Ton einzeln passieren, weil die unteren
geteilt wurden und 50:50 haben. Monoflop?
> Und die ist zu hören?> Wenn der Unterschied in den Frequenzen an sich schon kaum vorhanden ist,> weil das ominöse Ganzzahlverhhältnis fast der zwölften Wurzel> entspricht, dann kann die Abweichung nur extrem gering sein. Das sollte> auch für die Schwebung zutreffen.
Sicher hoert man die Schwebungen bei gespielten Akkorden.
Bei einem TOS der mit ganzzahligen Teilern arbeitet, sind die
Fehler so, dass eben manche Akkorde in manchen Tonlagen
merkwuerdig klingen. Aus dem Verhaeltnis 185/196 hergeleitete
Halbtoene sind wesentlich praeziser als aus dem ganzzahligen
TOS-Teiler.
Ein weiterer Punkt ist auch, dass die Schwebungsfrequenz
zwischen Toenen eben exakt mit der Tonhoehe mitlaeuft.
Gewissermassen die (fast) perfekte gleichschwebend temperierte
Stimmung. Wobei gleichschwebend sich immer auf den Faktor
und nicht den Absolutwert bezieht.
Unter Umstaenden ist es sogar klanglich von Vorteil, dass
der Faktor aus relativ kleinen ganzen Zahlen gebildet wird
und nicht aus dem exakten reellen Wert der 12. Wurzel aus 2.
Da es mich interessiert, mache ich mir fuer mich den Aufwand
herauszufinden ob diese subtilen Differenzen klangliche
Auswirkungen haben. Wie gesagt:
> Daher baut die halbe Welt DDS.
Kann sie ja.
... schrieb:>> Ich frage mich auch welchen Wert die starr verkoppelten Frequenzen haben>> sollen>> Weil die Schwebung zwischen den Halbtoenen dadurch exakt ebenfalls> mit diesem Faktor auftritt. Das ist bei klassischen TOS, trotz> des scheinbar nur kleinen Fehlers, nicht der Fall.
Wenn die oberste Oktave durch Teilfaktoren generiert ist
haben diese Töne eine gewisse Schwebung zueinander.
Diese pflanzt sich auch durch nachgeschaltete Oktavteiler fort
In den Oktavteilern liegt eine starre Phasenkopplung vor.
Trotzdem weisen sie zueinander die gleiche gewisse Schwebung auf.
Gerade im Sakralbereich kann man sich mit einer temperierten Schwebung
bei Terzen, Quinten , Septimen und Nonen nicht so recht anfreunden.
Das was man dann will sind rein gestimmte Terzen,Quinten,Septimen und
Nonen.
Diesen Wunsch kann ein TOS Generator jedoch nicht liefern weil
er nach einer temperierten Stimmung ausgelegt ist.
Diese reine Stimmung im Sakralbereich hat wesentlich mit den festen
und fortlaufenden Formanten der Register sowie den Mixturen (sind
ein Gemisch aus mehreren Fußlagen) zu tun. So finden sich oft in
Sakralorgeln zwei Generatorsätze einen wohl temperierten mit TOS und
einen zweiten mit rein gestimmten Teiltönen speziell für solche
Register.
Denke aber das führt hier zu weit und ist nicht Teilthema eines TOS
mit CPLD.
Wer sich dait beschäftigen will kann in " Wälzern "
von Lottermoser oder Klotz zum Thema Kirchen Orgeln und deren Klang
und wie er erzeugt wird schlau machen.
Elbi schrieb:> Daher baut die halbe> Welt DDS.
Was macht denn die andere Hälfte?
Ich denke jede moderne Klangerzeugung benutzt DDS Oszillatoren in
irgendeiner Form. Ich kann mir nicht vorstellen, dass heute noch Orgeln
nach dem TOS Prinzip hergestellt werden.
Mit einem FPGA, dass mit 100 MHz getacktet wird, und einer
Abtastfrequenz von 96 kHz, kann man z.B. leicht 1024 DDS Oszillatoren
berechnen, und zusammenmischen.
Dabei kann die Wellenform frei bestimmt werden, durch eine Tabelle in
einem Blockram. Man kann also z.B. genau die Wellenformen der Hammond
Zahnräder generieren. Das "Verharfen" und die Register erzeugt man
einfach durch die Gewichtung beim Zusammenmischen der Oszillatoren.
Man spart sich also die vielen Kontakte der Orgeltasten, all die Filter
und die komplizierte Verdrahtung.
> Ich hätte gerne das Datenblatt.
Such die von Happyfreddy gelinkten Freds durch.
Die wesentliche Information sind ohnehin die Teilerfaktoren.
Keiner wuerde sich heute gerne P-MOS mit 2 Betriebsspannungen
und einem nicht ueberlappenden 2 Phasentakt antun...
happyfreddy schrieb:> In der sehr genauen Beschreibung dort, wie man bei der Konzeption> des SAH 190 vorgegangen ist, kommt diese "Magic Number"> 196/185 ins Spiel.
Das müsste ich mir dann wohl einmal besorgen. Ich hätte nämlich für
andere Anwendungen Bedarf für solche phasenstarre Umsetzer. So wie ich
es verstehe, ist es ein hochfrequenter Impulsgenerator, der (wie auch
immer) 185 Pulse für eine eingehende Frequenz erzeugen kann, die dann
geteilt wird.
Mir geht es nur nicht ein, dass dies völlig ohne Phasensprünge sein
soll, welche sich durch das Teilen völlig erledigen. Bei jeder PLL habe
ich einen Drift.
Da das Umsetzen an dieser Stelle digital, also mit dem Takt von Statten
gehen wird, kann es nicht genauer sein, als die Rasterung des Taktes.
Läuft auf DDS hinaus.
Wenn man das FPGA mit 200MHz betreibt, sollte der Frequenzfehler
ziemlich klein sein, wenn man ganz normal statt fraktional teilt. Ich
glaube kaum, dass irgend jemand den Unterschied hört.
Das ITT Buch ist derzeit dort verfügbar
https://www.ebay.de/itm/Integrierte-Schaltungen-fur-elektronische-Musikinstrumente-ITT-Intermetall-Halbl/392326544357?hash=item5b587bfbe5:g:UAwAAOSwXV9dG6iqhttps://www.ebay.de/itm/Fachbucher-gebraucht-Elektronik-ITT-Integriert-Schaltungen-fur-Musikinstrumente/264456169437?hash=item3d92d0e7dd:g:LNgAAOSwrCFdcsk4
Datenblatt SGS ATES TOS IC :
http://www.elektronikjk.pl/elementy_czynne/IC/M086.pdf
Andi schrieb:
"Das "Verharfen" und die Register erzeugt man
einfach durch die Gewichtung beim Zusammenmischen der
Oszillatoren. Man spart sich also die vielen Kontakte der
Orgeltasten, all die Filter und die komplizierte Verdrahtung."
Man muß sich jedoch schon die Mühe machen eine Verharfung oder
wie es heute heißt ein TAPERING in den FPGA zu implementieren.
Tapering beinhaltet einmal die Verdrahtung aufgrund der
unterschiedlichen Fußlagen, sowie eine Abstufung der Pegel
durch Entkoppelungswiderstände, um den gewünschten
Lautstärkeverlauf (tiefe Frequenzen lauter als hohe Frequenzen)
umzusetzen.
Von der Tastatur kommt minimal nur eine Einschaltinformation.
In früheren Orgeln saßen dort bis zu 13 Einschaltkontakte, für
jede Fußlage einer.
Bei nur einem Schaltkontakt müssen jedoch dann im FPGA je nach
Anzahl der Fußlagen die übrigen Schalter elektronisch umgesetzt
werden.
Vorteil bei einem Kontakt, daß man hier diesen mit einer ADSR
Hüllkurve ausstatten kann, somit auch Effekte wie DECAY oder
SUSTAIN möglich.
In früheren Orgeln wurde dies mit dem IC TDA 470 ( ITT )
umgesetzt. Auch das ist in dem ITT Buch beschrieben mit
praktischen Beispielen und entspechenden Platinenlayouts .
Heute baut niemand mehr mit TOS ICs.
Viele Modelle arbeiten heute mit SAMPLES bzw PC gestützter
Hardware unter Einbindung von VST Instrumenten.
Zu erzeugende SOUNDS werden erst auf Tastendruck hin BERECHNET
und alles muß dann zwangsläufig durch das Nadelöhr DA Wandler.
Das hat zur Folge, daß eine Stimmenzahl hier begrenzt ist und das
vom System her dann Töne, die sich in einer Ausklingphase befinden
vorzeitig abgeschaltet werden, um die neue Information von weiteren
gedrückten Tasten verarbeiten zu können.
Dazu nur mal einangenommener Test:
Man nehme ein Brett das so geformt ist, daß damit ALLE 61 Tasten
eines Manuals GLEICHZEITIG gedrückt werden.
Dann schaltet man alle verfügbaren Registrierungen ein und betätigt
dieses " Tastenbrett "
Die Orgel müßte dann alle gedrückten Tasten als hörbaren Ton
durchschalten.
Das kann sie jedoch nicht aufgrund des Konzeptes diese PC gestützten
Variante. Das einzige was dann zu hören ist ist ein undefinierbares
Geräusch eines überforderten Systems : sie kommt unweigerlich ins
Stottern, weil sie die Daten garnicht mehr verarbeiten kann.
Ab und zu kam bei einigen Modellen dann die dankenswerte
Meldung auf dem Display
MASTER ERROR DATA OVERFLOW USE RESET FOR RECOVERY
Reset hieß dann Auschalten neu starten und System wieder hochfahren.
Eine herkömmliche Orgel mit TOS IC wird jedoch alle Töne
anstandslos wiedergeben. Tastenkontakte sind nur die Auslöser
eines Durchschaltens der Auswahlkriterien, nicht jedoch ein
Startsignal irgendeiner Berechnung.
Ist ein FPGA nach diesem TOS System incl der Tastenkontakte und
Verharfung aufgebaut wird er genauso anstandslos die Töne
wiedergeben : er arbeitet genauso PARALLEL wie das TOS Konzept
zu früheren Zeiten.
@ Zynq-Entwickler:
Einen Generator nach DDS Prinzip aufgebaut nach dem Dauerton
Verfahren würde bedeuten, daß bei 8 Oktaven Umfang hier 108 einzelne
DDS am werkeln wären. Dabei kommt dann jedoch nur eine Wellenform
zur Auswahl. Soll gleichzeitig Rechteck, Sägezahn und Sinus erzeugt
werden halte ich das für nicht umsetzbar.
Hallo happyfreddy,
> bei 8 Oktaven Umfang hier 108 einzelne DDS am werkeln wären
Wenn diese Huerde genommen ist,
stellt das:
> Soll gleichzeitig Rechteck, Sägezahn und Sinus erzeugt> werden halte ich das für nicht umsetzbar.
ueberhaupt kein Problem dar. Das sind "nur" Zugriffe auf
gerade mal 3 unterschiedliche Tabellen, die sogenannten LUTs,
aus denen derAusgabewert gepflueckt wird.
Unter Umstaenden muss der Wert dann noch interpoliert werden,
wenn naemlich die LUTs nur Stuetzwerte enthalten.
Mit noch geringfuegig mehr Aufwand, kann man diese Tabellen
auch noch anschlagdynamisch modifizieren und/oder ueber die
Zeit variieren.
Am Ende landet man da beim polyphonen und multitimbralen
Sampleplayer.
LUT: Look-Up Table
Lass dir deine TOSse nicht von den Bastlern abknoepfen :-).
Die alten Orgeln dieser Welt brauchen die noch.
... schrieb:> ueberhaupt kein Problem dar. Das sind "nur" Zugriffe auf> gerade mal 3 unterschiedliche Tabellen, die sogenannten LUTs,> aus denen derAusgabewert gepflueckt wird.> Unter Umstaenden muss der Wert dann noch interpoliert werden,> wenn naemlich die LUTs nur Stuetzwerte enthalten.> Mit noch geringfuegig mehr Aufwand, kann man diese Tabellen> auch noch anschlagdynamisch modifizieren und/oder ueber die> Zeit variieren.
Wie das funktioniert ist mir bekannt. Habe selber schon mit dem
AD 9850 experimentiert.
Nur mal so als Beispiel:
Einen Klavierakkord möglichst mit Dynamik und gleichzeitig unterlegte
Strings.
Das ganze dann als simpler C Dur Akkord ( C , E , G ) meinetwegen.
Wenn der Klavierakkord ausgeklungen ist wird die C Taste erneut
angeschlagen.
Streicher bleiben mit E und G Ton dabei liegen.
Man benötigt somit drei Tabellen für die Klaviertöne mit Dynamik
zu Beginn des Anschlages, drei Tabellen Klaviertöne wenn die Tasten
liegen
sowie drei Tabellen für die Stringtöne.
Alles der Einfachheit in Mono mit nur einem DDS.
Machbar ?
Glaube nicht zumindest nicht mit einem DDS alleine
Mit den TOS gehe ich schon sorgsam um - keine Bange...
Die urspruengliche Intention einer LUT ist die Speicherung der
Werte einer Periode der Funktion die man synthetisieren will.
Bei so vielen DDS-Oszillatoren die LUTs erfordern, wird man
wohl mit einer zentralen Instanz die LUTs arbitrieren weil sonst
der Platz im FPGA irgendwann mal knapp wird, die LUTs selber
aber zeitlich kaum ausgelastet sind.
Was du da beschreibst ist eher ein simpler (und schlechter)
Sampleplayer.
Weil:
> mit nur einem DDS
Damit muesste man fuer jeden unterschiedlichen Ton Speicher
bereitstellen. Der Witz an einer DDS ist ja, dass man
den gespeicherten Ton in gewissen Grenzen frei transponieren
kann.
So entartet nur die simple LUT in einen Speicher der
die Samples haelt. Bei einem Ueberlauf der DDS wird nicht
gewrappt sondert weiter fortlaufend adressiert und unter
Umstaenden geloopt, wenn das Sample es so mag.
Die Frequenz der DDS entspricht der Samplefrequenz mit
der die/das Sample(s) ausgegeben wird.
Sicher ist sowas machbar. Aber sowas will ja keiner.
Dafuer gibt es ja Sampler. Als VST z.B. Halion,
in PC-Hardware Creative Labs AWE32/AWE Live und Konsorten.
Im allgemeinen wuerde man aber auch mit einem Sampler
keine Akkorde als Sample benutzen. Das wird bei mod-Playern
nur benutzt um Platz zu sparen.
In einem richtigen Instrument hat sowas eher nichts zu suchen.
Richtig waere es so:
Fuer die insgesamt sechs Toene (3 x Klavier, 3 x Streicher)
treten 6 DDS Oszillatoren in Aktion, die aus jeweils
2 Tabellen (Klavier/Streicher) die Samples auslesen,
gewichtet addieren und ausgeben. Jede DDS arbeitet auf einer
Frequenz die der gewuenschten Tonhoehe entspricht.
Das kann u.U. auch die selbe sein, z.B. wenn Klavier und Strings
die selbe Note spielen.
So in etwa wuerde es ein Sampler machen.
U.U. wuerde die DDS Frequenz noch angepasst, weil das Sample
mit einer anderen Samplerate gespeichert wurde.
etwas off topic .....
Ein Sample ist immer ein Abbild des aufgenommenen Original
Klanges. Je mehr Bitbreite desto höher ein Auflösungsvermögen.
Nicht zuletzt ist auch einem Nyquist Theorem Rechnung zu
tragen sowie dem Clipping was eine Aussteuerung beim Sample
erstellen betrifft. Bei einer anschließenden DA Wandlung
dann das Problem des Granularrauschens.
Wenn zb ein Klaviersound gesampelt wird so reicht ein Sample
pro Oktave schon nicht mehr aus, man muß mindestens jeden
dritten Ton sampeln wenn nicht sogar jeden einzeln.
Dazu dann auch noch mit verschieden starkem Anschlag.
Beim Klavier klingt auch nicht nur eine Saite sondern man hat
erstmal pro Ton drei Saiten ab einem gewissen Frequenzbereich
und wenn eine Saite angeschlagen wurde erklingen auf Grund der
Resonanz auch andere mit.
Kurz gesagt Klavier ist schon eine ganze Datenbank an Samples.
Und das ist nur ein Instrument von vielen die umgesetzt werden
sollen will man flexibel sein mit einem DDS System
Rechner sind zwar schnell heutzutage doch auch denen sind
Grenzen gesetzt.
Das was man auf dem Sektor heute anstrebt ist schon sowas
wie eine " eierlegende Wollmilchsau" . Für meine Begriffe kann
sowas nur in eine Sackgasse führen egal ob nun mit Halion als
Ablösung einer Creamware Variante oder anderes. Hört man sich
einige VST Instrumente heuzutage an ist das schon so etwas wie
gequake und derart " clean " daß man vergeblich eine Anknüpfung
zum Original Instrument sucht. Der Fehler der heute gemacht wird
ist der, daß fast jedes Sample dem eines Soloinstrumentes gleicht
nie jedoch von einem Instrument was im Verbund mit anderen erklingt.
Es macht einfach keinen Sinn ein Solo Saxophon zu sampeln um damit
dann einen Saxophonsatz eines Glenn Miller zu spielen, selbst wenn
man hier Samples eines Tenorsaxophons, Sopransaxophons und
Altsaxophons einzeln sampelt und zusammen - jedes doppelt
vorhanden - erklingen läßt.
Ganz anders da ein Ansatz ein System auf Basis einer Fouriersynthese
zu konzipieren. Jeder Klang läßt sich in eine Vielzahl an
Sinusschwingungen unterschiedlichster Frequenz und Amplitude sowie
Phasenlage zerlegen.
Dies braucht man sicher auch nicht bis zu letzten Harmonischen
realisieren, sondern kann sich auf eine bestimmte Anzahl begrenzen.
Der alte MOOG läßt zwar unbekannterweise hier grüßen aber vom Ansatz
her sicher eine erfolgversprechende Aufgabe für ein DDS System.
Zudem hat man es eh nur mit einer Schwingungsform zu tun.
Ja,
die meissten Sampler lassen eben jede Phrasierung vermissen die
ein live gespieltes Instrument erzeugen kann.
Aber man muss deswegen Sampler nicht grundlegend verdammen.
Ich hatte mir vor einigen Jahren mal ein E-Piano mit Virtual Waves
gewissermassen erzeugt und um es live spielen zu koennen
in einen Sampler geladen. Damals haette die (Rechner-)Hardware
eine echte physikalische Emulation von der Leistung nicht
zugelassen bzw. es existierte damals keine Software die das
unterstuetzt haette.
Das arbeitete mit 3 Velocitylevels fuer seine spektrale
Komposition und war zumindest nicht voellig unbrauchbar.
Heute gibt verschiedene Piano-VSTs die entweder samplebasiert
oder per Emulation arbeiten.
Die samplebasierten ergeben eine Perfektion des Klanges
die nicht einmal ein gut gepflegtes originales Instrument
auch nur annaehernd erreicht. Sowas muss man halt sparsam
einsetzen :-). Die Pianoemulatoren auf der anderen Seite
erlauben weitestgehende Freiheit bei der Gestaltung des
Klanges.
Es gibt auch Sampler die in der Intonation der Klaenge etwas
breiter aufgestellt daherkommen als Halion, z.B. Hypersonic.
Bei dem sind die Libraries halt fix und nicht selbst
erweiterbar.
Ein echter Fluegel ist natuerlich immer besonders problematisch.
Da braucht man wirklich sehr viele Samples, z.T. sogar mehrere
von der selben Tonhoehe mit identischem Anschlag um aus diesen
dann per Zufall auszuwaehlen. So machen es auch die VST-Sampler
fuer Gitarren.
> Ganz anders da ein Ansatz ein System auf Basis einer Fouriersynthese> zu konzipieren. Jeder Klang läßt sich in eine Vielzahl an> Sinusschwingungen unterschiedlichster Frequenz und Amplitude sowie> Phasenlage zerlegen.
Auch sowas gibt es als VST-Intrument. Nur besonders authentisch
fallen die Ergebnisse da auch nicht aus und der Resourcenbedarf ist
ausserordentlich hoch.
Ich koennte hier sicher noch stundenlang weiterschreiben.
Um es frei nach einem Satz eines Schriftstellers abzuschliessen:
"Die Qual der Begrenzung der Moeglichkeiten wurde durch
die Qual des voelligen Fehlens jeder Begrenzung abgeloest."
... schrieb:> Ein weiterer Punkt ist auch, dass die Schwebungsfrequenz> zwischen Toenen eben exakt mit der Tonhoehe mitlaeuft.> Gewissermassen die (fast) perfekte gleichschwebend temperierte> Stimmung. Wobei gleichschwebend sich immer auf den Faktor> und nicht den Absolutwert bezieht.
Moin, sehr interessanter Beitrag. Ich verstehe nur nicht ganz, was du
mit "Tonhoehe mitlaeuft" meinst. Eine Schwebung, so wie wir Mechaniker
es kennen, hat eine Amplitude und eine Frequenz. Wenn dieses Verhältnis
gleich bleibt, bleibt auch die relative Frequenzänderung konstant.
Allerdings nicht die absolute. Ich kann mir vorstellen, dass die
Schwebung immer dasselbe Tempo haben sollte, wie ein Tremolo bei dem
Sänger.
happyfreddy schrieb:> Heute baut niemand mehr mit TOS ICs.
Na offenbar schon, sonst täte der TE nicht fragen :-)
> Viele Modelle arbeiten heute mit SAMPLES bzw PC gestützter> Hardware unter Einbindung von VST Instrumenten.
Orgeln?
> Zu erzeugende SOUNDS werden erst auf Tastendruck hin BERECHNET> und alles muß dann zwangsläufig durch das Nadelöhr DA Wandler.
Ich halte den DAC nicht für ein Nadelöhr.
Die Frage, um die es hier geht, ist auch die einfache Erzeugung der
Grundfrequenzen. An der Stelle kommt dann eher die Auflösung des PCs ins
Spiel. Wie genau kann der denn die Frequenzen erzeugen?
> Das hat zur Folge, daß eine Stimmenzahl hier begrenzt ist und das> vom System her dann Töne, die sich in einer Ausklingphase befinden> vorzeitig abgeschaltet werden,
Eine reine Frage der Polyphonie. Moderne Systeme haben 128 Stimmen.
... schrieb:> "Die Qual der Begrenzung der Moeglichkeiten wurde durch> die Qual des voelligen Fehlens jeder Begrenzung abgeloest."
Genauso ist es !!
Daraus habe ich meine Schlüsse gezogen und wende mich deshalb
mehr einer analogen Simulation wieder zu.
Das Ergebnis liegt dabei schon fest bevor man beginnt es umzusetzen:
Es wird eine Simulation bleiben so oder so .
Ein Weg dorthin kann jedoch nur davon geprägt sein es so gut wie
möglich hinzubekommen.
Auch eine raffinierte rein digitale Lösung ist und bleibt Simulation
Was in den 70er Jahren mit der Erfindung des Realton Variophon
gelang
https://www.youtube.com/watch?v=K12LpYMrqPMhttps://www.youtube.com/watch?v=pZOzA-9i4JM
dürfte heute auch noch analog machbar sein.
Man beachte einfach mal die Bandbreite der schon damaligen erreichten
Artikulationsmöglichkeiten.
Breath Controller lassen sich aber auch durch Touch Controller
oder andere bedienbare ersetzen
> Ich verstehe nur nicht ganz, was du mit "Tonhoehe mitlaeuft" meinst.> Ich kann mir vorstellen, dass die> Schwebung immer dasselbe Tempo haben sollte, wie ein Tremolo bei dem> Sänger.
Das waere ganz schlecht :-).
Die Schwebung zwischen zwei Toenen ist ganz einfach ihre Differenz.
Machen wir doch einfach mal eine Rechnung, bei
der ich der Einfachheit mal von C := 261.64 Hz und 196/185 ausgehe:
Dann ist die Differenz zwischen 2 Halbtoenen immer exakt
(196-185)/185.
Und wie man sieht nimmt die Differenz bzw. Schwebung zwischen zwei
Halbtoenen genau mit der Tonhoehe zu:
1
Freq Differenz zum naechsten Halbton
2
...
3
C 261.64 15.56 277.20
4
Cis 277.20 16.48 293.68
5
D 293.68 17.46 311.14
6
Dis 311.14 18.50 329.64
7
E 329.64 19.60 349.24
8
F 349.24 20.77 370.01
9
Fis 370.01 22.00 392.01
10
G 392.01 23.31 415.32
11
Gis 415.32 24.69 440.01
12
A 440.01 26.16 466.17
13
B 466.17 27.72 493.89
14
H 493.89 29.37 523.26
15
C 523.26 31.11 554.37
16
Cis 554.37 32.96 587.33
17
D 587.33 34.92 622.26
18
Dis 622.26 37.00 659.26
19
E 659.26 39.20 698.45
20
F 698.45 41.53 739.98
21
Fis 739.98 44.00 783.98
22
G 783.98 46.62 830.60
23
Gis 830.60 49.39 879.99
24
A 879.99 52.32 932.31
25
B 932.31 55.43 987.74
26
H 987.74 58.73 1046.47
27
C 1046.47 62.22 1108.70
28
...
Wie man ausserdem sieht, ist der entstehende Fehler durch die
Abweichung von 196/185 zu 2^(1/12) vernachlaessigbar.
Gleiches gilt natuerlich fuer den Kehrwert.
Je nach Betrachtungsweise klingen damit alle Akkorde unabhaengig
von ihrer chromatischen Ausgangslage gleich gut oder gleich
schlecht :-).
Lieber happyfreddy,
> Genauso ist es !!> Daraus habe ich meine Schlüsse gezogen und wende mich deshalb> mehr einer analogen Simulation wieder zu.
Man muss das Kind ja nicht gleich mit dem Bade ausschuetten.
Entscheidend dabei ist doch nur das man selber noch an alle
Knoepfe kommt.
Z.B. eine digitale Orgelsimulation die mit einigen zehntausend
Oszillatoren daherkommt und selbst Wagnerfreunde noch staunen lassen
wuerde.
Oder auch die LoFi-Version mit phasenstarren "Impulsverstuemmlern" :-).
Es gibt noch viel zu tun!
Der Gigagantomanie sind digital keine Grenzen gesetzt.
Ich sehe, das Thema mutiert von einer rein technischen Frage wieder hin
zu einer philosophischen, nämlich analog und digital. Und wie immer ist
digital schlecht.:-)
happyfreddy schrieb:> mit der Erfindung des Realton Variophon
das hätte einen eigenen thread verdient. Vielleicht möchte es einer der
CPLD-Experten nachbauen? Gänzlich digital? Für das Clavichord gibt es
das schon.
Elbi schrieb:>> Viele Modelle arbeiten heute mit SAMPLES bzw PC gestützter>> Hardware unter Einbindung von VST Instrumenten.> Orgeln?>>> Zu erzeugende SOUNDS werden erst auf Tastendruck hin BERECHNET>> und alles muß dann zwangsläufig durch das Nadelöhr DA Wandler.> Ich halte den DAC nicht für ein Nadelöhr.>> Die Frage, um die es hier geht, ist auch die einfache Erzeugung der> Grundfrequenzen. An der Stelle kommt dann eher die Auflösung des PCs ins> Spiel. Wie genau kann der denn die Frequenzen erzeugen?>>> Das hat zur Folge, daß eine Stimmenzahl hier begrenzt ist und das>> vom System her dann Töne, die sich in einer Ausklingphase befinden>> vorzeitig abgeschaltet werden,> Eine reine Frage der Polyphonie. Moderne Systeme haben 128 Stimmen.
Wenn es machbar ist einen TOS in einem CPLD mit gleichem Verfahren der
Tonerzeugung unterzubringen ist ja alles in Butter.
Und diese Auflöusng und Genauigkeit reicht allemal für weiteres.
Orgeln auf Basis eines PC´s ?
Zb in der da werkelt ein PC mit WIN Betriebssystem plus der Software
für das Instrument :
https://www.youtube.com/watch?v=o5djMNiopDM
Habe das Beispiel bewußt ausgewählt um zu zeigen welche Soundbandbreite
heute machbar ist.
Die Genaugkeit der errechneten Töne ist dieselbe weil man sich an die
Vorgabe der Frequenzen hält.
Der Grund warum man einen PC als Basis verwendet ist, weil hiermit
auch anders wie Waves und VST machbar ist.Ja man kann auch gleich eine
CD mit der Orgel aufnehmen und sie brennen.
Der Nachteil eines PC Systems ist jedoch der ständige Wandel an neuen
Mainboards und hin und wieder des PC Betriebssystems.
Mit einem Celeron und WIN 98 wurde seinerzeit begonnen, dann kam XP,
dann Win 7 und nun plötzlich WIN 10 und 64 bit.
Will heißen man ist schlicht von einer PC Industrie abhängig ...
und die ändert sich ständig !
Ein DAC ist immer ein Nadelöhr. Alles auf einmal kann da garnicht
durchlaufen, man wird also hier Aufteilungen vornehmen und anschließend
die Audiosignale zusammenführen in einem MIXER. Dies ist auch im obigen
Videobeispiel der Fall: mehrere DAC´s
128 Stimmen sind nicht gerade viel.
Viele unterliegen dem Irrtum Stimme sei gleich Sound !
Weit gefehlt.......
Ein Sound setzt sich immer aus mehreren Stimmen zusammen.
So hat ein angeschlagener Flügelton schon mehrere Stimmen
1. Anschlaggeräusch
2. im mittleren Tastaturbereich erklingen drei Saiten gleichzeitig
sind also schonmal 4 Stimmen pro Taste.
Sind alle 10 Finger vollgriffig im Spiel sind das 4 x 10 Stimmen
Kommen dann noch automatische Begleitung und weiteres dazu sind
128 Stimmen sehr schnell verbraucht und das System muß
nachdenken was da nicht mehr so wichtig ist und abgeschaltet werden kann
nur weil ein neuer Event umgesetzt werden soll.
Das hier ist eine Orgel mit einem eigenen Betriebssystem ( kein PC )
Man achte mal auf die Spielweise mit der Layertechnik
Je nach Anschlagstärke werden hier zwei verschiedene Sounds generiert
Somit nicht nur einfach Taste drücken sondern mit dem richtigen Gefühl,
weil eben der gewählte Sound davon abhängt
https://www.youtube.com/watch?v=jBvj7dqroeU
Viel Spaß
übrigens so zu spielen ist garnicht so schwer.
Man muß nur mit dem richtigen Finger zur richtigen Zeit die richtige
Taste drücken. Das hat Hector Olivera schon mit 4 Jahren gelernt und
seitdem nichts anderes gemacht.
Schön das es ihn gibt und man ihn in wenigen Wochen wieder live erleben
kann
https://www.tasten-festival.de/
übrigens Ady Zehnpfennig und Hady Wolff (für diejenigen denen der Name
noch was sagt) sind auch da
... schrieb:> Je nach Betrachtungsweise klingen damit alle Akkorde unabhaengig> von ihrer chromatischen Ausgangslage gleich gut oder gleich> schlecht :-).
Theoretisch schon richtig nur die Praxis sieht halt anders aus
Schüler eines Tasteninstrumentes lernen brav ihre Etüden etc
in C Dur und quälen sich mit einem Fingersatz.
Sieht alles einfach aus weil nur weisse Tasten.
Geht man jetzt die Hitlisten rauf und runter und will das
nachspielen, findet man kaum Noten in C Dur wohl aber in anderen
Tonarten.
Spielt man dann später in irgendeiner Band mit kommt man mit C Dur
Kenntnissen nicht weit. Titel werden in E, F , A oder anderen
Tonarten gespielt, folglich muß man umlernen und sich mit deren
Fingersätzen auseinandersetzen. Noch krasser dann wenn man mit
Bläsern zusammenspielt.
Dort mit sehr vielen Vorzeichen in As , Es oder B Dur
Hat man das gerafft stellt man plötzlich fest hoppla in der Tonart
klingt das viel besser als in C Dur und obendrein liegen die Griffe
viel günstiger als in gelernter C Dur Variante. Auch die Intervalle
empfindet man plötzlich wesentlich interessanter als in C Dur,
obwohl vom Intervallabstand identisch.
Dieses Empfinden eines besser klingen hat jedoch auch etwas mit dem
eigenen Wohlbefinden zu tun. Scheinbar git es da doch so einige
Zusammenhänge, die man nicht erklären kann warum das so ist.
Bei heutigen Instrumenten ist es jedoch sehr einfach trotz nur
Kenntnisse in C Dur in einer anderen Tonart su spielen. Man dreht
einfach den Transposer runter. Nicht ideal aber immer noch besser
als garnichts.
Richtig fein raus sind diejenigen die keinerlei Noten kennen und
nur nach Gehör und der eigenen Stimme spielen so zB Stevie Wonder
oder der verstorbene Ray Charles.
Ganz krass dagegen ein Beethoven der später taub wurde aber dennoch
berühmte Werke komponiert hat. Wie es klingen sollte hatte er nur
im Kopf und das waren Partituren für ein ganzes Orchster mit vielen
Solisten.
> Schüler eines Tasteninstrumentes lernen brav ihre Etüden etc> in C Dur und quälen sich mit einem Fingersatz.
Ich habe Klavier am Konservatorium nebst Theorie, Gehoerbildung
und Chor gelernt. Da gab es ganz sicher nicht nur weisse Tasten.
Die klassischen Komponisten hatten aber schon eine gewisse
Vorliebe fuer Tonarten ohne viele Vorzeichen.
Aber man kann jedes Uebungsstueck ja chromatisch ruecken.
Jeden Tag einen Halbton :-).
Und natuerlich am Klavier und nicht an der Orgel mit Dr. Boehm #3.
Also ich bin da eher für Gleichberechtigung und mir ist es egal
ob BLACK & WHITE an Tasten.
Bei Erkältung spiele ich am liebsten in PULL-Moll
Zur Hippiezeit Ende der 60er war ja mehr LSD-Dur angesagt.
Aber jeder wie er mag.
Klavier hatte ich nur drei Jahre und deswegen aufgehört,
weil bei jedem Vorspiel mein Lehrer ( Kirchenorganist ) seine
Geige vorkramte und mich begleitete. Dieses "Gesäge" war mir
einfach zuwider und habe dann alleine weitergmacht.
Mein Klassennachbar spielte R´Roll und Boogie auf dem Piano
was wesentlich mehr Spaß machte. Das haben wir dann zu zweit
gemacht an zwei Klavieren bei Schulveranstaltungen.
Ach ja Kontrabass durfte ich mir auch selbst beibringen, weil
ich den Basschlüssel kannte ( seltsame Begründung ). War jedoch
garnicht mal so verkehrt als die Schuldixieband gegründet
wurde ;-)
Aber egal Musik ist ein schönes Hobby gibt da schlimmeres ...
Hätte ich früher von einem chromatischen B oder C Griff
Akkordeon gehört hättte ich dieses gelernt.
Transponieren ist dort ein Kinderspiel :
immer die gleiche Grifffolge egal in welcher Tonart.
Eine Taste hoch - runter - rechts oder links und schon ist man
sattelfest in der nächsten Tonart !!
Schön jedoch, daß man Musik und Elektronik mehr als gut
miteinander verknüpfen kann.
happyfreddy schrieb:> wenn Juergen S. ( engeneer ) schon Fragen bzgl> meines Posting hat oder der Threadersteller Kon W ( Koo ) nicht> weiß was Fußlagen sind, gebe ich gerne Auskunft.
Ich lese Deine Beiträge mit großem Interesse!
Ich für meinen Teil hatte deshalb zurückgefragt, weil mir nicht bewusst
war, dass die TOS-ICs mit eben jenem Faktor arbeiten. Mir ist auch nicht
bewusst, dass Orgeln der 70er so funktioniert haben sollen.
Ich wurde deshalb hellhörig, weil ich eben diese Skalierung für manche
meiner Trance-Stücke verwende(te), nachdem ich den Faktor beim
Experimentieren mit Zahlen am C64er in den 80ern zufällig entdeckt
hatte. Damals war das ja noch nicht so mit Internet und gegenseitigem
Austausch. Wir Elektromusiker haben alle alleine vor uns hingewurschtelt
:-)
Benutzt hatte ich den zunächst wegen der einfachen Darstellung in 8 Bit.
Die tatsächlichen Auflösungen mit denen die Frequenzen erzeugt werden,
sind natürlich höher, besonders in den FPGA-Systemen, aber auch den
DSP-Systemen der 90er:
Dazu:
Xilinx Entwickler schrieb:> Der Autor schlägt neben dem kleinen Bruch die Verwendung> einer besseren Teilung mit 61858 / 65536 vor.
Das ist meine Seite und benutzt wird das Verhältnis, weil es eine binäre
Abbildung des Faktors darstellt und zwar in 16 Bit, die man schon beim
Amiga zur Verfügung hatte. Die nächste bessere Version ist 1484586 zu
1572864 oder 15835583 zu 16777216 in 24 Bit, passend zum seinerzeit
verwendeten DSP56301.
Binär sind die Nenner, um fortlaufend neue Frequenzen berechnen zu
können. Wenn z.B. eine Tonhöhenänderung des Geräts vorgenommen wird,
passen sich die Frequenzen an. In den FPGA-Synths werden die Frequenzen
dynamisch zur Laufzeit für jeden (Klavier-)kanal berechnet und dabei die
Spreizung reingezogen. Die neue Frequenzvorgabe für die Synth-pipeline
ergibt sich dann einfach aus der vorherigen Note und einigen Faktoren.
Man braucht keine Frequenztabelle.
> Leider ist der Seite auch nicht zu entnehmen, wie er es macht.
Ich verwende das nicht so, wie es hier im thread beschrieben ist. Das
fast! perfekte Teilerverhältnis hat einen rein musikalischen Sinn,
nämlich den, dass eine definierte Interferenz der Wellen stattfindet die
sich periodisch voraussagbar wiederholt. Das ergibt bei Akkorden eine
ganz bestimmte Rhythmizität bei Schwebungen. Inwieweit das jeweils
tauglich ist, muss man im Detail sehen:
Bei klassischen Orgeln macht das eventuell weniger Sinn, weil es für die
Begleitung akustischer Musik keinen Mehrwert hat. Ich gehe davon aus,
dass man die Chips aus Einfachheitsgründen so gebaut hat. Die
Ausführungen die inzwischen verfasst wurden, deuten auch darauf hin,
dass man mit geringen Mastertaktfrequenzen auskommen musste. Diese
gestatten keine gute Näherung der Frequenzen.
Wie ich im Artikel weiter oben beschrieben habe, liegen die erzielbaren
Fehler bei hochfrequenter Synthese im ppm-Bereich.
> Ich frage mich auch welchen Wert die starr verkoppelten> Frequenzen haben sollen, weil die Phasendurchgänge letztlich doch> zufällig sind, wenn man die Taste drückt. Die haben> irgendeine Konstellation.
Kommt drauf an, wie man die Orgel baut. Bei Synthies kann man den
Tongenerator ja zum Tastendruckzeitpunkt starten, um immer wieder
dieselbe Transiente zu erhalten. (Wenn man einen TG pro Taste hat :-)
> Da das Umsetzen an dieser Stelle digital, also mit dem Takt von> Statten gehen wird, kann es nicht genauer sein, als die Rasterung> des Taktes. Läuft auf DDS hinaus.
Nicht ganz, denn die TOS-IC-Entwickler wissen, mit welcher Taktfrequenz
sie arbeiten werden und können folglich die analogen Verzögerungsglieder
und Pulse so einstellen, dass sie genau passend zu den Taktflanken
fertig werden und praktisch einen exakten kontinuierlichen Takt
erzeugen. Es bleibt nur das Temperatur- und Spannungsproblem, welche die
Schalteigenschaften driften lassen.
Es entsteht so nur ein kleiner Sprung, der sich auf die 196 Takte als
Jitter verteilt. Das wird schon recht genau und trifft auch Zeitpunkte,
die nicht in das 2MHz-Raster des Chips fallen.
Wie gesagt kann man heute mittels einfacher Teilung im FPGA auch mit
einer Granularität eines Taktes die Abweichungen auf ppm begrenzen. Das
ist unterhalb dessen, was FPGA-PLLs jittern. Um also einen
Super-Frequenz-Synthesizer zu bauen, muss man mit DCMs arbeiten und
einen sehr präzisen Taktoszillator außen hernehmen.
Um wiederum von den TOS-ICs dieser speziellen Technik profitieren zu
können, würde ich vorschlagen, statt der 2MHz einfach ein 64MHz / 128MHz
Quarz anzuschließen, und mehr davon zu kaskadieren. Dann lässt man die
oberen Oktaven wegfallen und bekommt super saubere untere Oktaven mit
einem kleineren Fehler.
Wer es ganz auf die Spitze treiben will, haut eine phasenverrauschte
Frequenz auf die TOS, damit der Phasensprung nicht rhytmisch auftritt,
sondern sich über das Spektrum verteilt. In einer nichtmusikalischen
FPGA-Anwendung habe ich das mal erfolgreich gemacht.
Allerdings muss man sich bei allen Betrachtungen stets im Hinterkopf
behalten, dass das Frequenzverhältnis eben doch nicht exakt stimmt und
es damit über die Oktaven hinweg zu einem anderen Phasenverhältnis
kommt. Das nutze ich z.B. gezielt aus, um Schwebungen in oktavierten
Akkorden zu haben. Auch auch da muss man wieder fragen, ob das immer
passt.
Hinzu kommt, dass dieses Verhältnis ja überhaupt nur dann gültig wäre,
wenn es sich um eine gleichstufige Stimmung handelt. Man kann sein
Instrument ja auch so stimmen, dass es rein klingt. Dann ergeben sich
auch andere Teiler für die TOS-Frequenzen.
Ich meine, dass wenn man schon einen FPGA ins Spiel bringt, man sich von
der TOS-Struktur lösen könnte und alle Frequenzen einzeln geteilt
herstellen sollte. Das schafft den geringsten Fehler - Umschaltung der
Stimmungen und Vibrato inklusive.
hier ist eine Tabelle für die minimale Taktfrequenz zur Herstellung
einer reinen Stimmung, am Beispiel für C-DUR, ausgerichtet an A = 443
für Orchester, mit Dur und Mol. Wenn man die "schwarzen" Tasten
auslässt, geht es mit unter 1MHz, also auch mit Microprozessoren.
happyfreddy schrieb:> Man hat sich neulich im Musikerboard Forum auch heftig ereifert, wo von> jemandem behauptet wurde, sein System auf 196 Khz basierend> wäre das nonplus Ultra und er hätte dafür DA Wandler enwickelt> und sogar Lautsprecher erfunden die Frequenzen oberhalb von 20 Khz> hörbar bessser abstrahlen würden als andere. Na denn ... viel Spaß
Der link würde mich interessieren!
Spontane Bemerkung dazu: Der Mensch nimmt auch Ultraschall war und
gerade da veranstalten viele HT ziemliches Gemüse, wie ich lernen
durfte. Ein Wandler, der das Spektram "da oben" im Griff hat, ist nicht
falsch. Allerdings muss dazu nicht entwickelt werden, sondern normale,
heute verfügbare Studiotechnik erworben werden.
happyfreddy schrieb:> Spielt man dann später in irgendeiner Band mit kommt man mit C Dur> Kenntnissen nicht weit. Titel werden in E, F , A oder anderen> Tonarten gespielt,
Weil sie oft von Gitarristen geschrieben wurden, die aus praktischen
Gründen in "ihren" Tonarten spielen, oder ...
> Noch krasser dann wenn man mit Bläsern zusammenspielt
... weil Blasinstrumente nicht beliebige Töne produzieren und dann auf
Tonarten festgelegt sind, oder ...
weil das Lied vom Produzenten solange geschoben wird, bis der Sänger mit
seinem optimalen Tonumfang es singen kann.
Was die Gitarristen angeht, habe ich auch dazu schon an anderer Stelle
ausgeführt, dass diese sehr oft ihr Instrument nach Gehör stimmen und
dabei von Saite zu Saite über die Griffe gehen, was dazu führt, dass die
Stimmung auf das nicht perfekte Gehör des Menschen adaptiert wird,
siehe: und zudem oft eher eine reine Stimmung heraus kommt.
Eine so gestimmte Gitarre kann dann nicht einfach von Lied zu Lied
umgegriffen werden, um die Tonarten zu wechseln.
@ jürgen S. ( engineer )
Mit der Genaugkeit die heute machbar ist wie in Deinem Beispiel
kann jede Stimmung umgesetzt werden. Nur 4 Stellen nach dem Komma hört
niemand mehr.
Der Link zur Story von damals
https://www.musiker-board.de/threads/sehr-interessante-neue-workstation-keyboard-in-entwicklung.640227/
Das ganze hat sich dann wohl als Aprilscherz
entpuppt von angeblich hochtrabenden Besonderheiten des
neuen Keys getragen.
Wirklich genau zugehört was da in den Videos gesagt wurde
hat niemand gemacht. Genaues Zuhören hat bei mir so einige
Fragen aufgeworfen und je öfter ich das Video ansah desto mehr
Fragen hatte ich.
Solche Wandler gibt es schon, nur die findet man eher in der Meßtechnik
als in Unterhaltungselektronik
Wenn man eine Gitarre nach der ersten Saite hin stimmt über Abgriffe
der Bünde , stmmt sie in sich schon - nicht jedoch zu anderen
Instrumenten
geschweige denn nach Kammerton A.
Naja Produzenten von heute sind nicht mehr das was Produzenten damals
waren. Hier geht es ausschließlich um Verkauf und was am Ende rauskommt.
Wer da dann singt und ob er es überhaupt kann ist sekundär - siehe
Milli Vanilli seinerzeit , nur Playback und gute Bühnenshow.
Früher gab es noch Talentscouts bei den Plattenfirmen heute macht man
eine TV Show und die die nach oben wollen drängeln sich.
Traurig finde ich nur, daß es teilweise wirklich gute Leute gibt, die
dann
jedoch in eine Musikschiene gepresst werden die ihnen eigentlich nicht
liegt. Ich habe weißgott nichts gegen Tekkno und anderes, kann mir aber
heute schon ein Schmunzeln nicht verkneifen wenn diese Generation in
meinetwegen 40-50 Jahren dann im Rentnerkreis zusammensitzt und von den
alten Hits aus ihrer Jugendzeit schwärmt.
Weißt Du noch da war doch der Hit da ging ungefähr so :
UNK TSCH UNK UNK TSCH dididada UNK TSCH UNK UNK TSCH
Viele Melodien sind halt Evergreens und sowas vergißt man nicht
- oder doch ?
happyfreddy schrieb:> Viele Modelle arbeiten heute mit SAMPLES bzw PC gestützter> Hardware unter Einbindung von VST Instrumenten.
Wie genau sind eigentlich solche Frequenzen?
D.h. wie hochfrequent tastet der PC die Grundfrequenzen ab?
Was ich kenne, arbeitet mit 96kHz, damit lassen sich die Töne ganz
bestimmt nicht so genau abtasten, wie mit einem FPGA.
Sollte man also die gesamte Musiksoftware nicht einfach auf einen
Ultrascale packen?
> Sollte man also die gesamte Musiksoftware nicht einfach auf einen> Ultrascale packen?
Das waer sicher sinnvoll.
Wenn man Musik fuer Fledermaeuse produzieren will.
Auf der anderen Seite haelt dich auch keiner ab, dass zu tun.
Mein "altes" Cubase arbeitet intern wohl mit 384 KHz und Gleitkomma.
Da konnte ich noch nie was beanstanden.
Ich denke die Basis wird immer noch die CD Samplingrate
von 44,1 Khz sein. Würde man das ändern hätte die gesamte
CD Industrie ein Problem.
Natürlich kann man mit höheren Samplingrates ein Sample
aufnehmen , bei meinem DAT Recorder habe ich auch die
Auswahl mit 48 Khz oder 44,1 Khz aufzunehmen und in Studios
sind höhere Raten durchaus gebräuchlich.
Will man es jedoch auf ein Medium CD bringen muß man es
umrechnen. Kauft man sich Daten für seine Sample Instrumenten
Biblothek in einem Instrument so bekommt man diese Daten auf
CD als Datenträger, die man einliest.
Ein Sample ist ja nichts weiter wie die digitalisierte Form
des Ausgangsmaterials : auf einem Instrument gespielter Ton.
Stimmen bei dem die Frequenzen nicht, kann das ein Sample auch
nicht ad hoc korrigieren.
Übrigens ist ein Sample auch nicht nur der gespielte Ton, sondern
es beinhaltet auch den Klang eines gespielten Tones.
Bei diesem Klang sind auch die Harmonischen mit von der Partie und
die liegen weitaus höher als der gespielte Ton. Würde man nur den
Ton als Sample aufzeichnen wäre das nur die Grundwelle ohne weitere
Harmonische.
Das wäre genau das was als Tonfrequenz aus einem TOS IC herauskommen
würde und dann noch obendrein als Rechtecksignal was vom Klang
her schonmal anders klingt als die von der Frequenz her vergleichbare
Sinusschwingung.
Ein Sägezahnton enthält alle Harmonischen von der ersten bis zur
letzten, ein Rechteckton enthält nur alle ungeraden Harmonischen,
ein Sinuston nur die Grundschwingung und keinerlei weitere Harmonische.
Die Grundschwingung selbst ist hierbei immer die erste Harmonische.
happyfreddy
>Ich denke die Basis wird immer noch die CD Samplingrate>von 44,1 Khz sein. Würde man das ändern hätte die gesamte>CD Industrie ein Problem.
Allerdings ist das Problem der Signalerzeugung viel schwieriger zu
handhaben, als die Musikaufnahme für eine CD.
Wie schwierig es ist, ein sauberes Rechecksignal auf einem 44.1kHz
Abtastsystem zu erzeugen, wird hier ausführlich diskutiert:
Beitrag "Nicht-Sinus DDS"
Einen idealen Rechteck zu erzeugen ist eh schwierig und wird immer
auf Kompromisse hinauslaufen. Wichtig hierbei sind gerade die
Klirrfaktoren K2 und K3. Gerade beim Pegelwechsel hat man es
mit Überschwingern zu tun oder im weiteren Verlauf mit Dachschrägen.
Durch weiteres Heraufsetzen der Samplingfrequenz kann hier am Ergebnis
zwar gefeilt werden nur ganz 100 %tig wird man es wohl nicht erreichen.
Die Kunst eines jeden Abtasttheorems ist ja eine gewisse " Voraussicht"
wo das umzusetzende Signal als nächtes seinen Pegel hat.
Wirklich voraussehen kann es nicht, also kehrt man den Prozeß um und
ermittelt so den Wert etwas später. Nach dem Prinzip arbeitet jeder
Signalkompressor.
Das Thema des Link ist übrigens hochinteressant
>Einen idealen Rechteck zu erzeugen ist eh schwierig und wird immer>auf Kompromisse hinauslaufen.
Eine tiefergehende Analyse zeigt sogar, das ein idealer Rechteck ein
mathematisches Konstrukt ist und in der Realität gar nicht existieren
kann.
Genau, die leidige Zeitspanne Delta t . Sie ist nunmal da
und strebt nur gegen Null erreicht diesen Wert jedoch nie.
Die Frage die sich daraus ergibt kann nur lauten:
wie groß darf ein Kompromiß sein damit man damit leben kann.
Im Grunde kann man froh sein daß ein Gehör nur auf menschliche
Bedürfnisse zugeschnitten ist.
chris_ schrieb:> Allerdings ist das Problem der Signalerzeugung viel schwieriger zu> handhaben, als die Musikaufnahme für eine CD.
Nicht unbedingt. Aus diversen Gründen braucht man bei Aufnahmen eine
höhere Rate als bei der Wiedergabe, bzw. es ist sinnvoll, so vorzugehen.
Sprengt aber das Thema.
happyfreddy schrieb:> Ich denke die Basis wird immer noch die CD Samplingrate> von 44,1 Khz
Ja und nein.
1) Arbeitet man im analogen Zeitbereich, dann braucht man ein
Abstastrate von wenigsten 384kHz, besser 768kHz, um die Bandbreite von
ca 200kHz, die man für Rechtecke bei der Synthese benötigt, so
abzubilden, dass nach Verrechnung keine hörbaren Artefakten im Spektrum
erscheinen. Habe ich auf meiner HP sehr detailliert aufgeführt.
2) Arbeitet man aber mit analytischen Gleichungen voll synchron mit der
Abtastrate, dann kann man ja die Zeitpunkte exakt berechnen und in die
Gleichung einsetzen. Es gibt dann keinen Samplefehler und die 44kHz
reichen. Die VA-Synthesizer arbeiten alle so.
Das Rechteck ist natürlich ein Problem, weil sich dessen Bandbreite
nicht darstellen lässt. Dann gilt wieder 1)
Senior Fourier Gibb schrieb:> Ein Rechteck aus einem 74AC04 ist so eckig scharf,> damit könnte man sich rasieren wenn es in den Rasierer passen würde.
Soweit Du das mit Deinen Messmitteln sehen und beurteilen kannst. Mit
entsprechendem Equipment bleibt von der Schärfe nicht mehr viel übrig.
Hier nochmal ein Beispiel für direkte Signalerzeugung mit der
Samplefrequenz, konkret am Beispiel des Phasings, also dem Addieren zwei
Rechtecke. Abgebildet sind 1khz Rechteck bei 768, 96 und 48kHz
Samplefrequenz. Die sind für sich noch ganz gut (auch bei 48kHz) wenn
aber eine zweite leicht verstimmte Frequenz addiert wird, gibt es nur
bei 768kHz noch eine weitgehend saubere Abbildung. Auch noch bei den
üblichen 192kHz sieht man bei näherer Untersuchung etliche Artefakte,
d.h. es kommt zu stotternden "Rechteckresten", die nach Filterung
allerlei Störignale im Spektrum aufweisen.
Um das was nach Addierung zweier Rechteckfrequenzen
sich bildet bedarf es keines TOS IC oder DDS .
Das hatte ich bei meinem ersten Selbstbauprojekt 1974 leider auch
erlebt: Hauptoszillatoren mit je 3 ICs 7473 nachgeschaltet als
Frequenzteiler. An den Ausgängen jedes IC sauber Rechteck,
noch dazu phasengekoppelt.
Einzeln klingt jeder Ton noch sauber aber sobald man diese
addiert kommt als Sound der bekannte " Orgelwolf " heraus
Das hört sich dann ungefähr so an wie das folgende Video zeigt:
https://www.youtube.com/watch?v=pcDJ-_n6co4
Jürgen S. schrieb:> Auch noch bei den> üblichen 192kHz sieht man bei näherer Untersuchung etliche Artefakte,> d.h. es kommt zu stotternden "Rechteckresten", die nach Filterung> allerlei Störignale im Spektrum aufweisen.
Aber sind diese zufälligen Welleneffekte durch das Verrechnen nicht das,
was die elektronische Musik ausmacht?
> Aber sind diese zufälligen Welleneffekte durch das Verrechnen> nicht das, was die elektronische Musik ausmacht?
Was einige "Dreckeffekte" in einfachen digitalen Synthessystemen wie SID
angeht, sicher.
Aber diese Effekte der Bandbegrenzung machen konkret den Unterschied
zwischen einer analogen und digitalen Tonerzeugung. Wie an anderer
Stelle schon ausgeführt, muss man hier den Analogfeunden Recht geben,
die bemängeln, dass digitale Synthesizer (und Orgeln!) nicht den Klang
hinbekommen, den sie von analogen Systemen her kennen. Und der Grund
liegt eben genau in der (frühen) digitalen Rasterung der nicht
sinusförmigen Kurven. Dabei wird schnell Nyquist verletzt.
Auf die TOS-Thematik übertragen, wäre zu betrachten, wie sich die
Quantisierung der Phase bei DDS infolge der endlichen Auflösung
auswirkt. Wie weiter oben in der Tabelle gelistet, handelt es sich
jeweils um ppm-Fehler. Wenn man diesen tunnelt, indem DDS betrieben
wird, kommt es unweigerlich zu einem regelmäßigen Sprung in der Phase,
wenn auch einen kleinen.
Bei starren Tönen wird das noch am Besten zu beobachten sein, daher wird
man die Phase vorher verjittern, also ein Phasenrauschen addieren,
sofern es sich nicht schon von Haus aus um einen modulierten Ton
handelt, wo das nicht auffällt.
Mit meinem Synthie kann ich das dosiert machen, aber aus der Erinnerung
von Messungen sind da keine wesentlichen Spektralanteile enthalten, wenn
man ausreichend hoch prozessiert.
Um das aber trotzdem zu verbessern, lässt man üblicherweise die Phase
ganzzahlig laufen, hat gar keinen Sprung und verliert dafür etwas
Frequenzgenauigkeit. Benötigt wird dann eine Konstellation wie in dieser
Tabelle:
Beitrag "Re: Top Octave Synthesizer für 443Hz"
... nur eben umgesetzt auf eine annähernd gleichstufige Stimmung, je
nach Quarz.
Wenn man es ganz perfekt haben wollte, bräuchte es einen Quarztakt von
196 hoch 11, den man auf jeder Stufe teilt. Das kriegt man aber nur in
parallelen Stufen hin. Ansonsten 11 FPGAs mit Doppel-PLL: MUL 37 / DIV
49 und MUL 5 / DIVC 4 = 185/196.
Versucht hatte ich auch sowas wie 17 / 18 probiert, was von den kleinen
Zahlen noch am Nähesten dran ist. Geht für 3 Oktaven und Computermusik
:-)
Andi schrieb:> Macht nichts, der ist seit 1976 tot.
Er gilt aber noch :-)
happyfreddy schrieb:> Das hatte ich bei meinem ersten Selbstbauprojekt 1974 leider auch> erlebt: Hauptoszillatoren mit je 3 ICs 7473 nachgeschaltet als> Frequenzteiler. An den Ausgängen jedes IC sauber Rechteck,> noch dazu phasengekoppelt.
Ich glaube, die Phasenkoppelung könnte das Problem sein. Die
Dreckeffekte sind immer an der selben Stelle und wiederholen sich
rhytmisch. Das macht einen Ton.
happyfreddy schrieb:> Gerade im Sakralbereich kann man sich mit einer temperierten Schwebung> bei Terzen, Quinten , Septimen und Nonen nicht so recht anfreunden.> Das was man dann will sind rein gestimmte Terzen,Quinten,Septimen und> Nonen.
Liegt sicher auch an den sehr komplexen Akkorden an den Orgeln. Wobei:
Meines Wissens hat ja doch Bach das erfunden, oder?
Andi schrieb:> Mit einem FPGA, dass mit 100 MHz getacktet wird,
Es reicht sogar, einen althergebrachten ->Takt<-, also ohne das moderne
C darin zu nehmen :-)
> und einer Abtastfrequenz von 96 kHz, kann man z.B. leicht 1024 DDS> Oszillatoren berechnen, und zusammenmischen.
Du zielst jetzt auf additive Synthese aus Sinuswellen oder RAMs
(wavetable synthese) ab?
Ein einzelner Oszillator mit voller Frequenz würde je bereits reichen,
um die Anwendung abzudecken, der Rest ist parallel realisierte
Zählerarchitektur.
Frage von der Seite:
Der TOS wird angeblich in vielen Orgeln eingesetzt. Wie schafft man es,
ein Vibrato zu erzeugen?
Wenn die Frequenzen festliegen, dann kann eigentlich nur der gesamte
Oszillatortakt bewegt werden, oder?
Wie wurde dies angestellt?
Martin K. schrieb:>> und einer Abtastfrequenz von 96 kHz, kann man z.B. leicht 1024 DDS>> Oszillatoren berechnen, und zusammenmischen.> Du zielst jetzt auf additive Synthese aus Sinuswellen oder RAMs> (wavetable synthese) ab?
Ich meine die Verwendung eines Top Octave IC mit Teilern und das filtern
der entstehenden Rechteckwellen war früher eine einfache Möglichkeit
alle nötigen Frequenzen gleichzeitig zur Verfügung zu haben, und diese
dann mit den Tastatur- und Registerkontakten durchzuschalten.
Mit einem FPGA kann man leicht für jede benötigte Frequenz einen DDS
Oszillator implementieren, und dann beliebige Wellenformen aus einer
Tabelle erzeugen. Dadurch werden die Oszillatoren flexibler in den
Wellenformen und nicht mehr hart synchronisiert in der Frequenz, was das
ganze lebendiger macht.
Um eine z.B. Hammond Orgel nachzubauen könnte man die einzelnen Original
Zahnräder samplen, und für jede DDS die entsprechende Wellentabelle
verwenden. Auch die Drehgeschwindigkeit der emulierten Zahnräder wäre
genau kontrollierbar.
Andi schrieb:> Dadurch werden die Oszillatoren flexibler in den> Wellenformen und nicht mehr hart synchronisiert in der Frequenz, was das> ganze lebendiger macht.
Zumindest würde man 11 einzelne Oszillatoren verwenden. Allerdings
bringt das noch keinen Vorteil, wenn man korrekte konstante Frequenzen
erzeugen will, weil es ja eine Lösung gibt, alle 11 Frequenzen richtig
zueinander und ganzzahlig zu erzeugen. Siehe oben.
DDS mit irgendeinem Takt hat wieder den potenziellen Nachteil, dass sie
jittert, wenn die Ganzzahligkeit nicht gegeben ist. Insbesondere beim
Rechteck ist das relevant. Ich habe ja mal so eine Orgeltröte gebaut:
http://96khz.org/htm/virtualpldorganspartan3e.htm
welche auf dieser HW beasiert:
http://96khz.org/htm/pldddselectronicorgan.htm
Um wirklich flexbibel zu sein, muss jede Taste ihr eigenes Vibrato
haben. Mein Synth macht das. Jeder Ton hat einen eigenen Tongenerator,
eigene Parameter und eigene LFOs und seine eigenen Filterzustände. D.h.
jede Taste ist ein eigenes monophones Instrument. Die Zustände für
Vibrato und Filter sind nicht an andere Tasten gekoppelt.
> Um eine z.B. Hammond Orgel nachzubauen könnte man die einzelnen Original> Zahnräder samplen, und für jede DDS die entsprechende Wellentabelle> verwenden.
Laut einer Konversation, die ich vor Jahren mal mit Karsten Meyer hatte,
funktioniert sein "HOAX" genau so, eben mit einer DDS. Mit FPGAs sind
DDS allerdings so hochgenau getaktet, dass die das nicht mehr viel
ausmacht. Wenn ich mich richtig erinnere, hat er auch nur einen Takt und
eine Tabelle für alle Töne. Damit wird auch Vibrato für alle Töne
konstant sind. Passt allerdings genau zu der Funktion der HO.
Jürgen S.
>Ich habe ja mal so eine Orgeltröte gebaut:>http://96khz.org/htm/virtualpldorganspartan3e.htm
Interessant ... der Download-Link funktioniert nicht:
Downloads
Download the programming files for S3E: vpldorgan07
Beitrag "CPLD als Top Octave Generator nutzen?"Larry schrieb:>> nur der gesamte Oszillatortakt bewegt werden, oder?> Brilliant erkannt!
Und das bedeutet, dass für eine andere Stimmung eine andere
Oszillationsfrequenz von Nöten ist. Nicht alle Musiker spielen auf den
440Hz. Im Gegenteil: Orchester haben andere Frequenzen. Eine Orgel, die
in einem großen Konzertsaal mitspielen soll, wie bei Kantaten oder
Oratorien, müsste also erst einmal das Quarz ausgetauscht bekommen.
Und wie bearbeitet man Stücke mit reiner Stimmung? In welcher Stimmung
soll das TOG gearbeitet sein? Brauchte es mehrere TOGs?
Wie spielte man in Kirchentonarten?
Kon Lion schrieb:> Soll ich einfach versuchen 13 Divide-by-N counter
Ich glaube, es wären deren 11
Jürgen S. schrieb:> Bei den angegebenen 2,00024 MHz errechne ich einen Lageoffset für die> gleichstufige Stimmung zu 0,5%. Besser wäre meines Erachtens eine> Frequenz von 1,999360 MHz. Das würde das C exakt treffen, liegt halt von> den Fehlern nicht mehr so balanciert.
Das ist nachvollziehbar. Es spielt aber niemand in C :-)
Zoran schrieb:>> Das würde das C exakt treffen> Das ist nachvollziehbar. Es spielt aber niemand in C :-)
Normale Orgeln für den Heimgebrauch sind immer in weißen und schwarzen
Tasten so aufgebaut, dass die weißen C-Dur ergeben. Das ist der normale
Aufbau. Was der Grund ist, weiß ich nicht, aber es ist so.
Erst in anderen Tonarten braucht jemand überhaupt die schwarzen Tasten.
Deshalb spielen die Tastenmusiker gerne in C-Dur. Weil sie es so gelernt
haben und es einfacher ist.
Zoran schrieb:> eine andere Oszillationsfrequenz von Nöten ist.
Meine analoge Orgel Baujahr 1982 konnte man in der Tonhöhe verdrehen und
zwar global. Die dürfte einen solchen einstellbaren Taktgenerator gehabt
haben. Wie genau die war, kann ich nicht sagen. Von Digitalorgeln (und
zwar solchen mit Pfeifen) weiß ich, dass manche einstellbar sind. Die
Pfeifen sind das natürlich nicht, aber das es ohnehin nicht für jeden
Ton ein gibt, tut das was wohl nicht viel. Auf der Musikmesse hatte mal
einer eine Art MOD präsentiert, bei dem die Pfeifen angepasst wurden
(kleine bewegliche Decklungen). Damit hat er das Zentrum der Resonanz
verschieben können.
Zu der anderen Frage nach den Kirchentonarten: Das war doch eigentlich
nur eine Frage der Lage der Halbtonschritte, meine ich mich zu erinnern.
Ich hatte mal ein Arrangement passend zu äolischem Moll zu machen. Das
reduzierte sich auf die Anpassung der MIDI-Noten-Zuordnung. Das ist also
auf einem Layer weiter oben.
Was es allerdings zu beachten gilt, sind Stimmungen wie die Werckmeister
und anderen, die mitunter gefordert sein könnten (eventuell auch im
Zusammenhang mit Kirchentonarten).
Die bilden die Note auf eine andere Frequenz ab. Um das in den Griff zu
bekommen, braucht jede Note ihre eigene Frequenz. In typischen
MIDI-Klangerzeugern ist das kaum implementiert. Eine Ausnahme sind
einige Geräte von Korg und ältere Workstations von Roland.
> Es spielt aber niemand in C :-)
Tja, wenn man ein elektronisches Musikinstrument für Orchesterbegleitung
bauen möchte und rein oder mit Sonderstimmungen spielen will, braucht es
mehr. Der nächste Haken ist nämlich der Kammerton: Spielt das Orchester
auf 443 oder auch tiefer (Pariser Ton, Barockton) dann geht das mit den
standardisierten 440Hz Instrumenten nicht mehr zusammen. Man kann die
meisten zwar tunen, aber nicht an beliebige Grundtöne anpassen. Das ist
aber das Problem, der reinen Stimmung, die ja nur in einer Tonart
herzustellen ist.
Weiter oben hatte ich eine Tabelle gepostet, für eine in C reine
Stimmung. Für eine Begleitung einer Akustikgitarre, die oft in D oder G
gestimmt wird, ginge das wieder nicht.
Aus dem Grund hat Bach ja das wohltemperierte Klavier (Cembalo)
erfunden. :-)
Theoretisch bräuchte man für jede Tonart eine Transpositionstabelle, um
die Kirchentonarten in den Griff zu kriegen, eine
MIDI-Frequenz-Übersetzung für die Stimmungen i.A. des Grundtons und oben
drauf noch eine Ableitung für die Frequenzen im Zusammenspiel mit der
Höhe des Kammertons. Bei meinem ersten Synth hatte ich mehrere solcher
Tabellen implementiert, inklusive meiner 185/196 und 17/18
"Telespiel-Stimmung" sowie abgeleiteter Rasterungen für den C-64 SID,
samt 2 reiner Stimmungen in C (am) und G (dm).
Inzwischen löse ich es komplett modular und lasse die Frequenzen in
Echtzeit berechnen. Der individuelle Kammerton ist von 0 bis 511,99 Herz
auf 1/128 Hz genau einstellbar, ebenso der Bezug der Stimmung zum
Grundton. Damit sind alle 11 reinen Stimmungen ohne Transponierung und
Detuning einstellbar. Transponierungen laufen über +/-64 Noten. Damit
kann man jedes MIDI in jede Tonart und Stimmung verschieben. MIDI Noten
gibt es 256 von 0,03 bis über 80kHz :-) Über 2 Parameter sind auch
Skalierungen möglich, um z.B. die Spreizung beim Klavier nachzubilden.
Das kann bis heute kein mir bekannter Musik-Synthesizer weltweit.
Christoph M. schrieb:> Jürgen S.>>Ich habe ja mal so eine Orgeltröte gebaut:>>http://96khz.org/htm/virtualpldorganspartan3e.htm> Interessant ... der Download-Link funktioniert nicht:
Ich hatte den irgendwann, mal rausgenommen, weil es Diskrepanzen mit der
PMOD-Pin-Zuordung gab: Manche hatten die auf einer anderen Seite von mir
vorgeschlagenen originalen Digilent Pmod-Module draufgesetzt und es kam
kein Sound. Anschließen muss man es so, wie hier beschrieben:
http://96khz.org/doc/virtualpldorgan2003spartan3e.htm
Dort ist auch der richtige link.
Die anderen Grafiken hatte ich dann verschoben. Diese Schaltungen
verwende ich in anderem Zusammenhang, um z.B. einen symmetrischen
Ausgang zu haben. Dabei wird ein normales und ein invertiertes PDM
ausgegeben und ein Y-Kabel an die RCA-Buchsen angesteckt, welches auf
ein 6,3er Klinkenkabel geht. Das ist auch beim 1-Kanal-Ausgang erheblich
störsicherer gegen den GND-Einfluß, als so, wie der OP im Original
verschaltet ist.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang