Hammondorgel Obertonspektrum

Laguna
Laguna
Helpful & Friendly User
HFU
Zuletzt hier
26.12.23
Registriert
31.03.05
Beiträge
2.106
Kekse
21.145
Ort
Fürth
Hiho,

Aktuell versuche ich mich an der Programmierung einer Hammondorgel. Dazu verwende ich das Prinzip eines additiven Synths. Das Grundgerüst dafür steht soweit und ist einsetzbar. Leider finde ich im Internet keine eindeutigen Informationen zum Obertonspektrum einer Hammondorgel.
Einen Orgeltypische Sound bekomme ich relativ schnell mit der additiven Synthese von Oktaven des Grundtons (alles reine Sinusschwingungen), wobei die höheren Oktaven jeweils leiser werden. Jedoch klingt das ganze nicht wirklich nach dem "vollen" Klang einer Hammond.

Prinzipiell würde ich erwarten, dass bei den höher gelegenen Frequenzen sehr viele aber dafür leisere Obertöne mitschwingen, wobei bei meiner Methode die Abstände der Frequenzen ja immer um den Abstand 2 größer werden und deshalb bei hohen Frequenzen weiter auseinander gestreut werden.
Gibt es dafür Regeln oder gar Fachliteratur, wie die Obertöne sich verteilen und wie diese dann gewichtet sind? Was wären gute Anlaufstellen, ausser Wikipedia? Sind andere Projekte in diese Richtung (evtl sogar open Source) bekannt, mit denen ich mich austauschen könnte?

Schonmal danke fürs Lesen und Helfen,
So Far...

Laguna
 
Eigenschaft
 
Hi,

ich weiss nicht, was Du über die Tonerzeugung einer Hammond weisst. Und da das Thema beliebig komplex ist, fange ich zunächst mal ganz vorne an. Hammond wollte ein Instrument bauen, das Sinusschwingungen erzeugt. Der Sinus ist die einzige Schwingungsform, die keinerlei Obertöne hat. Wenn wir also nur von einem Ton sprechen, dann sollte der keine Obertöne haben. In Wirklichkeit ist aber der "Hammondsinus" kein reiner Sinus. Dies hängt von der Konstruktion, den Bauelementen, sowie deren Alterungszustand ab und läst sich deswegen nicht einfach beantworten.
So an der Stelle beende ich erst mal die Diskussion und warte auf Deine Reaktion. Danach können wir ja die Diskussion gerne weiterführen vielleicht auch mit noch mit ein paar anderen zusammen.

Gruss Helmut
 
Hiho, Danke für die Antworten!
So an der Stelle beende ich erst mal die Diskussion und warte auf Deine Reaktion. Danach können wir ja die Diskussion gerne weiterführen vielleicht auch mit noch mit ein paar anderen zusammen.


Ich weis im rinzip das, was in den Wikipediaartikeln steht. Und ich hab schonmal die ein oder andere Hammondorgel gehört, was denke ich auch eine ganz gute Vorraussetzung ist :)

Der Aufbau besteht aus 96 Tonrädern mit moduliertem Radius, die vor einem Tonabnehmer rotieren. Die so erzeugte Spannung kann verstärkt und über eine Box (meistens Leslie) wiedergegeben werden. Hinzu kommen noch etwaige Chorus- oder Vibratoeffekte.

Allerdings klingt ein einzelner auf einer Hammondorgel gespielter Ton ja nicht nach einem ganz normalen Sinus. Die Frage ist nun, woher das kommt. Zum einen könnte ich mir vorstellen, dass durch den Tonabnehmer oder den Verstärker nichtlineare Effekte auftreten, zum anderen wird die Bauweise des Speakers Einfluss auf den Klang haben. Ich glaube aber nicht, dass ich damit bereits die Komplexität des Instruments umfassend begriffen habe.

