![]() |
zwei Sounds vergleichen
Hallo,
wie kann man zwei sounds vergleichen, die ähnlich sind, also nicht exakt (für alle, die am freitag geniale erfinder geguckt haben:ich meine das mit der "intelligentesten Tür der Welt") |
Re: zwei Sounds vergleichen
Vielleicht lädts du die in zwei Streams und vergleichst die miteinader.
Ich hab noch irgendwo Source. Ich schau mal und Poste dann. |
Re: zwei Sounds vergleichen
Hier:
Delphi-Quellcode:
function CompareFiles(const sFileName1, sFileName2: String): Boolean;
var ms1, ms2: TMemoryStream; begin Result := False; ms1 := TMemoryStream.Create; try ms1.LoadFromFile(sFileName1); ms2 := TMemoryStream.Create; try ms2.LoadFromFile(sFileName2); If ms1.size = ms2.size Then Result := CompareMem(ms1.Memory, ms2.memory, ms1.size); finally FreeAndNil(ms2); end; finally FreeAndNil(ms1); end end; |
Re: zwei Sounds vergleichen
Zitat:
|
Re: zwei Sounds vergleichen
:oops: Wer lesen kann ist klar im Vorteil :oops:
Böse Spinne <- *pfui* |
Re: zwei Sounds vergleichen
Hi,
wobei man gucken kann, wie groß die Differenz ist. ;) Ich weiß nicht, wie deine Sounddateien aufgebaut sind, aber wenn in jedem Byte ein Wert steht, kannst du dir ja einen Gültigkeitsrahmen bauen. Und dann guckst, du wie groß die Differenz ist und ob sie noch in dem Rahmen sind. Chris |
Re: zwei Sounds vergleichen
Das Theme ist ein sehr komplexes Thema und beinhaltet ein gehörige Portion an Verständnis bezüglich Mathematik und Physik.
Als Schlagworte die dir bei einer Einarbeitung helfen könnten wären z.B. FFT (Fast Fourier Transformation), Hüllkurve, Frequenzspekturm und ähnliches. Ich denke für eine halbwegs leistungsfähige Lösung mußt Du vermutlich entweder einiges an Geld locker machen (für entsprechende FFT,...-Komponenten) oder sehr viel Wissen in diesem Bereich um alles selbst zu realisieren. |
Re: zwei Sounds vergleichen
Hi Bernhard,
sofern es eine richtige Spracherkennungssoftware geht, hast du Recht, allerdings sollte was ganz einfaches so möglich sein, wie Spider es gepostet hat. Nur müsste man das Datenformat kennen und somit die Werte vergleichen zu können. Chris |
Re: zwei Sounds vergleichen
Man könnte beide Dateien binaär laden und kucken wie viele Bytes identisch sind.
|
Re: zwei Sounds vergleichen
Ganz gemein wird das mit Sounds die in irgend einer Art komprimiert sind, und/oder nicht die selben Randbedingungen (Samplingrate, Mono/Stereo, Bittiefe) haben. Ein Byteweiser Vergleich ist dann nahezu nicht mehr möglich! Ein und der selbe Sound, ein mal als original Wave und ein mal als mp3 hören sich zwar verdammt ähnlich an, aber die Wellenform dürfte zuweilen erheblich anders aussehen.
Man arbeitet also mit einer tierischen Toleranz, oder man nimmt sich eine Transformation (FFT, Karhunen-Loewe, etc.) zur Hand und vergleicht quatisierte Spektren. Das wäre eher der Weg der zum Erfolg führen würde. (Eine Hüllenkurve würde auch weiter helfen, ist aber nicht unbedingt erforderlich hierbei.) Fazit: Einfach nach dem Schema "if a=b then..." wird das nix. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz