Für ein kleines Projekt möchte ich Duddelsacktöne erzeugen.
Es ergeben sich verschiedene Herausforderungen. Die erste ist,
herauszukriegen, wie die Frequenzen der Grundtöne sind.
Laut Wikipedia werden 9 Töne gespielt:
https://de.wikipedia.org/wiki/Great_Highland_Bagpipe
In der Tabelle sind aber 14 Töne. Welche Tonhöhen sind die 9 Töne?
Du meinst so wie im Bild?
Jetzt müsste ich nur noch die Frequenzen dazu bekommen, weil laut dem
Artikel ja gilt:
"Der Grundton A der Great Highland Bagpipe liegt sehr nahe bei einem B
(englisch B flat) und hat je nach Hersteller und Spieler eine Frequenz
zwischen 469 Hz und 482 Hz"
d.h. nehme ich an, dass sich die restlichen Töne entsprechend des
Grundtons verschieben.
Die nächste Frage ist dann nach dem Spektrum eines Tons. Ich vermute,
als erstes könnte man das Ganze durch ein Dreieck annähern.
Falls du eine VST faehige DAW hast, kannst ja mal ein entsprechendes VST
Instrument reinladen und dir das Spektrum anzeigen lassen. Das sollte
dann ziemlich brauchbare Daten liefern und evtl. laesst sich da ein
Synthesemuster erkennen. :-)
Ein Beispiel VST das ich auf die schnelle bei Google gefunden hab. Keien
Ahnugn wie gut es ist.
http://soundbytes.de/BagPipes/?download-en
von Lothar M. (lkmiller) (Moderator) Benutzerseite
23.10.2021 21:35
>Man könnte sich mal so ein Dudelsackgeräusch als Spektrum anzeigen>lassen. Am besten jede Pfeife für sich...
Scheinbar ist das Thema auch für die Forschung interessant. Hier ist
eine Analyse der Spectren:
https://www.researchgate.net/publication/263501635_Acoustics_of_the_Highland_Bagpipe_Chanter_and_Reed
Was ich mich schon länger frage und eigentlich immer mal untersuchen
wollte: Wie wichtig ist die Phase? Was passiert, wenn man das Spectrum
einer Dreieck oder Rechteckschwinung nimmt und die Phaseninformationen
ändert?
Markus schrieb:> Es ergeben sich verschiedene Herausforderungen.
Das könnte wohl sein, ja. :-) Die Grundtonfrequenzen herauszufinden,
dürfte dabei das geringste Problem sein. Da braucht es nur eine gute
Aufzeichnung von der schottischen Hymne und ein Keyboard mit
Tuningknopf, oder ein Gitarre mit Stimmgerät. Ich habe mir für solche
Zwecke eine kleine Kinderukulele zugelegt, mit der ich jeden
willkürlichen Ton in einem komplexen Werk / Zusammenklang frei nach
Gehör einstimmen kann, um sie dann allein zu spielen und die Frequenz
abzulesen.
Markus schrieb:> Was passiert, wenn man das Spectrum> einer Dreieck oder Rechteckschwinung nimmt und die Phaseninformationen> ändert?
Kommt drauf an, was du änderst (den inneren Zusammenhang welcher
Oberwellen) und in welchem Kontext du es zusammenmischst. Die Töne
interferieren ja alle und das tun auch die Oberwellen. Da kann
allesmögliche bei rauskommen:
Beitrag "Re: Rechteckfunktion multipliziert mit Dreieckfunktion"
Wenn mehrere Pfeifen ertönen, werden die natürlich auch phasenmoduliert
laufen, weil solche Töne nicht stabil sind. Das macht ihren Charakter
aus. Gerade bei den pipes sind die Schwebungen sehr wichtig und ich
bezweifle, ob du mit einem normalen Spektrumanalysator selbige wirst
sehen und erkennen können. Um die Frequenzen nur zu messen und es rein
analytisch zu machen, bräuchte es auch einen sehr hochauslösenden
Audio-Spektrumanalysator. Problematik ist hier beschrieben:
Beitrag "Re: Autokorrelation: Digitales Stimmgerät Auflösung erhöhen"Tobias B. schrieb:> Falls du eine VST faehige DAW hast,
Ich kenne keinen "Reinstopf" für PC-DAWs, der das auch nur annähernd
präzise anzeigt. Das muss man wahrscheinlich auch per Gehör einstellen.
Also Schwebungen zählen oder fühlen und Stimmung anpassen.
Die "anderen Herausforderungen" wären dann mal die Transienten!
Blasinstrumente haben ein luftstromabhängiges Einschwingverhalten, d.h.
die Tonhöhe macht mit der Lautstärke eine Kurve. Einfach nur einen Ton
mit konstanter Tonhöhe anschalten, klingt dann nicht nach Instrument,
sondern nach Bontempi! Und auch hier kommt der dudelnde Sack mit einem
Sondereffekt: Der Sack wird mit dem Arm gepresst und die Luft stömt
gegen ein Ventil, das den Luftstrom stabilisert. Lässt man aber im Druck
nur minimal nach, variiert sofort die Tonhöhe. Erfahrene pipe-Spieler
nutzen das auch. Man kann diesen Effekt sogar als unmusikalischer Laie
hören, wenn man den Sack ablegt: Wenn dem die Luft ausgeht, sacken die
Pfeifentöne in den Keller. Aus diesem kommen sie auch schlagartig
hervor, wenn ein Ton angeblasen wird.
Der Dudelsack ist wahrscheinlich das Instrument, das am stärksten die
Tonhöhe nach oben zieht, wenn der Ton beginnt. Ich höre da oft mal eine
Oktave heraus. Mehr gibt es nur beim Techno!
Ach ja:
Da du das hier im FPGA-Bereich postest, gehe ich davon aus, dass du die
Töne mit einem solchen erzeugen möchtest(?) Da wünsche ich viel Spass -
ich habe es in über 15 Jahren nicht zufriedenstellend geschafft. Die
pipes waren seinerzeit die Triebfeder für die Entwicklung meines eigenen
Synths- da ich irrtümlich annahm, OMD hätte ihren Leadsound mit einem
analogen(?) Synth erzeugt und das wollte ich nachspielen können. Erst
bei den Recherchen der Details (der erste Synth war schon lange fertig)
kam ich drauf, wie sie ihren Dudelsackklang wirklich machen:
Mit einem Mellotron!
Will heißen: Der wohl bekannteste Leadsound aller Zeiten, aus genau dem
Werk, das für den Start des BritPops mit elektronischen Synthesizern
steht, war gar kein Synthie sondern kam vom Band :-)
Man darf sich aber trösten: Auch einige "Kollegen", die sich gerade um
das Wiederentstehen des Synclaviers auf FPGA-Basis bemühen, kriegen es
nicht hin. Die Woche kam wieder mal 'ne mail, ob ich noch Ideen habe.
Holzblasinstrumente sind halt nicht so einfach zu modellieren und dieser
Sound ist ja auch noch modifiziert. Selbst Andy selber kriegt ihn ja
nicht 100% hin: Vor ein paar Jahren habe ich ein Konzert der wieder
aktiven OMD gesehen: Da spielten sie Kronos und Tyros. Klang aber weder
nach dem Original noch nach einem echten Dudelsack.
Da kannst aber nach Abschluss des Projektes gerne mal den Sound deines
Dudelsacks posten. Würde mich mal interessieren.
Jürgen S. schrieb:> Ich kenne keinen "Reinstopf" für PC-DAWs, der das auch nur annähernd> präzise anzeigt. Das muss man wahrscheinlich auch per Gehör einstellen.> Also Schwebungen zählen oder fühlen und Stimmung anpassen.
Hmmm, also ich wuerde Cubase nehmen, das VST Instrument und mir dann das
Spektrum anzeigen lassen. Oder nopch eleganter: Eine Tonleiter
durchspielen und dann ein Audio Mixdown als Wave erzeugen (idealerweise
mit Floating Daten). Damit kann man dann die Daten analysieren wie man
lustig ist.
Und im Prinzip will er ja genau das nachbauen. Grundton vorgeben und wie
ein Dudelsack solls dann klingen. :-)
von Jürgen S. (engineer)
>Da du das hier im FPGA-Bereich postest, gehe ich davon aus, dass du die>Töne mit einem solchen erzeugen möchtest(?) Da wünsche ich viel Spass ->ich habe es in über 15 Jahren nicht zufriedenstellend geschafft.
Interessant, dass die Duddelsacktöne eine Triebfeder für dein Projekt
waren.
Ich denke auch, dass Erzeugung dieser Art von Tönen eine ziemlich große
Herausforderung ist. Es handelt sich wohl eher um ein Problem der
digitalen Signalverarbeitung und weniger um ein FPGA Problem. Sobald man
das Verfahren hat, dürfte es ich wohl auch auf einem FPGA umsetzen
lassen.
Ich fange mal langsam mit der Analyse-Phase an. Als erstes brauche ich
WAV oder MP3 Aufnahmen. Hier gibt es z.B. welche:
https://www.looperman.com/loops/tags/free-bagpipe-loops-samples-sounds-wavs-download
Leider sind die nur bedingt geeignet, weil immer gleichzeitig die Drones
mit den tiefen Tönen gespielt werden oder Hall in den Aufnahmen ist.
Ich verwende Linux und man kann dort wenigstens den AudioOutput
mitschneiden:
https://askubuntu.com/questions/229352/how-to-record-output-to-speakers
Vielleicht hat von euch jemand einen klaren Duddelsackton, den ihr als
MP3 posten könntet.
Hier mal ein drei Töne aus der obigen Soundkollektion ( Float 153BPM
Blend Beats) ausgeschnitten.
Verwertbar scheinen mir hier erst mal nur Informationen über die
Hüllkurven und deren Zeiten.
https://soundlab.cs.princeton.edu/learning/tutorials/phys.html
Und bei Stanford über Physical Modelling und Waveguid-Synthese
informieren.
Dann mit einem kleinen Waveguide-Setup anfangen. Wenn du es schaffst es
zum oszillieren zu bringen, kannst du über das Reed nachdenken.
Ich befürchte du unterschätzt das Problem.
Hildegard schrieb:> https://soundlab.cs.princeton.edu/learning/tutorials/phys.html
Da steht aber nichts Konkretes und schon gar nicht über die genaue
Modellierung von bag pipes. Ich kann mir auch nur schwer vorstellen, daß
man mal so eben die Physik einer solchen Dudelsackpfeife (oder heißt es
-flöte ?) vollständig formulieren kann, um hernach einen Ton
herauszubekommen. Was aus den Keyboards so heraustönt und sich physical
modelling nennt, kann man alles in der -> Pfeife <- rauchen :-)
Tatsächlich ist der Duddelsackton wohl eine ziemlich große
Herausforderung für die Soundsynthese.
Ich habe einfach mal JingleBells von hier
https://www.partitions.bzh/deutsch/partitur/449_Jingle_Bells
genommen und auf Ubuntu mit "TiMidity" abgespielt.
Das Ganze hört sich schon etwas dürftig an. Besonders die Drones klingen
eher wie das unerwünschte 50Hz Brummen, das man bei früheren
Audioaufnahmen ab und zu hatte.
Tobias B. schrieb:> Hmmm, also ich wuerde Cubase nehmen, das VST Instrument und mir dann das> Spektrum anzeigen lassen.
Mit welchem Toll du das machst, ist reichlich egal. Du brauchst den
zeitlichen Verlauf. Wavelab kann das als 3D-Spektralanalyse und auch
Samplitude. Falls Cubase das auch kann, gut - aber aus den Diagrammen
kann man beim Besten willen nicht entnehmen, wie der genaue Tonverlauf
ist. Das müsste man schon hochaufgelöst aufnehmen und wieder als IFFT
abspielen und dann kann man auch gleich das Sample nehmen. Macht weniger
Artefakte bei der Resynthese.
Tobias B. schrieb:> Und den kannst dir ja mit einem Wave Export holen, was auch jede DAW> kann. ;-)
Das führt ja letztlich wieder auf das Sample selber(?).
Ich meinte auch nicht den (zweidimensionalen) Verlauf des Signals im
Zeitbereich, sondern den (dreidimensionalen) Verlauf der Amplituden im
Frequenzbereich. Der lässt sich zwar prinzipiell aus jeder FFT erzeugen,
in der Praxis krankt es aber daran, dass ...
a) jede schnelle und kurze FFT zu grob ist und die Frequenzen nicht
genug auflöst, oder
b) (wenn sie fein genug ist) die Amplituden zwar genügend trennt, dafür
aber zu kurz ist und die Amplitudenwerte zu ungenau sind, oder
c) sie für a) und b) lang und fein genug ist, dafür aber bei Weitem zu
lang wird, um den Einschwingvorgang zu erfassen.
Eine halbwegs audiotaugliche FFT muss wenigstens eine halbe Welle
erfassen, will man überhaupt eine verwertbare Information haben. Möchte
man unabhängig von Fenstereffekten sein, braucht es 2-3 Wellen und mehr.
Das sind bei tiefen Tönen bis zu 100ms. Da sind viele Töne nicht nur
schon komplett eingeschwungen, sondern manche sogar schon wieder weg :-)
Du kriegst immer einen Kompromiss! Ein aus FFT-Daten rekonstruiertes
Signal ist so derart mit Artefakten belastet, dass es immer nach Plastik
und Konserve klingt. Das liegt an der unzureichenden Repräsentation der
Oberwellen in der kurzen Sicht einerseits und an der Unmöglichkeit,
gleichzeitig in der langen Sicht, die Schwebungen eines Signals in der
FFT abzubilden. Lange Töne regen Resonanzen an, die automatisch mit
einfliessen, (was sie bei einem Sample-basierten Vorgehen auch müssen).
Diese führen zu partiellen Auslöschungen, die sich in der FFT falsch
abbilden. Hinzu kommen Überlagerungen mit anderen Tönen aus anderen
Pfeifen. Dieses Muster kann man nicht einfach aufnehmen und wieder
abspielen, weil man dann das gesamte Pattern looped, was direkt hörbar
ist.
Das Einzige, was zielsicher funktioniert, ist das optische Zerlegen der
Tonfolgen in Phasen, die man dann synthetisch abbildet. Dabei kann man
per Gehör trennen, was aus der einen und was aus der anderen Pfeife
kommt und was Resonanz ist und was primärer Erregerton. Da muss man aber
viel werkeln, um an einen authentischen Klang heran zu kommen.
Daher bleibt für den einfachen Ansatz nur, jede Pfeife einzeln in
verschiedenen Anblastechniken möglichst "trocken" zu sampeln und sich
dann beim Zusammenbau, das Passende zu suchen und dann mit
Überblendungen zu arbeiten - klassische Samplesynthese halt.
Die Idee bei der Synthesizerstruktur war, die Tonhöhe mit einer
Hüllkurve zu ändern. Über den Effekt lässt sich streiten, aber es klingt
zumindest nicht so fad wie ein reiner Sinus.
Hinweis: die Zahlen bei den ADSR sind einheitenlose
Anstieggeschwindigkeiten. Das ganze ist erst mal auf einem RP2040
gespielt.
Markus schrieb:> Über den Effekt lässt sich streiten, aber es klingt> zumindest nicht so fad wie ein reiner Sinus.
Ja, eine leichte Assoziationen Richtung Flöte kann ich erkennen.
Vielleicht hilft hier eine Modellierung mit Luftinhalt des Sacks und
eine KI, die abhängig vom Notenbild den Armdruck nachbildet weiter.
Duke
Naja, das Charakteristische der Flöte ist ja das überlagerte Hauchen und
das müsste wenigstens noch hinein. Also: Rauschgenerator mit gesteuertem
Formantfilter additiv aufs Signal geben.
Aber sollte es nicht Dudelsack werden?
Da bräuchte es zunächst einmal eine Modellierung des Rohrblatts wie beim
Saxophon. Das erzeugt ja das Scattern des Luftstroms, der dann mit
seinen starken Transienten die Resonanzen des Flötenkorpus' anregt und
so erst den charakteristischen Klang solcher Instrumente erzeugt.
Modelliert wird es in Synthesizern mit spannungsgesteuerten Verstärkern
+ Filtern. Der einfachste Weg in digitalen Systemen wäre ein schneller
Rechteck-LFO mit Offset, der das Signal multiplikativ verstärkt und
seinerseits frequenzabhängig ist. Damit hätte man schon einmal die
Grundstimmung. Das wären dann so 10% der Realität.
Da der Dudelsack mit einem Doppelblatt arbeitet, gibt es dann noch eine
Dynamik in den Unterbrechungen, wenn die Blätter interagieren. Macht man
das richtig, hätte man sicher 30%.
Hinzu kämen die Oberwellen nach Ordnungszahl der Geometrie. Auch da hat
der DS einiges an zusätzlicher Komplexität zu bieten, das über die
"normale" Flöte hinaus geht.