Dabei sehe ich für mich verschiedene Möglichkeiten, das umzusetzten. Eine sehr direkte und analytische Möglichkeit wäre, im Frequenzraum Obertöne hinzuzufügen. Beispielsweise füge ich (wie auch immer von der Lautstärke her gewichtet) Oktaven oder Quinten hinzu.
Eine Andere Art wäre dann, das so erzeugte Signal (also eine Überlagerung von Sinüssen) mit einer noch genauer zu bestimmenden Verstärkerfunktion zu versehen oder ganz bewusst (wie weis ich leider auch noch nicht genau) das Signal zu zerren und damit "even" oder "odd" Harmonics hinzuzufügen.

Allerdings habe ich leider nicht genug Wissen über Instrument um absehen zu können, was den Sound denn nun grundlegend ausmacht.


Danke für den Tipp mit GSi, ich werde ihn mal anschreiben. :)

Um mal wirklich bitterböses Reverse Engineering zu betreiben: Benutze ich das VB3 Plugin mit einem "reinen" Hammondorgel-Ton und betrachte das Ergebnis in einem Analyzer, so sehe ich, dass mein Ansatz prinzipiell schonmal garnicht so schlecht ist :D
bei einem C sehe ich bsp die Frequenz bei 262 Hz sowie mit jeweils halbierter Lautstärke die höheren Oktaven. Allerdings werden nicht nur Ober-, sondern auch "Untertöne" erzeugt, was für mich schonmal eine neue Erkenntnis ist. Zusätzlich hinzu kommt ein recht breites Bassfundament, was wohl Elektrischen "Hum" erzeugen soll. Für die hohen Frequenzen über 1kHz konnte ich so allerdings noch keine Erfahrung sammeln.
Zusätzlich kann ich einen "Einschwingvorgang" feststellen, bei dem für zeiten kurz nach dem Anspielen eines Tons deutlich mehr Obertöne vorhanden sind.

So Far...
Laguna
 
die Verzerrung der Verstärkung ist natürlich auch zu berücksichtigen...
aber als wesentliches Element wäre da Waveshaping zu nennen - das ist es ja letztlich, was die mechanisch zwangsweise unperfekten Tonewheels (im Endeffekt) machen.
hab da aber mathematisch null Plan - du weisst sicher, wo du graben musst :D

cheers, Tom
 
kann es sein, dass der Einschwingvorgang nur bei der ersten Sinusschwingung vorhanden ist ?
Die Tonräder laufen ja alle gleichzeitig, aber sie sind nicht phasengleich, das hängt wiederum von ihrer Position auf der Antriebsachse ab. Die Räder können ausserdem auch rutschen. Der Tastendruck "erwischt" den Sinus an einem beliebigen Zeitpunkt. D.h. der "erste Sinus" ist zumeist nur ein Teil der Schwingung.

Eine Spectrumanalyse z.B. der VB3 SW ist eine gute Idee, denn die VB3 arbeitet ja als "physical modeling" und hat bestimmt alle oder zumindest sehr viele der physikalischen Eigenschaften abgebildet.
Ich hatte mal so etwas ähnliches mit Freunden (von den alten Hammonds) gemacht, allerdings mit der B4 SW von NI und unter dem Aspekt Röhren- bzw. Transistorverzerrung. Wenn es interessant ist, kannst Du das hier das Ergebnis unter 2. und 3. nachlesen: http://www.vintagekeys.de/forum/viewtopic.php?f=6&t=2171

Gruss Helmut
 
Laguna,

gehe bitte von 91 Tonrädern aus, wenn Du die klassische B3 Hammond (C3 A-100 RT-3) im Sinn hast.
Theoretisch sollte der einzelne Ton (bei nur einem gezogenen Zugriegel) tatsächlich obertonfrei sein,
also nur der "öde Ton des Sinus", wie mein Mathelehrer immer zu sagen pflegte.

Kleine Fehler und fehlende Filterung im mittleren Bereich (Frequenzen 13-48) führen allerdings dazu, daß
es einen kleinen Anteil an hauptsächlich 2. Harmonischer (und weiteren geraden ~) gibt. Die "Untertöne", die Du hörst, kommen
vom sog. Crosstalk oder leakage, verursacht durch Schwebungen, Unrundheiten der Tonräder, Nebensprechen auf
den gemeinsamen Erdungswegen der Tonradsignale.

