Portál AbcLinuxu, 8. května 2025 08:02

Dotaz: Hromadná konverze wav -> alaw

29.11.2019 08:23 David
Hromadná konverze wav -> alaw
Přečteno: 410×
Odpovědět | Admin
Zdravím. Poradíte mi, prosím, jak zkonvertovat hlášky do formátu alaw pro Asterisk? Koukám na návod https://www.voip-info.org/convert-wav-audio-files-for-use-in-asterisk/. Jednotlivě nemám problém, ale co když chci najednou konvertovat všechny v adresáři? To se mi nějak nedaří. Když zkusím for a in *.wav; do sox "$a" -r 8000 -c1 ${a/.wav/.gsm} resample -ql; done a .gsm změním na alaw, vyhazuje mi to chybu, že formát je neplatný. Předem díky za pomoc.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

29.11.2019 09:43 NN
Rozbalit Rozbalit vše Re: Hromadná konverze wav -> alaw
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co takto:
sox "$a" -r 8000 -c 1 -t al ${a/.wav/.alaw}
29.11.2019 12:30 jejda | skóre: 25 | blog: jejda
Rozbalit Rozbalit vše Re: Hromadná konverze wav -> alaw
Odpovědět | | Sbalit | Link | Blokovat | Admin
for a in *.wav; do ffmpeg -i "$a" -c pcm_alaw -ac 1 -ar 8000 -f alaw $(basename -s .wav "$a").alaw; done
Ale čím to potom přehrát? Všecky přehrávače co jsem zkoušel tak si na tom vylámaly zuby. Jsou to raw data bez hlavičky, takže by mohlo stačit něco jako "cat zvuk.alaw > /dev/zvukovka" ale tak jednoduchý to asi nebude.
29.11.2019 12:45 NN
Rozbalit Rozbalit vše Re: Hromadná konverze wav -> alaw
play -r 8k -t raw -e a-law -b 8 foo.alaw
Pripadne:
ffmpeg -ar 8k -f alaw -i foo.alaw out.ogg
Funguje?
29.11.2019 13:17 jejda | skóre: 25 | blog: jejda
Rozbalit Rozbalit vše Re: Hromadná konverze wav -> alaw
Jo funguje, dík. Ještě jsem zagůglil dá se použít taky
aplay -t raw -f a_law -r 8000 zvuk.alaw
nebo
ffplay -nodisp -f alaw -ar 8000 -i zvuk.alaw
Ale běžné přehrávače jako mpv nebo vlc to nedávají vůbec.
29.11.2019 13:35 debian+
Rozbalit Rozbalit vše Re: Hromadná konverze wav -> alaw
29.11.2019 14:43 jejda | skóre: 25 | blog: jejda
Rozbalit Rozbalit vše Re: Hromadná konverze wav -> alaw
hm tak mplayer to nakonec dal
mplayer -demuxer rawaudio -rawaudio rate=8000:channels=1:format=0x6 zvuk.alaw
bylo ale potřeba zjistit fourcc hex code pro format. alaw má 0x6 a ulaw má 0x7.
29.11.2019 15:48 David
Rozbalit Rozbalit vše Re: Hromadná konverze wav -> alaw
Díky, vyzkouším večer. Jsou to hlášky pro Asterisk, takže to přehraje Asterisk :)
29.11.2019 15:48 debian+
Rozbalit Rozbalit vše Re: Hromadná konverze wav -> alaw
… by mohlo stačit něco jako "cat zvuk.alaw > /dev/zvukovka" ale tak jednoduchý to asi nebude.
Moze byt, ale nemusi, vid napr.: https://wiki.multimedia.cx/index.php/IMA_ADPCM
29.11.2019 16:55 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Hromadná konverze wav -> alaw
Přímo poslat data do zařízení zvukovky přesměrováním jde v OSS (dev/dsp), na linuxu tedy před spoustou let. Alsa používá klasické fnctl, tedy API např. přes knihovnu libasound (alsalib)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.