Bezztrátový převod WAV -> MP3 - shrnutí
Miroslav BENES
miroslav.benes na zdas.cz
Středa Prosinec 14 12:26:38 CET 2005
$ nefunguje mp3asm?
Neznám a ani se mi ho pro Fedoru nepovedlo najít (odkaz z rpmfind.net
vede do prázdna)
# O takove utilitce nevim, ale nebylo by jednodussi, nez hledat navod na
# konverzi, najit rovnou format hlavicek a odstrihnout a prilepit si je sam?
! Stačí uříznout prvních 44 bytů.
V zásadě máte oba pravdu. Akorát že délka hlavičky u souboru WAV je
dosti proměnlivá, takže zrovna v tomto konkrétním případě to dělá víc -
dokonce 70 bytů (!) :
"RIFF" (4 B smetí) "WAVEfmt" (35 B smetí) "fact" (8 B smetí) "data" (4 B
smetí)
Pak následují samotná MP3 data, která začínají na 0xff 0xfb 0x90 (což se
nejvíce podobá začátkům drtivé většiny ostatních MP3 souborů).
Stačí tedy udělat :
dd if=TRACK01.WAV of=track01.mp3 bs=70 skip=1
Akorát je potřeba zjistit tu správnou hodnotu :)
% Zkusil bych mplayer, pripadne mencoder.
% Na prvni cast (vyriznuti mp3 audia) by mohlo resit
% mplayer soubor.wav -dumpaudio
Bingo !
Výstupem jsou opět MP3 data, která jsou nachlup stejná jako v předchozím
případě (po ořezání 70B hlavičky).
Jde tedy o stejný postup - akorát s tím rozdílem, že si mplayer tu
správnou hodnotu analyzoval sám.
BTW docela mě vyděsilo, když se na obrazovce objevilo hlášení mplayeru -
než jsem pochopil, že autor měl smysl pro humor :
...
Playing TRACK01.WAV.
Audio file detected.
Core dumped ;)
Exiting... (End of file)
...
Ještě doplním, že se výstup automaticky ukládá do souboru stream.dump a
že se jiný soubor musí zadat parametrem -dumpfile.
Děkuji mnohokrát všem zúčastněným za pomoc.
Další informace o konferenci Linux