AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Audio Files vergleichen und Qualität bewerten
Thema durchsuchen
Ansicht
Themen-Optionen

Audio Files vergleichen und Qualität bewerten

Ein Thema von jensw_2000 · begonnen am 28. Aug 2013 · letzter Beitrag vom 3. Sep 2013
Antwort Antwort
nahpets
(Gast)

n/a Beiträge
 
#1

AW: Audio Files vergleichen und Qualität bewerten

  Alt 28. Aug 2013, 22:14
Hallo,

von dem Thema habe ich keine Ahnung, trotzdem gibt es ein paar unausgegorene Gedanken dazu, eventuell hilfts ja als Denkanstoß.

Es gibt da die BASS.dll, die hier im Forum immer wieder mal Erwähnung findet.

Die BASS.dll kann auch FFT-Daten liefern, die z. B. für die graphische Anzeige genutzt werden können. Ebenfalls kann ein Level geliefert werden, der die Lautstärke repräsentiert.

Da das ja alles nur numerische Werte sind, könnte ich mir folgendes vorstellen:

Das gewünschte Testsignal wiedergeben und mit der BASS.dll die Werte z. B. alle 20 Millisekunden in eine (Datenbank)-Tabelle speichern, als Referenz.

Wenn nun ein Testanruf aufgezeichnet wird, diesen ebenfalls wiedergeben und auch hier per BASS.dll die Werte in einer (Datenbank)-Tabelle speichern. Im Idealfall müssten ja identische Ergebnisse vorliegen.

Nun müsste man "nur noch" die Differenz dieser beiden Tabellen ermitteln, was mit purer Mathematik möglich sein sollte. (Datenbank hätte den Vorteil, es ginge mit SQL und es könnten beliebig viele Testanrufe gespeichert werden.)
Bin jetzt mal naiv und behaupte: Je größer die numerischen Abweichungen, umso schlechter das Ergebnis des Testanrufes.

Wenn man als Test nun halt nacheinander mehrere unterschiedlich hohe und unterschiedlich laute Töne sendet, müsste man eigentlich schon eine Basis für einen (für Deine Anforderung) ausreichenden Vergleich bekommen. Es soll ja kein Qualitätsvergleich von einer Sinfonie, einmal auf Schellack aufgenommen, einmal als CD und einmal als MP3... vorgenommen werden, sondern es sollen Signale verglichen werden, die Du selbst bestimmen kannst.

Schau Dir mal das zur BASS.dll gehörende Beispielprogramm livespec an, das Programm stellt die gerade (von welchem Programm auch immer) am PC wiedergebenen "Geräusche" grafisch dar. Es nutzt dazu die FFT-Daten. Hier sollte eigenlich durch ein Abspeichern der Daten des Originals und der Daten der Testanrufe ein Vergleich möglich sein.

Habe mal drei Bilder mit der Anzeige der FFT-Daten der BASS.dll mit meinem Player angehängt. Bei klar definierten Testsignalen müsste eine derartige Anzeige eigentlich an bestimmten Stellen immer die gleichen, typischen Signale anzeigen.

