|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 06 Dec 2004 02:57:03 To : Alex Mogilnikov Subject : Re: чем резать mp3? -------------------------------------------------------------------------------- 05 дек 2004, воскресенье, в 21:37 KRAST, Alex Mogilnikov написал(а): AM> Подскажите, пожалуйста, каким софтом можно вырезать фрагменты из mp3 AM> audio? Я делаю так: скрипт unpackmp3 разжимает mp3 в raw - это wav без заголовка. Скрипт cutraw вырезает из raw нужный фрагмент простым вызовом dd. Скрипт packmp3 обратно сжимает фрагмент в mp3. Используется lame из портов. unpackmp3 это просто lame -S -t --decode "$1" "$2"; первый аргумент - файл mp3, второй - результат распаковки raw. У packmp3 три аргумента: качество mp3 в Kbps, имя raw-файла и в какой mp3-файл писать результат сжатия: #!/bin/sh dstchans=2 dstrate=44100 team 1m < "$2" | sox -s -c $dstchans -r $dstrate -w -t raw /dev/stdin \ -t wav /dev/stdout | \ lame -m m -q 2 -b "$1" -resample 22.05 - - | team 1m > "$3" Тут аргументы lame надо выбирать свои, в примере аргументы для сжатия с понижением качества. У cutraw тоже три аргумента: имя исходного raw-файла, время начала фрагмента в сотых долях секунды и время конца фрагмента в них же. К имени исходного файла прибавляется .tmp и результат пишется туда: #!/bin/sh srate=44100 bps=16 chans=2 from="$2" to="$3" first=`echo "$from*$chans*$srate*$bps/8/100" | bc` last=`echo "$to*$chans*$srate*$bps/8/100" | bc` len=$(($last-$first)) dd if="$1" skip=$first bs=$len count=1 of="$1.tmp" Hи на эффективность, ни на универсальноеть это не претендует. Hо из нескольких десятков композиций фрагменты надергал без проблем для сестриного телефона с mp3-плеером, заодно пережал с соответствующим качеством. Eugene -- Тестоголовые кислое свое брожение приняли за душу, распарывание чрев своих - за историю, средства, оттягивающие разложение - за цивилизацию... --- slrn/0.9.8.0 (FreeBSD) * Origin: Svyaz Service JSC (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093adef3e5e.html, оценка из 5, голосов 10
|