Theoretisch ist die Hammondorgel ein Fourier-Synthetisator, mit dem man periodische Zeitsignale aus orthogonalen Funktionen (sin, cos)
approximieren kann.

Hinzu kommen noch einige Klangcharakteristika, als da wären:


  • Percussion (Abklingende 2. oder 3. Harmonische),
  • das Vibrato (auf angezapfter Verzögerungsleitung basierend),
  • die ersten 12 Frequenzen werden aus sog. komplexen Tonrädern erzeugt (um den 16'-Baßtönen einen Obertongehalt zu geben - das war in den ersten Modellen- Modell A, Modell BC nicht so, da waren alle Töne rein Sinus).
  • Der Hammond-Spiralen Hall
  • externe Effekte: Leslie, Verzerrung/Übersteuerung

Und, Laguna, bedenke noch: Hammond verwendet zur Synthese den Tonvorrat des
temperiert gestimmten Tongenerators, also für die ungeraden Harmonischen
sind das nicht die natürlichen, reinen, Obertöne, sondern die temperierten, was zu Schwebungen führt und somit auch Bestandteil des Klanges sind.


Helmut, wenn Du eine Fourieranalyse machst, empfielt es sich, den eingeschwungenen Zustand zu betrachten.

"Hackst" Du Dein Signal irgendwo ab, bekommst Du im Spektrum ein völlig anderes Bild, was dann leicht zu Mißinterpretationen führen kann.
 
  • Gefällt mir
Reaktionen: 2 Benutzer
Das Waveshaping klingt interessant und so in etwa hätte ich mir eine simpelst gebaute Röhrenverstärkung auch vorgestellt. Programmiertechnisch ist das ja schnell implementiert, die richtige Auswahl der Transferfunktion ist aber glaube ich kritisch.

@Helmut: Nach genauerer Analyse der Wellenform (in Zeitdarstellung) fällt auf, dass zu Beginn des Anschlags recht viele Obertöne dabei sind. Diese werden mit der Zeit weniger und nach etwa zwei Sekunden ist als Wellenform ein nur noch leicht amplidutenmodulierter, sauberer Sinus zu erkennen.
Davon mal zwei Bilder:
www.laguna.runvs.de/Music/hammond/Hammond_begin.png
www.laguna.runvs.de/Music/hammond/Hammond_end.png
Die Grundschwingung bleibt dabei erhalten, lediglich die Obertöne werden weniger.

Das mit der Röhren- bzw Transenzerre klingt interessant. Wäre es möglich, die dort verlinkten Bilder hier auch (für dort nicht angemeldete Besucher) zugänglich zu machen?

Ausserdem habe ich extrem schnell von dem freundlichen Herren von GSi Nachricht erhalten, danke nochmal für den Tipp.
Er sagt wie Telefunky, dass es sich nicht um reine Sinusschwingungen handelt, sondern dass gewisse secondorder-Harmonics eine Rolle spielen. Ausserdem gibt es eine Art Übersprechen und das ganze dann in Kombination mit einer simulierten röhrenverstärkung macht dann seiner Aussage nach den Sound aus.

@Don Leslie: Danke für die Hinweise. So langsam ergibt sich mir ein Zusammenhang zwischen den einzelnen Parts, auch wenn ich viele Aspekte noch nicht verstehe. Was hat es mit den von dir erwähnten "temperierten Obertönen" auf sich?



Klingt für mich immer mehr nach einem extrem spannenden Thema. :D
Vermutlich werde ich um das ganze neu erlernte Wissen einzupflegen erstmal mein Programm nochmal ordentlich umstrukturieren müssen. Glücklicherweise liegt bei mir der Fokus zunächst nicht auf Echtzeitanwendung, weswegen ich mir wenigstens um Rechenpower keine Gedanken machen muss. Ich bin gespannt, wie es weitergeht!

So Far...
Laguna
 
Laguna, Helmut,

ich weiß nicht wie und mit welchem Programm die Spektren zustandegekommen sind, aber lege das Fenster für die Fourieranalyse mal so, daß Du keinen Sprung drin hast, also von Nulldurchgang zu Nulldurchgang, ganze Periodenzahl. Ich sagte bereits, man sollte stets den eingeschwungenen Zustand betrachten, wenn man an dem Obertongehalt interessiert ist, sonst bekommt man noch die Frequenzanteile der Sprungfunktion nitgeliefert.

Mit temperierten Obertönen meine ich Folgendes:

Die temperierte Stimmung teilt die Oktave in 12 gleiche Intervalle (sehen wir mal von Varianten ab und vernachlässigen wir mal die Abweichungen, die durch die rationalen Zahnrad-Übersetzungsverhältnisse im Hammond Tongenerator gegeben sind).

Das Verhältnis zweier Halbtöne ist ca. 1,059463 (12. Wurzel aus 2). Eine natürliche Quinte wäre 1,5 * Grundton, die temperierte Quinte ist das 1,498307fache davon (27/12)).