Geändert von nahpets (21. Nov 2017 um 16:41 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Audio Files vergleichen und Qualität bewerten

  Alt 28. Aug 2013, 22:51
Was, egal welchen Weg man nachher nimmt, unbedingt allen Beteiligten klar sein muss: Die Bewertung wird objektiv extrem schwierig sein. Gerade da die üblichen Kompressionsverfahren ziemlich adaptiv sind, und unterschiedlich gut auf die Menschliche Stimme zugeschnitten, wird man mit synthetischen Tests auch nur recht synthetische Aussagen treffen können, die zwar böse Patzer aufdecken dürften, jedoch sicherlich keine Nuancen, und kaum eine nachvollziehbare in Zahlen ausgedrückte Bewertung eines subjektiven Höreindrucks.
Die FFT erlaubt prinzipiell Analysen im Frequenzraum, aber gerade bei Stimmen sind auch diese noch ziemlich aufwendig. Da die Stimme eine irre Fülle an Frequenzen beinhaltet, ist es fast schon unmöglich für das gute Verständnis wichtige oder hilfreiche Anteile von bloßem Rauschen zu unterscheiden. Für den Höreindruck macht das Welten aus, in Zahlen wird man kaum signifikante Unterscheidungsmekrmale für manche Fälle finden. Ausser eben die offensichtlichen, die stehen aber wohl am Ende von "auf dieser Leitung wird es mit der Zeit schlechter".

Ich bin mal so frei zu behaupten, dass man nicht viel weiter als bis zur Erkennung von kompletten Aussetzern und extremen Abweichungen vom Original damit kommt. Bevor man da allzuviel Arbeit rein steckt, könnte es am Ende gar günstiger kommen, wenn sich wirklich mal einer einen Tag hinsetzt und die Testanrufe mit eigenen Ohren bewertet.

Warum komme ich zu so einer Aussage? Ich habe mich für meine Bachelorarbeit mit dem Thema Bildkompression beschäftigt, wofür ich Mechanismen gesucht habe, diverse Algos in ihren Ergebnissen miteinander bzgl. des wahrgenommenen Bildeindrucks zu vergleichen. Eine einfache mittlere quadratische Abweichung z.B. hatte sowohl im Bild- als auch im Frequenzraum fast die gleiche Signifikanz wie eine Zufallsbewertung. Bei meinen Recherchen bin ich u.a. auch auf eine Seite des JPEG-Kommitees gestoßen (leider finde ich sie nicht mehr, so oft gesucht ), bei dem sogar die zu dem Ergebnis gekommen sind: In gewissen sehr engen Grenzen, und für Spezialfälle an Bildinhalten lieferten manche Methoden tendenzielle Aussagen, jedoch war keine allgemeingültig für eine subjektiv signifikante Eindrucksbewertung tauglich.
Da Bild und Ton was die reine Signalverarbeitung (und auch die Kompressionsmethoden) angeht gar nicht soooo verschieden voneinander sind, glaube ich hier durchaus Rückschlüsse ziehen zu dürfen.


Was man z.B. denken könnte, was aber dank der Kompression genau 0 Aussagekraft hat ist: Man nehme ein Testsignal, dass einfach nacheinander eine Reihe von Sinuswellen verschiedener Frequenz abspielt. Jetzt könnte man die Aufnahme mit dem Original vergleichen, und so Dinge versuchen wie: "Aha, Frequenz X und Y sind tendenziell leiser als sie sollten." - Trugschluss. Das sog. Psycho-Akustische Modell der meisten modernen Kompressionsverfahren nutzt eben gerade eine Bandfiltermethode, mit der die "vermutlich weniger relevanten" Frequenzbänder aus einem Signal entfernt werden. Oft sogar alle paar Millisekunden auf das konkrete Signal genau zugeschnitten und neu gewichtet. In der Hoffnung, dass deren Fehlen für den Höreindruck kaum einen Unterschied macht. In Zahlen lassen sich zuweilen riesige Abweichungen ausmachen, aber wirklich deutlich hören würde die keiner. Und gerade die Voice-Codecs sind hier ausgeprochen trickreich unterwegs.
Um also ein zumindest näherungsweise relevantes Ergebnis zu bekommen, ist mathematisch echt schon was los. Zudem müsste man exakt wissen mit welchem Codec übertragen wurde, mit welchen Settings, und man müsste im Detail wissen wie er arbeitet. Und selbst dann müsste man sich noch auf den Fall Sprache beschränken. (Manch eine Stimme kommt ganz prima durch eine Kompression, die ein Pop-Lied völlig verhackstücken würde, und umgekehrt. Je nach dem.)

Ich würde den Auftraggeber zumindest mal über die potenzielle Tragweite seiner Anforderung informieren, und ich würde mir - der zumindest ein Basiswissen (wirklich nicht mehr) von Signalverarbeitung hat - nicht zutrauen hier eine (eigene) Lösung anzubieten, die ich guten Gewissens verkaufen kann.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)

Geändert von Medium (28. Aug 2013 um 22:56 Uhr)
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#3

AW: Audio Files vergleichen und Qualität bewerten

  Alt 28. Aug 2013, 22:52
Das sieht alles sehr vielversprechend aus und wird mich die nächsten Stunden und Tage fesseln ...

Parallel habe ich aber trotzdem den Audio-Spezi aus der Entwickler-Ecke angeschrieben.
Mal schauen ob er antwortet und was er kostet.

Zur Bass.dll habe ich noch eine Frage, bevor ich viel Zeit in die Forschung stecke.

