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
?