Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Qualität einer Wav Datei ändern (https://www.delphipraxis.net/138780-qualitaet-einer-wav-datei-aendern.html)

Larsi 17. Aug 2009 15:37


Qualität einer Wav Datei ändern
 
Hi,

wenn ich mit StreamZ eine Wav Datei als Aufnahme erstelle, ist diese nach 2 Minuten schon 80 Megabyte groß :shock:

In der BassDllPlayer Datei steht bei der Erstellung der Wav Datei folgendes im Quellcode:

Zitat:

WaveHdr.riff := 'RIFF';
WaveHdr.len := 36;
WaveHdr.cWavFmt := 'WAVEfmt ';
WaveHdr.dwHdrLen := 16;
WaveHdr.wFormat := 1;
WaveHdr.wNumChannels := 2;
WaveHdr.dwSampleRate := 44100;
WaveHdr.wBlockAlign := 4;
WaveHdr.dwBytesPerSec := 176400;
WaveHdr.wBitsPerSample := 16;
WaveHdr.cData := 'data';
WaveHdr.dwDataLen := 0;
Wie kann ich das abändern, damit die Wav Datei nicht total schlecht klingt aber nich so groß ist. Ich weiß nicht in welchem Verhältnis das alles stehen muss. Vielleicht kennt sich jemand damit aus?

MFG Lars Wiltfang

Meflin 17. Aug 2009 15:47

Re: Qualität einer Wav Datei ändern
 
Am besten in ein Format konvertieren, was Komprimierung unterstützt... MP3 (Lame Encoder).

Larsi 17. Aug 2009 15:49

Re: Qualität einer Wav Datei ändern
 
Dann müsste ich aber noch mehr Dateien zusätzlich zu meinem Programm wie ffmpeg oder lame mit zum Programm geben. Kann mir nicht einer sagen welcher Wert sinnvoll ist bei Wav Dateien?

Meflin 17. Aug 2009 15:55

Re: Qualität einer Wav Datei ändern
 
Du nimmst (höchstwahrscheinlich) Rohdaten auf. Rohdaten wirst du nie in eine wirklich akzeptable Größe bekommen, ohne eklatanteste Qualitätseinbusen.

Abgesehen davon bedeuten die 44,1 kHz die du verwendest CD-Qualität... ich bezweifle, dass die Streams in CD-Qualität gestreamt werden :P

Larsi 17. Aug 2009 15:57

Re: Qualität einer Wav Datei ändern
 
Ich weiß nicht was diese ganzen Werte bedeuten, deshalb frage ich weil ich jetzt nicht stundelang rum probieren möchte. Sag doch mal bitte wie man die Datei wenigstens ein bisschen verkleinern kann, die Qualität darf auch schlechter werden. (Ein bisschen^^)

MFG Lars Wiltfang

mkinzler 17. Aug 2009 16:03

Re: Qualität einer Wav Datei ändern
 
Am Besten ein lossless Codec wie z.B flac

DP-Maintenance 17. Aug 2009 16:04

DP-Maintenance
 
Dieses Thema wurde von "mkinzler" von "Programmieren allgemein" nach "Multimedia" verschoben.
Komsich, sonst landet immer alles unter Multimedia, aber wenn es mal passen würde nicht

Die Muhkuh 17. Aug 2009 16:56

Re: Qualität einer Wav Datei ändern
 
Pack halt die Lame.dll oder die lame.exe, mit der kannst Du kleiner machen.

himitsu 17. Aug 2009 17:15

Re: Qualität einer Wav Datei ändern
 
Delphi-Quellcode:
WaveHdr.riff := 'RIFF';
WaveHdr.len := 36;
WaveHdr.cWavFmt := 'WAVEfmt ';
WaveHdr.dwHdrLen := 16;
WaveHdr.wFormat := 1;
WaveHdr.wNumChannels := 2;
WaveHdr.dwSampleRate := 44100;
WaveHdr.wBlockAlign := 4;
WaveHdr.dwBytesPerSec := WaveHdr.dwSampleRate * WaveHdr.wNumChannels * WaveHdr.wBitsPerSample div 8;
WaveHdr.wBitsPerSample := 16;
WaveHdr.cData := 'data';
WaveHdr.dwDataLen := 0;
wNumChannels = Kanäle ... 1=Mono und 2=Stereo
dwSampleRate = Abtastrate = Meßpunkte/-Werte pro Sekunde
wBitsPerSample = Auflösung pro Abtastung = 16=16 Bit pro Messung

dwBytesPerSec * Zeit_in_Sekunden + SizeOf(Header) = Dateigröße

gebräuchliche Werte wären
Code:
dwSampleRate, wBitsPerSample, wNumChannels, dwBytesPerSec

*8,000 kHz, 8-Bit, Mono,    7 Kbit/s
*8,000 kHz, 8-Bit, Stereo, 15 Kbit/s
*8,000 kHz, 16-Bit, Mono,   15 Kbit/s
*8,000 kHz, 16-Bit, Stereo, 31 Kbit/s
11,025 kHz, 8-Bit, Mono,   10 Kbit/s [b]= Sprach Qualität (Telefon)[/b]
11,025 kHz, 8-Bit, Stereo, 21 Kbit/s
11,025 kHz, 16-Bit, Mono,   21 Kbit/s
11,025 kHz, 16-Bit, Stereo, 43 Kbit/s
22,050 kHz, 8-Bit, Mono,   21 Kbit/s
22,050 kHz, 8-Bit, Stereo, 43 Kbit/s
22,050 kHz, 16-Bit, Mono,   43 Kbit/s
22,050 kHz, 16-Bit, Stereo, 86 Kbit/s [b]= Radio Qualität[/b]
44,100 kHz, 8-Bit, Mono,   43 Kbit/s
44,100 kHz, 8-Bit, Stereo, 86 Kbit/s
44,100 kHz, 16-Bit, Mono,   86 Kbit/s
44,100 kHz, 16-Bit, Stereo, 172 Kbit/s [b]= CD Qualität[/b]
48,000 kHz, 8-Bit, Mono,   46 Kbit/s
48,000 kHz, 8-Bit, Stereo, 93 Kbit/s
48,000 kHz, 16-Bit, Mono,   93 Kbit/s
48,000 kHz, 16-Bit, Stereo, 187 Kbit/s
(Radio und Telefon mit der Klangqualität der Technik von vor 10-20 Jahren gleichgesetzt)

ich möchte aber mal wissen, wie du auf 80 MB kommst, denn rechnerisch komme ich nur auf knapp 20 MB? :gruebel:
172 KB/sec {176400} * 120 Sekunden {2 Minuten} = 20,2 MB


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 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