Forum: Digitale Signalverarbeitung / DSP / Machine Learning frequenz versus zeit / Gehörempfinden


von Michael W. (Gast)


Lesenswert?

Angenommen ich möchte ein Musikstück dahingehend analysieren, dass ich 
aus einem WAV die zeitliche Abfolge der Noten aus einer Klaviersonate 
erhalte -   rein theoretisch, ich habe nicht vor so etwas zu machen...

Der erste Gedanke wäre dann, im Abstand von ca. 0,1s DFTs zu berechnen 
und daraus zu entnehmen, welche Note gerade angeschlagen ist.

Da die Intensität einer angeschlagenen Note aber zeitlich abnimmt 
(exponentiell sagen wir mal), bzw. beim Anschlag von 0 auf 100% geht, 
bekomme ich keine scharfen Spektrallinien, sondern ein verschmiertes 
Spektrum. Das kann man dann auch noch durch Fenstertechniken (Hann, 
etc...) etwas verbessern, aber insgesamt wäre das ziemlich 
unbefriedigend. Die Diskrepanz ist letztlich eine Folge der Unschärfe 
zwischen Zeit und Frequenz - beides kann man nicht gleichzeitig beliebig 
genau bestimmen.

Frage: Wie schafft es ein absolutes Gehör, eine Frequenz genau 
herauszuhören?
Gibt es Algorithmen, die hier besser geeignet sind als aus einer simplen 
DFT ein Spektrogramm zu generieren?

von Bastler (Gast)


Lesenswert?

Mehr als ein verwaschenes Spektrum werden die Hährchen im Ohr auch nicht 
ermitteln. Schönsein es endlich viele sind.
Das Absolute Gehör hat eben seine Hährchen exakt stimmen lassen. 
(Scherz!)
Schau mal nach "temperierter Stimmung", da kannst dunachlesen, wie man 
die physikalischen Probleme der Musik per Verteilung der Fehler umgeht. 
Außerdem: eine Klaviersaite liefert keinen Sinus, sondern immer ein zeit 
varierendes Spektrum. Und Obertöne, die in keinem ganzzahligen 
Verhältnis zum Grundton stehen.

von Rolf S. (audiorolf)


Lesenswert?

Bastler schrieb:
> Und Obertöne, die in keinem ganzzahligen
> Verhältnis zum Grundton stehen.
Im Grossen und Ganzen tun sie das schon, sonst würde es sich schräg 
anhören :-)

Zur Gehörempfinden: Das ist eine Leistung des Gehirns, die viel mit 
Erinnerung zu tun hat. Ist wie bei guten Köchen: Die schmecken genau, 
wie salzig die Suppe schon ist.

Ob man das mathematisch analytisch behandeln kann, weiss ich nicht, aber 
die Messung des Frequenzverlaufes sollte schon genügend exakt machbar 
sein, um die Noten zuzuordnen. Die liegen ja im 6% Raster.

Den genauen Klangverlauf macht ohnehin das Instrument und der Musiker, 
vor allem bei Saiteninstrumenten wie Gitarren.

von Bastler (Gast)


Lesenswert?

> Bastler schrieb:
>> Und Obertöne, die in keinem ganzzahligen
>> Verhältnis zum Grundton stehen.
>Im Grossen und Ganzen tun sie das schon, sonst würde es sich schräg
>anhören :-)

Siehe Wikipedia "Inharmonizität".
Bin zwar kein Profimusiker, aber hab aber meine Klampfen zu Teil selbst 
gebaut, andere zumindest verbessert. Da erlebt man konkret, daß +1 
Oktave nicht gleich 1/2 Saitenlänge ist.
Gerne auch in
https://hps.hs-regensburg.de/~elektrogitarre/pdfs/gesamt.pdf
nacHzulesen. Da werden auch die dicken kurzen hohen Klaviersaiten 
erwähnt.

von Possetitjel (Gast)


Lesenswert?

Michael W. schrieb:

> Da die Intensität einer angeschlagenen Note aber zeitlich
> abnimmt (exponentiell sagen wir mal), bzw. beim Anschlag
> von 0 auf 100% geht, bekomme ich keine scharfen Spektrallinien,
> sondern ein verschmiertes Spektrum.

Das ist rein qualitativ richtig - aber betrachte die Quantität:
Eine Änderung innerhalb einer Sekunde gibt zwei Seitenbänder von
0.5Hz.

A (55.0Hz) und Ais (58.27Hz) liegen aber schon 3.27Hz auseinander.
Das ist fast eine Größenordnung (zu den Seitenbändern).

> Frage: Wie schafft es ein absolutes Gehör, eine Frequenz genau
> herauszuhören?

Das weiß ich nicht - ich habe keins :)

> Gibt es Algorithmen, die hier besser geeignet sind als aus einer
> simplen DFT ein Spektrogramm zu generieren?

Mit Sicherheit.

Nur hingeworfen (bin kein Mathematiker): Die Sinus- und 
Cosinusfunktionen
lassen sich als (abzählbare) Basisvektoren eines speziellen Vektorraumes
auffassen.
Man kann aber Koordinatentransformationen durchführen, d.h.: Man kann
aus Linearkombinationen von Basisvektoren eine neue Basis erhalten. Das
wird (analytisch) in der Laplace-Transformation gemacht, und das ist
auch die Grundidee der Wavelet-Transformation.

Fourier-Reihen sind als theoretisches Hilfsmittel extrem wichtig, aber
letztlich nicht wirklich praktisch relevant: Die Basis besteht aus
Funktionen, die "in saecula saeculorum" unverändert gleichbleiben. Die
Tatsache, dass die Klaviersaite zum Zeitpunkt X angeschlagen wird und
anschließend abklingt, ist mit den Mitteln der Fourier-Reihe nicht
sinnvoll darstellbar.

Die Wavelet-Transformation versucht nach meinem Verständnis, diese
Beschränkung durch Basisfunktionen zu umgehen, die sowohl zeitlich
wie auch spektral beschränkt sind.

von Possetitjel (Gast)


Lesenswert?

Rolf S. schrieb:

> Bastler schrieb:
>> Und Obertöne, die in keinem ganzzahligen
>> Verhältnis zum Grundton stehen.
> Im Grossen und Ganzen tun sie das schon, sonst würde es sich
> schräg anhören :-)

Dochdoch, das tut es ja auch.

Ein Klavier ohne Partialtonverstimmung klingt nach allem Möglichen,
nur nicht nach Klavier. Das Schräge ist kein Bug, sondern ein
Feature.

> Ob man das mathematisch analytisch behandeln kann, weiss ich
> nicht, aber die Messung des Frequenzverlaufes sollte schon
> genügend exakt machbar sein, um die Noten zuzuordnen. Die
> liegen ja im 6% Raster.

Auf jeden Fall.
Die spektrale Verbreiterung durch die "Amplitudenmodulation" liegt
ganz sicher deutlich unter einem Halbton (also unter den 6%).

von Siekmanski (Gast)


Lesenswert?

This would be a nice job for a Goertzel algorithm

The Goertzel algorithm analyses one selectable frequency component from 
a discrete signal

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

solche Software findet man u.a. mit dem Suchbegriff "DNA"
also für Google beispielsweise: "sound to notes software DNA"

http://www.soundonsound.com/sos/dec09/articles/melodynedna.htm
"You can modify each note"

: Bearbeitet durch User
von Mr.Moe (Gast)


Lesenswert?

Ich habe es noch nicht gemacht, ich denke, dass man zu extrahieren von 
Noten aus einer Klaviersonate den gleichen Ansatz wählen könnte, wie bei 
der Spracherkennung. Dabei gibt es natürlich viele Möglichkeiten.

Ich bin mir nicht sicher, ob das alles so stimmt, aber ungefähr so habe 
ich es im Kopf:

