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