AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wav Dateien

Offene Frage von "Christoph Musik"
Ein Thema von Christoph Musik · begonnen am 2. Mär 2008 · letzter Beitrag vom 6. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
Christoph Musik

Registriert seit: 25. Jan 2008
Ort: Sindelfingen
5 Beiträge
 
#1

Wav Dateien

  Alt 2. Mär 2008, 21:17
Ich habe ein grunsetzliches Problem. In einer Wav Datei werden die analogen Töne Digital gespeichert. Ein Anloger Ton besteht aus der Tonhöhe (Frequenz) und der Lautstärke (db).
Denn ganzen Forumsbeiträgen endnehme ich, dass eine Furiertransformation für Datenumwandlung -> WAV analog erforderlich sein soll ? Warum ?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Wav Dateien

  Alt 2. Mär 2008, 22:18
Wie kommst du auf diese Idee? Wenn du eine Wave-Datei abspielen willst, muss nur der Datenstrom in der richtigen Geschwindigkeit an die Lautspeicher gegeben werden. Die einzelnen Spannungswerte stehen in der Datei, daraus ergibt sich automatisch die Tonhöhe.

Ich verstehe nicht so ganz wo dein Problem dabei ist. Eine Fourier-Transformation ist dafür nicht nötig.

Gruss
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Wav Dateien

  Alt 2. Mär 2008, 23:11
Ein analoger Ton besteht garantiert nicht aus einer Frequenzangabe, sondern aus einem undiskreten Wert, der die Oszillation der Membran angibt. Ein digitaler Ton ist im Prinzip das gleiche, nur dass du da diskrete Werte hast, also immer einzelne Abtastwerte in einem bestimmten Abstand. (der Samplingrate)

Eine Fourier-Transformation brauchst du nur, wenn du die durchschnittlichen Frequenzanteile einer gewissen Anzahl von Abtastwerten ermitteln willst.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Christoph Musik

Registriert seit: 25. Jan 2008
Ort: Sindelfingen
5 Beiträge
 
#4

Re: Wav Dateien

  Alt 3. Mär 2008, 20:07
Zu erstmal besten Dank für die Antworten.

Problemumriss:

Kann mir jemand helfen, was und wie wird in einer .Wav Datei gespeichert.

Ich möchte den Inhalt einer .WAV Datei nach der Häufigkeit einzelner Frequenz und der jeweiligen Lautstärke (dB) auswerten.
Alle mir bekannten Frequenzanlyser (auch Nero Waveedit, Audcaity, Studio Programme aus dem LINUX Bereich auf Jack basierend ) zeigen nicht die Frequenz der Wav Datei, sondern die vom Soundchip generierte Frequenzverlauf an. So werden Oberfrequenzen über 20 000 kHZ angezeigt, die das Mikrofon überhaupt nicht aufnehmen konnte, das gilt auch für den Tieftonbereich von unterhalb 150 Hz (wahrscheinlich wird Netzbrummen selbst von meiner hochwertigen Soundkarte mit angezeigt).
Die Bass DLL ist zwar interesant, hört aber bei einer Samplerate von 44,1 kHz und 16 Bit auf. Ich sample mit 48 bzw. 96 kHz (wegen dem cutten von Audiomaterial) und einer Bittiefe von 24 Bit. Zudem stört mich der Begriff der durchschnittlichen Amplitude, was auf eine Näherungsberechnung der Lautstärke (dB) schlissen läßt.
M.f.G.
Christoph
http://www.delphipraxis.net/posting.php?mode=iframe
Rolling Eyes
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Wav Dateien

  Alt 3. Mär 2008, 20:37
Das wird wohl auch nicht anders gehen, da die Frequenz nicht in der Datei steht.

Zum Format schau doch mal hier.

Gruss
Thorsten
  Mit Zitat antworten Zitat
Christoph Musik

Registriert seit: 25. Jan 2008
Ort: Sindelfingen
5 Beiträge
 
#6

Re: Wav Dateien

  Alt 3. Mär 2008, 21:52
Danke für die Antwort,
Ich kannte die Seite, weis aber leider noch immer nich, aus was sich der eigentliche Datensatz(ohne Haeder) zusammensetzt.Mir ist schon klar, dass die einzlnen SampleBits aus der Frequenz und der Lautstärke bestehen müssen. Nur sind die 8Bits Lautstärke die anderen 8 bzw. 16 Bits die Frequenz ?
M.f.G
Christoph
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Wav Dateien

  Alt 3. Mär 2008, 22:20
Nein, es gibt nur Spannungswerte in der Datei. Das reicht zum Abspielen.
Jetzt kommen wir wieder zu deiner Ausgangsfrage.
Das was du da vorhast geht nur über eine Fourier-Transformation.

Im Anhang habe ich mal eine Analyse angehängt.
Diese funktioniert aber nur mit kurzen Aufnahmen!
Angehängte Dateien
Dateityp: zip waveanalyse_527.zip (9,3 KB, 26x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Wav Dateien

  Alt 4. Mär 2008, 16:25
Noch einmal:

Es steht keine Frequenz in einer Sounddatei.

Eine Sounddatei besteht aus Abtastwerten. Aus der Oszillation der Membran in deinem Lautsprecher oder deinem Mikrofon. Man kann die enthaltenen Frequenzen mit mathematischen Verfahren ermitteln, aber auch nur bis zu einer gewissen Genauigkeit, in der Sounddatei stehen sie nicht drin.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Medium

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

Re: Wav Dateien

  Alt 4. Mär 2008, 17:18
Und noch eine Ergänzung:

Toninformationen (bzw. so gesehen alle Informationen, kommt auf die Interpretation an) lassen sich auf min. 2 verschiedene Arten darstellen. Das eine sind Abtastwerte auf einer Zeitachse abgetragen, das andere Amplituden und Phasen abgetragen auf einer Frequenzachse. Die beiden darstellungen lassen sich mittels Fouriertransformation ineinaner überführen, was aber auf diskreten/digitalen Systemen immer mit Verlusten einher geht. Zum einen wegen der systembedingten Ungenauigkeit in der Zahlendarstellung, zum anderen auf Grund der Natur diskreter Werte.

RIFF-WAVE Dateien nutzen die erst genannte Darstellungsform zum speichern, da diese 1:1 so in einen D/A-Wandler geschoben werden kann, und somit der Ton ohne wesentlichen Rechenaufwand aus den Boxen kommt.
Um also an die Darstellung im Frequenzraum zu kommen, kommst du schlicht nicht drum rum eine diskrete Fouriertransformation durchzuführen, und die von dir genannten Programme tun dies bereits auf sehr hohem Niveau. Doch trotz möglichst günstigem Windowing, einer Samplerate von 96kHz und 24 Bit Auflösung, sind die Daten immernoch diskret, und du wirst immer mit dem sog. Aliasing zu kämpfen haben (Bildung von Obertönen durch a) gewählten Bereich (Window) und b) diskrete Werte), sowie einer zwar kleinen, aber vorhandenen Ungenauigkeit.

Edit: Es sind 24 Bit, 24 nicht 25
"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
Christoph Musik

Registriert seit: 25. Jan 2008
Ort: Sindelfingen
5 Beiträge
 
#10

Re: Wav Dateien

  Alt 5. Mär 2008, 22:00
Ich möchte euch zu nächst für eure Mühe danken.
Ich entneheme dem ganzen, dass es nicht möglich ist, eine ganz bestimmte (Brumm)frequenzspektrum aus einer .WAV Datei raus zu filtern.
Mein Delphi 4 (SP2) kennt die Variant Unit nicht, wo krieg ich die her ?
M.f.G
Christoph
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:44 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