Das zu analysierende Signal fenstert man und bildet die DFT. Wie du 
schon meintest kann das Spektrum verschliffen sein. Deshalb schaut man 
sich die Welligkeit des Spektrums an, in dem man vom Spektrum das 
Spektrum bildet, man nimmt die DFT also zweimal vor. Auf diese Merkmale 
trainiert man ein Hidden-Markov-Modell, dass man natürlich erstellen 
muss. Das ist nicht einfach, sondern eine Wissenschaft für sich. Man 
wirft die Merkmale (die gefensterten Abschnitte) des zu analysierenden 
Signals in das Modell und erhält die Wahrscheinlichkeit, mit der man 
sich in einem bestimmten Zustand des Modells befindet. Abschließend 
läuft man mit dem Viterby-Algorithmuss durch alle Zustände und erhält 
die Wahrscheinlichkeit der Folge.

Ich hoffe, dass ich keinen Oberquatsch geschrieben habe...

Moe

von Rolf S. (audiorolf)


Lesenswert?

Bastler schrieb:
> Da erlebt man konkret, daß +1
> Oktave nicht gleich 1/2 Saitenlänge ist.
Weil es auch von der Masse abhängt aber davon sind die oberen Wellen 
auch betroffen. Deshalb müsste sich das Verhältnis nicht ändern.

Possetitjel schrieb:
>> Im Grossen und Ganzen tun sie das schon, sonst würde es sich
>> schräg anhören :-)
> Dochdoch, das tut es ja auch.
Die Frage ist, wie sehr diese Verstimmung wirkt. Wenn dort komplett 
zueinander inkompatible Oberwellen unterwegs wären und dominante 
Amplituden hätte, würde das ganz sicher nicht klingen.

> Ein Klavier ohne Partialtonverstimmung klingt nach allem Möglichen,
> nur nicht nach Klavier.
Das ist aber etwas anderes, weil schon der Grundton nicht genau stimmt. 
Diese Verstimmung ist absichtlich und zugleich geringfügig. Es sollen ja 
nur Schwebungen erzeugt werden.

: Bearbeitet durch User
von Michael L. (Gast)


Lesenswert?

Hallo,

> Frage: Wie schafft es ein absolutes Gehör, eine Frequenz genau
> herauszuhören?
> Gibt es Algorithmen, die hier besser geeignet sind als aus einer simplen
> DFT ein Spektrogramm zu generieren?
zunächst wirkt beim Gehör kein reiner Algorithmus, sondern es findet ein 
komplexes Zusammenspiel von passiver Mechanik in der Hörschnecke 
(Frequenz-Orts-Codierung: je nach der Frequenz des Tons findet innerhalb 
der Hörschnecke an unterschiedlichen Orten eine Resonanzüberhöhung 
statt), aktiver Mechanik (aktive Reaktion der Sinneszellen) und 
Signalverarbeitung (im Hirn) statt.

Ich glaube aber, Du hast den Begriff des absoluten Gehörs 
überinterpretiert. Gemeint ist nicht "absolut genaues" Gehör, sondern 
das Gegenteil von "relatives Gehör".

- Eine Person mit absolutem Gehör kann Tonhöhen bestimmen.
- Eine Person mit relativem Gehör kann 
Tonintervalle/Tonhöhenunterschiede bestimmen.

Bei der Bestimmung der Tonhöhe können Personen mit absolutem Gehör 
natürlich auch Fehler machen. Bei den Fehlern kann man grundsätzlich 
unterscheiden zwischen:
- kleineren Fehlern in der Tonhöhe (kleinere Abweichungen vom 
tatsächlichen Ton)
- Fehlern im Quintenzirkel (der ermittelte Ton ist eine Quinte höher 
bzw. eine Quarte tiefer als in Wirklichkeit)



Viele Grüße
Michael

von Rolf S. (audiorolf)


Lesenswert?

Michael Lenz schrieb:
>> Frage: Wie schafft es ein absolutes Gehör, eine Frequenz genau
>> herauszuhören?
In allererster Näherung ist das wohl eine Frage der Erinnerung, möchte 
ich einmal behaupten, oder?

Ich sehe das ähnlich dem Messen von Abständen: Manche können die 
Körpergrösse von Gegenübern genauestens schätzen und nicht nur, ob einer 
grösser ist, als der Nachbar.

Sie vergleichen ihren Eindruck nicht mit einem realen Objekt, sondern 
mit einer Erinnerung.

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.