Die Oberquinte als natürliche Harmonische wäre das 3fache der Grundfrequenz, die temperierte jedoch das 2,9966fache. (Ich hoffe, ich habe mich nicht verrechnet :))
 
Zuletzt bearbeitet:
ich weiß nicht wie und mit welchem Programm die Spektren zustandegekommen sind, aber lege das Fenster für die Fourieranalyse mal so, daß Du keinen Sprung drin hast, also von Nulldurchgang zu Nulldurchgang, ganze Periodenzahl. Ich sagte bereits, man sollte stets den eingeschwungenen Zustand betrachten, wenn man an dem Obertongehalt interessiert ist, sonst bekommt man noch die Frequenzanteile der Sprungfunktion nitgeliefert.
Darauf habe ich bei der Erstellung der Spektren (mit einem VST Analyzer in Cubase) geachtet.


Um einen aktuellen Stand zu geben und um auch mal was hörbares vorzuweisen:
www.laguna.runvs.de/Music/hammond/hammond_test_28_7_12.wav

Dort ist zu hören: Überlagerung von
* 220 Hz Sinus mit 2. Harmonischer (insgesamt amplitudenmoduliert)
* 2., 3. und 4. Harmonische mit exp fallender Amplitude ("Percussiver" Anfang, Anschlag)
* "Übersprechen" auf Untertöne (110 Hz, 55 Hz), ebenfalls leicht amplidutdenmoduliert und in der Phase verschoben
* "60Hz Brumm" Simulation

Insgesamt klingt mein System noch recht statisch. Gerade der Brumm klingt bei mir relativ tot. Ausserdem fällt im Vergleich zum Original auf, dass dort meist noch viel mehr höhere Frequenzen mitschwinen.
Für 1,5 Tage Arbeit kann ich damit aber denke ich schonmal einigermassen zufrieden sein. :D

Als nächstes ist die Simulation einer Übertragerfunktion für einen Röhrenverstärker geplant, dann werde ich mich der Erzeugung von temperierten ungeraden Harmonischen zuwenden.
Parallel dazu muss der Quellcode dringend in eine adäquate Form gebracht werden. Wenn die steht bastel ich eine kleine GUI, mit der ich dann ohne ständiges kompilieren testen kann.

So Far und Danke für die echt tolle Unterstützung hier!
Laguna
 
Ich weiß, ich bin spät dran, aber: interessantes Projekt und interessante Infos in diesem Thread, auf welcher Plattform programmierst Du das eigentlich? Wird das ein Plugin?

Banjo
 
Ich programmiere in c++, das ganze ist soweit eine plattformunabhängige standalone Anwendung. Geplant ist eine GUI in Qt. Allerdings bin ich in letzter Zeit ob der Arbeit nicht wirklich zu was gekommen. Ich muss mich da mal wieder aktiver ransetzten.

So Far...
Laguna
 
Klingt interessant, Qt finde ich auch gut. Hab mich da vor Jahren mal ein wenig eingearbeitet, es aber nie in einem richtigen Projekt verwendet.

Als nächstes kannst Du Dich ja mal ans Fender Rhodes machen;) Das würde mich noch viel mehr interessieren, was da an Ober- und Untertönen abgeht. Ich hab schon ein wenig nachgelesen, das sind zwei Stimmgabeln pro Note, eine mit der 7-fachen Grundfrequenz der anderen.

