AGB  ·  Datenschutz  ·  Impressum  







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

WAV File Info?

Ein Thema von PeterPanino · begonnen am 16. Sep 2022 · letzter Beitrag vom 17. Sep 2022
Antwort Antwort
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
902 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: WAV File Info?

  Alt 17. Sep 2022, 07:17
Die Länge liest er offenbar ein, auch wenn bei WAV Dateien, die unter einer Sekunde Dauer haben, diese auf 0 (!) abgerundet wird.

Und Die Samplerate hat mit der akustischen Schwingungs-Frequenz-Einheit HZ nichts zu tun. Aber die anderen Werte liest er offenbar korrekt ein.
Die Länge wird in dieser Unit (bzw. für alle Formate dort) in Sekunden ausgegeben. Wenn du genauere Angaben brauchst, musst du die Zeile
fDuration := dataSize DIV BytesPerSec ersetzen durch fDuration := Round(1000 * dataSize / BytesPerSec) . Dann hast du die Länge in Millisekunden. Wenn dich das Round dort auch noch stört, musst du den Typ ändern auf einen Float-Typen.

In welcher Einheit wird denn die Samplerate sonst gemessen, bzw. was ist das dann anderes als die Anzahl der Samples pro Sekunde (oder SamplesPerSec)? Da ist mein Code mit dem von SwissDelphiCenter ja auch identisch, nur lesen die einen Datenblock als Record ein, und ich mache das dort einzeln. Wobei ich diesen Teil damals vermutlich eh aus den alten ATLs (AudioToolsLibrary) übernommen habe. Die waren ganz gut, nur sollte man damit keine ID3Tags schreiben. Das Konzept nahm nämlich massiven Datenverlust in Kauf - aber das ist ja ein anderes Thema ...
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: WAV File Info?

  Alt 17. Sep 2022, 10:23
Zitat:
Ja auch Debuggen ist mit unter eine Kunst!
Danke für das Debuggen desCodes. Ich ziehe meinen Hut vor dem Debug-Künstler.

Danke an @Gausi für die AudioWerkzeugeBibliothek (v2.0) mit der ID3Tags-Fähigkeit. Respekt!
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (17. Sep 2022 um 10:27 Uhr)
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: WAV File Info?

  Alt 17. Sep 2022, 10:48
Ich stelle hier mal die Ergebnisse des freundlicherweise von @venice2 debuggten Codes und der AudioWerkzeugeBibliothek (v2.0) von @Gausi anhand dieser WAV-Datei gegenüber:

C:\Windows\Media\Windows Logon.wav

W32Waves:

WaveFormat: 1
Channels: 2
SampleRate: 22050
BitsPerSample: 16
SamplesNumber: 384452
Length: 17,4354648526077

AudioWerkzeugeBibliothek (v2.0):

Type: RIFF WAVE
FileSize 384496 Bytes
Duration 4 sec
Bitrate 705 kBit/s
Samplerate 22050 Hz
Channels: 2

bzw. mit der von @Gausi vorgeschlagenen Divisions-Änderung:

Type: RIFF WAVE
FileSize 384496 Bytes
Duration 4359 millisec
Bitrate 705 kBit/s
Samplerate 22050 Hz
Channels: 2
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (17. Sep 2022 um 11:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
902 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: WAV File Info?

  Alt 17. Sep 2022, 12:18
Da die Werte nicht übereinstimmen, und ich für eine der beiden Varianten verantwortlich bin, habe ich die Datei mal mit foobar2000 gestartet.
Der sagt mir eine Dauer von 4,359 Sekunden, bei 96113 Samples, 2 Channels und eine Bitrate von 706kbps. Die angezeigte Abspieldauer deckt sich auch mit der tatsächlichen Dauer beim Abspielen.

Das entspricht (bis auf eine andere Rundung bei der Bitrate) den Werten meiner Unit.

Die Dauer und die Anzahl der Samples bei der W32Waves-Variante weichen jeweils um den Faktor 4 ab. Woher das kommt, weiß ich nicht.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#5

AW: WAV File Info?

  Alt 17. Sep 2022, 12:21
Zitat:
Das entspricht (bis auf eine andere Rundung bei der Bitrate) den Werten meiner Unit.
Deine Unit ist IO!

Auch Audacity gibt mir die gleichen werte.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: WAV File Info?

  Alt 17. Sep 2022, 12:46
Auch ich vertraue der LIBRARY AudioWerkzeugeBibliothek (v2.0).
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: WAV File Info?

  Alt 17. Sep 2022, 13:34
PS: Endlich mal ein schöner deutscher Name für eine Delphi Bibliothek!
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.472 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: WAV File Info?

  Alt 17. Sep 2022, 16:05
EurekaLog meldet: Die AudioWerkzeugeBibliothek (v2.0) erzeugt Memory Leaks:

memleak.png

Hier ist der EurekaLog CallStack:

callstack.png
Geändert von PeterPanino, damit der Platz auf dem Bildschirm nicht so leer aussieht.

Geändert von PeterPanino (17. Sep 2022 um 16:52 Uhr)
  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 00:35 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-2025 by Thomas Breitkreuz