Ich übertreibe mal ein bisschen ...
Das Referenzfile ändert sich nicht, aber die Gegenseite kann ich kaum beeinflussen.
Wenn der Anrufbeantworter auf der anderen Seite erstmal die Kassette zurückspult, ein paar mal klackt bis der Tonkopf in der richtigen Position ist und danach erst das Prüf-File abspielt, wird ein rein numerischer Vergleich ab Stream-Beginn nichts bringen.

Kann man die Audiofiles mit der Bass.dll öffnen und dann bis zum einem definierten Erkennungssignal "vorspulen", um den Vergleichs-Startpunkt zu synchronisieren?
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#4

AW: Audio Files vergleichen und Qualität bewerten

  Alt 28. Aug 2013, 23:05
PS:
@Medium >> Das hört sich nicht gut an. Gute Argumente.
Hälst Du den Vergleich auch bei einer sehr einfachen Rechteck-Frequenz für nahezu unmöglich?
Wir können vor der eigentlichen Arbeit schon ein paar Testdateien über die VoIP Leitung schicken und schauen, welche Frequenzen durch die Codecs gefiltert werden und somit nicht im fertigen Referenzfile enthalten sein dürfen.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: Audio Files vergleichen und Qualität bewerten

  Alt 28. Aug 2013, 23:15
Das ist die Krux: So eine Aussage wird unmöglich sein. Ein paar Bänder werden sicherlich pauschal "abgeschoren", im interessanten Bereich hängt es aber vollständig vom gesamten Rest des Signals (und der Bitrate!) ab, was da wann wo und wie stark ausgelassen wird. 200Hz könnten z.B. isoliert fast 1:1 durchgehen, aber 200Hz in einer Sprachnachricht könnten ggf. komplett entfallen. Das wird i.A. dynamisch entschieden, und kann nicht vorab so einfach ermittelt werden.
Am Rande: Rechtecke sind der Teufel der Signalanalyse. Besonders in einer FFT bereiten einem diese Biester das Maximum an Obertönen, sowohl in Frequenzbreite als auch Amplitude. Sie sind in gewisser Weise fast als das Gegenteil von schönen Sinuswellen anzusehen. (Die einem aus o.g. Gründen aber trotzdem nicht so wirklich weiter helfen.)
Für die sinnvolle Bewertung von Sprache käme man um eine psycho-akustische Analyse nicht wirklich herum fürchte ich, und selbst dabei dürfte es hart werden wirklich aussagekräftige Maßzahlen herauszumodelieren. So einfach wie in der analogen Welt ist es leider nicht
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#6

AW: Audio Files vergleichen und Qualität bewerten

  Alt 28. Aug 2013, 23:46
OK überzeugt.

Ich bewege mich hier in einem Fachbereich, in dem ich völlig ahnungslos im Dunklen tappe. Das ist keine Basis für ein Kundenprojekt. Mit der Bass.dll werde ich rein interessehalber etwas herumspielen.
Für meinen Kunden finde ich entweder eine stabile und professionelle Lösung von jemandem der voll im Thema steckt, oder ich lehne diesen Teilauftrag ab. Besser als eine angekratzte Reputation.

Ich bin mal gespannt was der "Mann aus der Entwickler-Ecke" so antwortet.
Vergleiche von Audiosignalen scheint sein Lieblingsthema zu sein.
Er hat dort ein Projekt vorgestellt, mit dem er an Hand von "Audio Schnipseln" Musikdateien in Medienbibliotheken findet (ohne Tagging). Dabei passt er für die Vergleiche dynamisch Bitraten usw. an und MP3 Files mit unterschiedlichen Formaten scheinen für ihn auch keine Hürde bei der Suche zu sein.

