Skrypt do konwersji mp3 [bash]

Nadszedł moment, w którym po raz pierwszy zgrywałem muzykę na mój odtwarzacz mp3 poprzez Linuxa. Jako że jest to stosunkowo mało pojemna „empetrójka” – 512 mb – zawsze wszystkim plikom mp3 przygotowanym do kopiowania, zmieniałem bitrate na 128kbps w celu zaoszczędzenia miejsca. Teoretycznie po takiej zmianie jest spadek jakości dźwięku, ale ja osobiście nie odróżniam 320kbps od 128kpbs ( http://mp3ornot.com/ ). Tak więc pogooglowałem i znalazłem pakiet lame, dzięki któremu taka konwersja jest możliwa, i właśnie na lame bazuje mój skrypt.

Całośc może wyglądać ( i ma prawo ^^ ) kulawo, ponieważ to mój pierwszy skrypt w bashu.

zewnętrzny link -> http://wklej.org/txt/3dd3d15532

#!/bin/bash
# Autor: Jarosław Zywert / www.inquistor.info/blog

if [ -x /usr/bin/lame ]
then
echo "Lame: OK"
else
echo "Nie masz zainstalowanego pakietu Lame
Zainstaluj pakiet za pomocą aptitude, apt-get lub innego managera pakietów"
exit
fi

bitrate="$2"
nazwa_pierwotna="$3"
nazwa_wyjsciowa="`basename $nazwa_pierwotna .mp3`[$bitrate kbps].mp3"

case $1 in
-h) echo "    POMOC:
Konwerter MP3
Opis: Skrypt do konwersji bitrate plików mp3

SKŁADNIA:
mp3bitrate [-OPCJA] [BITRATE] [PLIK]

-s -konwersja pojedynczego pliku, skonwertowany
plik ma nazwę nazwa_pliku[BITRATE].mp3
-a -konwersja calego aktualnie otwartego folderu,
wyjscie zapisywane jest w podrzednym folderze
[BITRATE]. Domyślny bitrate to 128kbps.
" ;;

-s) lame --mp3input -b "$2" "$nazwa_pierwotna" "$nazwa_wyjsciowa" ;;

-a) mkdir "$2kbps"
for i in *.mp3
do lame --mp3input -b "$2" "$i" "$2kbps/$i"
done | echo "Konwersja zakończona pomyślnie.";;


*) echo "Brak odpowiednich argumentów
Pomoc jest dostepna pod: mp3bitrate -h" ;;
esac

Chyba wszystko jest w miare jasno wytłumaczone w samym skrypcie ;-) Ale jakby ktoś miał jakieś wątpliwości….

#Konwersja jednego pliku
mp3bitrate -s 128 nazwa_pliku.mp3
#Konwersja calego folderu
mp3bitrate -a       //wartość 128kbps jest wartością domyślną

Mile widziane komentarze ;-)

One Response to “Skrypt do konwersji mp3 [bash]”

  1. Spoko :) lubimy skrypty :) ale chyba składnia Lame jest dość prosta :) w każdym razie skrypt wypróbowałem i zostawię sobie na dysku :]