Ich hab da so ein Phänomen, wenn ich in Plugins Audioschnipsel zerschnipple und überlagert wieder zusammen setze, dass Rhodes-Signale immer viel mehr Knackgeräusche verursachen als alle anderen Signale. Ich kann aber keinen Gleichstrom-Anteil (DC-Offset) messen und die Frage, was am Rhodes anders ist, beschäftigt mich schon eine Weile. Selbst wenn man in der DAW einfach das Band stoppt, knackst es bei Rhodes immer (bei einem von CD gerippten WAV), zum Beispiel bei dem Stück: http://www.youtube.com/watch?v=bLk2muSkc8U

Banjo

P.S. Wenn Du schon C++ machst, könntest Du mit JUCE auch gleich plattform-unabhängige PlugIns schreiben. Hat zwar seine Tücken, aber am Schluß hat man aus einem Sourcecode gleich Plugins für VST und RTAS/AAX für Windows und Mac (sowie AU für Mac).
 
Zuletzt bearbeitet:
... dass Rhodes-Signale immer viel mehr Knackgeräusche verursachen als alle anderen Signale. Ich kann aber keinen Gleichstrom-Anteil (DC-Offset) messen und die Frage, was am Rhodes anders ist, beschäftigt mich schon eine Weile...
das liegt am hohen Anteil von sinus-artigen Komponenten, aus denen sich das Signal zusammensetzt.
ein (ge-loopter) Sägezahn lässt sich per Bildschirmfader live in der Lautstärke nebengeräusch-frei ändern
bei einem Sinus-Signal treten in dem Fall die typischen 'zipper' Geräusche auf
(solange nicht mit mute-crossfades gearbeitet wird)

cheers, Tom
 
  • Gefällt mir
Reaktionen: 2 Benutzer
Stimmt, so hab ich das noch gar nicht gesehen. Wenn das Signal selbst wenig Obertöne hat, fallen durch Schnitte und sehr kurze Blenden verursachte Obertöne natürlich viel mehr auf als in einem breitbandigen Signal.

Banjo
 
Eine Hammondorgel ist noch relativ einfach zu programmieren, da sie additiv arbeitet und man zusätzlich "nur noch" etwas "Dreck" braucht.

Ein Rhodes ist eine ganz andere Kategorie, ebenso wie Instrumente die mit Saiten arbeiten, wie etwa ein Klavier.

Mit Nyquist (http://de.wikipedia.org/wiki/Nyquist_(Programmiersprache)) hat da ja insbesondere Prof. Dannenberg einiges gemacht.
Eine ganze Menge an Beispielen findet man dort: http://www.audacity-forum.de/download/edgar/nyquist/nyquist-doc/examples/examples.htm


Nyquist oder auch CSound sind m.E. Werkzeuge mit denen man schneller ans Ziel kommt, als wollte man alles von Grund auf in C oder C++ oder C# programmieren.


Nyquist Handbuch und so:
http://www.cs.cmu.edu/~music/nyquist/index.html

CSound
http://de.wikipedia.org/wiki/Csound
 
  • Gefällt mir
Reaktionen: 2 Benutzer
CSound kenne ich, damit hab ich schon mal Gongs für eine ELA-Anlage gebastelt. Nyquist muss ich mir mal ansehen. Allerdings hab ich für C++ über die Jahre auch meinen Baukasten entwickelt, so dass viele Dinge recht schnell gehen. Wenn man aber damit erst anfangen muss und sich eigentlich mehr mit den Sounds als mit der Programmiererei beschäftigen will, sind das gute Lösungen. Ich schmeiße auch noch mal Audiomulch in die Runde, der sich für Soundbasteleien ebenfalls hervorragend eignet.

Banjo
 
Caveat!

Ich habe spaßeshalber kürzlich CSOUND auf meinem Windows7/64 Notebook installiert und getestet. Soweit ganz interessant und nett, lediglich, daß das Programm die PATH-Variable unter SYSTEM (!) auf C:\Csound\bin setzt, ist eine Unverschämtheit :(
 

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben