Forum: FPGA, VHDL & Co. Duddelsack Töne


von Markus (Gast)


Lesenswert?

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?

von Mario M. (thelonging)


Lesenswert?

Die kursiv gesetzten Töne sind die Halbtöne.

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Mario M. (thelonging)


Lesenswert?


von Markus (Gast)


Lesenswert?

Super! Danke :-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Markus schrieb:
> Ich vermute
Man könnte sich mal so ein Dudelsackgeräusch als Spektrum anzeigen 
lassen. Am besten jede Pfeife für sich...

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

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 Markus (Gast)


Lesenswert?

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?

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

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!

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

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.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

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 Markus (Gast)


Lesenswert?

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.

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Hildegard (Gast)


Lesenswert?

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.

von Audiomann (Gast)


Lesenswert?

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 :-)

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

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.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Jürgen S. schrieb:
> Du brauchst den
> zeitlichen Verlauf.

Und den kannst dir ja mit einem Wave Export holen, was auch jede DAW 
kann. ;-)

: Bearbeitet durch User
von Jürgen S. (engineer) Benutzerseite


Lesenswert?

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.

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Hier mal der erste Versuch, die Tonhöhen zu "matchen".
1
% A tuned to 475 HZ
2
% logGM als niedrigster Ton
3
GreadHighLand_pitch_Hz=[422,475,534,594,633,713,792,855,950]

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.

von Duke Scarring (Gast)


Lesenswert?

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

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

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.

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