Geändert von jensw_2000 (29. Aug 2013 um 00:00 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

AW: Audio Files vergleichen und Qualität bewerten

  Alt 29. Aug 2013, 00:19
Oje, das klingt ja viel komplizierter, als ich mir das vorgestellt habe.

Nichts desto trotz...

Das Referenzfile könnte ja über eine bekannte, intakte Verbindung aufgenommen werden, dann enthält es alles, was "unterwegs" verschlimmbessert und/oder rausgefiltert wurde.

Mit der BASS.dll müsste man auch positionieren können. Die Frage ist nur, wonach soll man dann suchen? Es wird ja eine konkretes Signal "irgendwo" in der Datei gesucht.

Wie funktioniert denn der Testanruf konkret?

Es wird wer angerufen, der geht früher oder später ran und dann kommt irgendwann das zu prüfende Signal.

Das erste Problem wäre also den richtigen "Startzeitpunkt" für die Vergleichsanalyse zu finden.

Könnte man hier hergehen, dass das Testsignal z. B. mit 1 Sekunde 440 Hz anfängt und die Prüfsoftware überließt alles bis zum Ende dieses Tones?
Wobei, wenn das Band zu schnell oder zu langsam läuft, kommen da ja auch keine 440 Hz mehr, bei doppelter Bandgeschwindigkeit 880 Hz, bei Halber nur noch 220 Hz und ansonsten irgendwas so um die 440 Hz herum. Das Problem zieht sich dann natürlich durch die ganze "Aufnahme". Gibt es denn keine Anrufbeantworter für diesen Test, die das "Zeug" digital speichern. Band ist doch langsam Schnee von gestern Mein Anrufbeantworter hat jedenfalls kein Band mehr

Deinen Schluss, da einen Profi ranzulassen oder die Finger davon, finde ich absolut in Ordnung. Bei dieser Aufgabenstellung käme ich auch nicht über das Spielniveau hinaus. Für einen professionell auszuführenden Auftrag reicht es da sicherlich bei mir nicht aus.

Eine Beschäftigung mit der BASS.dll lohnt aber trotzdem, man kann damit nette Spielereien machen, sein eigenes Internetradio, 'nen MP3...-Player...
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#8

AW: Audio Files vergleichen und Qualität bewerten

  Alt 29. Aug 2013, 00:33
Mit dem "Band" und dem "Anrufbeantworter" auf der Gegenstelle wollte ich -stark übertrieben- ausdrücken, dass ich keinen Einfluss auf den Abspiel-Beginn usw. habe. Die haben da natürlich schon ein "bisschen" Technik rumstehen.. Ich kenne aber noch Anrufbeantworter mit Kassetten und Telefone mit Wählscheiben. Damit kann die Jugend von heute nicht mehr umgehen.

Aber grundsätzlich funktioniert es so, dass mein Dialer über seine ISDN Karte rauswählt und amtsseitig über VoIP zu einem -ich sag mal Anrufbeantworter- in der Vermittlungsstelle geroutet wird.
Der AB nimmt das Gespräch an, mein Dialer erkennt das Connect im ISDN D-Kanal und startet die Aufnahme des Mitschnittes. Nach dem Disconnect werden Referenzfile und Mitschnitt miteinander verglichen.

Hört sich leicht an. Zum Glück habe ich denen gesagt, dass ich mir zu dem Thema erstmal etwas Input holen will, bevor ich was amtliches sage ..

Geändert von jensw_2000 (29. Aug 2013 um 00:53 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#9

AW: Audio Files vergleichen und Qualität bewerten

  Alt 29. Aug 2013, 01:30
Musiksuche in kurz: Die Titeldatenbank wird ganz grob sowas beinhalten, was NamenLozer vorhin geposted hat. Jedoch so weit nachbearbeitet, dass nur wesentliche Frequenzen als Marker dienen. Das gleiche wird mit den Schnipseln gemacht, und diese dann mit der Datenbank mittels einer Autokorrelationsfunktion abgeglichen. Der beste Treffer wird ausgegeben.

Der wichtige Unterschied hierbei ist, dass eine Melodie in einem Frequenzspektrum sehr deutlich hervor sticht, egal mit welchem Instrument sie gespielt ist, und egal in welcher Qualität. Die Marker sind da recht deutlich (je nach Genre), und die Autokorrelation erledigt das Finden einer passenden Untermenge in einem Titel. Du könntest mit dieser Methode also gut herausfinden, ob zwei Sprecher in der selben Melodie sprechen, oder gar die selbe Person sind (Stichwort: Formanten), aber wenn es um eine qualitative Bewertung geht, wirft die Methode praktisch nichts ab. (Ausser, dass man erkennen könnte, dass die Gegenstelle stets zu schnell/langsam abspielt, was aber durchaus in hervorragend gut verständlicher Weise sein könnte.)
Die Zielsetzungen sind hier völlig unterschiedlich. Was nicht heissen soll, dass derjenige nicht dennoch ein paar gute Ideen parat haben kann!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz