W ostatnich tygodniach przeszedłem z dość praktycznego podejścia do transkodowania plików .flac -> .mp3, na takie, które jest znacznie bardziej „ustawione i zapomnij”.
Pierwszym krokiem było zaprzestanie korzystania z interfejsu GUI (Audacity z wtyczką LAME), a zamiast tego użycie metody opisanej tutaj .
Drugim krokiem było znalezienie skryptu powłoki bash, który powiedziałby pętli poleceń, aby działała rekurencyjnie, umożliwiając transkodowanie katalogów z wieloma podkatalogami zawierającymi pliki .flac w jednym prostym kroku. Że odpowiedź została dostarczona przez użytkownika w askubuntu.com.
Teraz chcę dowiedzieć się, jak dalej udoskonalać, aby zachować informacje o znacznikach ID3. Metody powiązane z powyższymi danymi tagu ID3 paska, pozostawiając absolutne minimum (tzn. Pozostaje tylko pole tytułu).
Czy ktoś może mnie nauczyć, jak napisać taki skrypt powłoki?
Skrypt powłoki został zaktualizowany w następujący sposób:
#!/bin/bash
file="$1"
flac -cd "$file" | lame --preset fast extreme - "${file%.flac}.mp3"
id3cp "$file" "${file%.flac}.mp3"
Wykonanie find . -name '*.flac' -exec ~/bin/flac2mp3 '{}' \;
w ~ / Desktop / stos daje następujące dane wyjściowe:
01 - Amon Tobin - Chomp Samba.flac: done
LAME 3.98.4 64bits (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
Encoding <stdin> to ./01 - Amon Tobin - Chomp Samba.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0)
Parsing ./01 - Amon Tobin - Chomp Samba.flac: done. Copying to ./01 - Amon Tobin - Chomp Samba.mp3: done
id3info
dla oryginalnego .flac i wynikowego .mp3 daje odpowiednio:
*** Tag information for 01 - Amon Tobin - Chomp Samba.flac
(tj. nic);
*** Tag information for 01 - Amon Tobin - Chomp Samba.mp3
*** mp3 info
MPEG1/layer III
Bitrate: 128KBps
Frequency: 44KHz
Plik .flac zdecydowanie zawiera informacje o znacznikach. Mogę to sprawdzić, otwierając EasyTAG. EasyTAG nazywa to „FLAC Vorbis Tag”, ale „ID3 Tag” dla .mp3. Czy to jest problem?
ffmpeg
?Odpowiedzi:
źródło
Jak używać mp3fs do masowego kodowania flac do mp3
Zamiast używać programu do konwersji plików FLAC do formatu MP3, możesz użyć mp3fs do prezentacji ich jako wirtualnych plików MP3 oraz programu, który może umieszczać w kolejce zadania kopiowania. Działa dla mnie cudownie.
Pobierz i zainstaluj mp3fs i ultrakopiarkę:
Utwórz parę katalogów flac i mp3 dla każdego pliku mp3fs, który chcesz uruchomić. Mam dwurdzeniowy procesor, więc uruchamiam dwa. Jeśli przechowujesz katalogi flac na partycji, na której znajdują się twoje pliki flac, możesz je szybko przenieść. Ta partycja nazywa się „Storage” w moim systemie.
Możesz montować katalogi z wiersza poleceń lub dodając je
/etc/fstab
. Możesz także skonfigurować bitrate i algorytm kodowania wirtualnych plików mp3 w czasie montowania. Chcę plików mp3 o stałej przepływności 320 kb / s, a lame może potrzebować całego czasu, aby wyprodukować najlepsze mp3, jakie może.W wierszu polecenia:
Jeśli bezpiecznik narzeka
następnie odkomentuj
user_allow_other
opcję w/etc/fuse.conf
i / lub uczyń ją czytelnym za pomocąLub z
/etc/fstab
:Po dodaniu katalogów do
/etc/fstab
możesz je zamontować za pomocąGotowy! Uruchom ultrakopiarkę. Umieści ikonę wskaźnika w twoim panelu gnome lub czymkolwiek, czego używasz. Kliknij, wybierz dodaj kopię. Zrobiłem to dwa razy, aby użyć dwóch rdzeni. Użyj przeglądarki plików, aby przenieść niektóre pliki flac do flac_1. Przejdź do katalogu mp3_1 i przeciągnij pliki mp3 do jednego z ultrakopiujących okien, aby rozpocząć kolejkę kopiowania. Ultracopier zapyta o miejsce docelowe plików. Masz teraz jeden rdzeń zajęty kodowaniem partii plików flac do formatu mp3.
Aby użyć drugiego rdzenia, przenieś pliki flac do flac_2 i przeciągnij pliki mp3 z mp3_2 do drugiego okna ultrakopiarki.
Aktualizacja: Zamiast ultrakopiowania używam teraz MiniCopier, jest trochę łatwiejszy w użyciu. Zobacz komentarze poniżej.
źródło
id3cp
nie może działać, ponieważ FLAC nie używa ID3; zamiast tego używa tagów Vorbis.avconv
ma opcję utrzymania tagów poprzez konwersję. Jest to trochę zmienne, jego wartość zależy od kombinacji kodeków , ale działa w ten sposób w twoim przypadku (wersja 9.16-6):Zastosowanie wszystkich plików FLAC w folderze (rekurencyjnie) jest tak proste, jak to: (przy użyciu
bash
)Zauważ, że
avconv
używa lame automatycznie; istnieją inne opcje kontroli jakości i tak dalej. Sprawdźman avconv
szczegóły.źródło