Szukam sposobu na znormalizowanie dźwięku w WIELU plikach MP3, które mam. Niektóre mają niski dźwięk, podczas gdy inne są głośniejsze, więc muszę zwiększać lub zmniejszać głośność w zależności od piosenki. Jakie są sposoby, aby to zrobić dla wszystkich plików. Szczególnie chciałbym to zrobić za pośrednictwem terminala, ale sposoby GUI są również akceptowane.
39
Odpowiedzi:
Śmiałość
Dzięki Audacity możemy z łatwością przetwarzać pliki wsadowo, aby zastosować konwersje lub efekty do wielu plików na liście. Aby to zrobić, musimy najpierw zdefiniować „Łańcuch” zawierający efekty, które chcemy zastosować.
Odbywa się to za pomocą „Plik -> Edytuj łańcuchy ...” . W otwartym oknie naciśnij przycisk Dodaj w lewym dolnym rogu, aby wstawić nowy łańcuch (nadaj mu sensowną nazwę):
Następnie wybierz efekt i jego parametry do wstawienia do łańcucha (tutaj pokazano wartości domyślne i efekt Normalizuj).
Po zakończeniu pozostaw to okno z OK, aby otworzyć „Plik -> Zastosuj łańcuch ...” . Wybierz właśnie utworzony łańcuch i załaduj wszystkie potrzebne pliki za pomocą „Zastosuj do plików ...” . Można wybrać kilka plików z otwieranego selektora plików.
Przetworzone pliki zostaną zapisane w nowym podkatalogu „oczyszczone” w ścieżce oryginału.
SoX
Od wersji> 14.3 możemy użyć filtra sox
--norm
do normalizacji dźwięku w linii poleceń lub przetwarzania wsadowego:Obsługa plików MP3 została dodana do Sox za pomocą libsox-fmt-all:
źródło
for f in *.mp3; do sox --norm "$f" /tmp/sox.mp3; mv -v /tmp/sox.mp3 "$f"; done
Spójrz na @ mp3gain, który jest dla mnie nawet lepszy niż normalizacja-audio
inną przydatną wersją może być -c, która nie pozwala zapytać, czy chcesz wprowadzić zmiany dla wielu plików:
jak powiedziano na stronie podręcznika:
mp3gain nie tylko dokonuje szczytowej normalizacji, jak robi to wiele normalizatorów. Zamiast tego wykonuje analizę statystyczną, aby ustalić, jak głośno plik rzeczywiście brzmi dla ludzkiego ucha. Ponadto zmiany wprowadzone przez mp3gain są całkowicie bezstratne. Zmiana nie powoduje utraty jakości, ponieważ program dostosowuje plik mp3 bezpośrednio, bez dekodowania i ponownego kodowania.
Uwaga : Pakiet ten został specjalnie usunięty na Ubuntu 15.04.
Debian proponuje
python-rgain
pakiet jako zamiennik (zaletą jest to, że 'replaygain' obsługuje kilka formatów plików, a mianowicie Ogg Vorbis, Flac, WavPack i MP3. Pozwala także na przeglądanie istniejących informacji o zyskach powtórek w każdym z tych typów plików). Po zainstalowaniu uruchomreplaygain
.Aby zainstalować python-rgain z terminala, uruchom polecenie
Możesz też pobrać
.deb
plik 14.04 (najnowszy) stąd . Zainstaluj jak zwykle. Następnie musisz uruchomić,sudo apt-get -f install
aby rozwiązać niektóre problemy z zależnościami.źródło
mkdir mp3gain; cd mp3gain; wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/mp3gain/1.5.2-r2-6/mp3gain_1.5.2-r2.orig.tar.gz; tar -xvzf mp3gain_1.5.2-r2.orig.tar.gz; make; sudo make install
Chciałbym użyć tego projektu Normalizuj , jest to narzędzie wiersza polecenia do normalizacji plików audio. Wygląda dokładnie tak, jak potrzebujesz. Może wykonywać przetwarzanie wsadowe i nie wymaga ponownego próbkowania do formatów pośrednich.
Jest w repo pakiet jako normalizować-audio
sudo apt-get install normalize-audio
. Jest to kompilacja utrzymywana przez Debiana, więc powinna znajdować się we wszystkich wersjach LTS lub nowszych i jest kompatybilna z mp3 (testowana). Jest dobra strona podręcznikaman normalize-audio
do eksploracji opcji, ale domyślne polecenia wydają się działać dobrze. W przypadku przetwarzania wsadowego (znormalizuj wolumin w wielu plikach)normalize-audio -b *.mp3
lub określ poszczególne nazwy plików zamiast używać symboli wieloznacznych.źródło
libsox-fmt-mp3
,libavcodec-extra
.-b *.mp3
zrobić coś z tylko jednym (losowym?) plikiem.powtórka
Szybciej i łatwiej
replaygain
:Instalacja:
sudo apt install python-rgain
.-f, --force
Przelicz zysk powtórki, nawet jeśli plik zawiera już informacje o wzmocnieniu.Ponieważ tylko obliczanie / zmiana wartości powtórki jest również szybsze: przy średnim komputerze (Intel i7-6500U, 8 GB pamięci RAM) szybkość wynosiła ~ 20 plików / minutę.
Odniesienie
źródło
Z tego powodu wrzucę 2 centy. Szukałem dokładnie tego samego (tylko dla plików ogg) i zacząłem wątek na forum Crunchbang. Możesz to zobaczyć tutaj: Normalize-audio nie może znaleźć dekodera mp3
Zasadniczo moim rozwiązaniem był skrypt w poście # 8. Działa z plikami wejściowymi mp3, flac i ogg, prawdopodobnie innymi, ale na pewno nie wav.
Wystarczy utworzyć plik (nazwij go, jak chcesz, nazwałem mój db_adjust_mp3), chmod + x i włóż go do folderu ~ / bin. Uzupełnia również brakujące dane kodeka. Przykład:
Oryginalny plik:
16._This_Protector.mp3: Audio file with ID3 version 2.3.0, contains:
vs.
Plik znormalizowany:
16._This_Protector.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, JntStereo
Zmodyfikowałem skrypt, aby używał tutaj normalize-mp3, więc możesz go użyć, jeśli chcesz:
Ten skrypt oblicza różnicę między bieżącym poziomem db a -12db, a następnie stosuje korektę wzmocnienia, aby ustawić wzmocnienie dokładnie na -12db, co według mnie działa najlepiej dla mnie. Jest również rekurencyjny, co czyni go doskonałym do robienia całych kolekcji muzycznych lub plików w wielu podfolderach. Jeśli chcesz ustawić inny poziom db, po prostu zmień oba wystąpienia liczby „12” na dowolny poziom db, którego chcesz użyć. Jak napisałem w moim wątku Crunchbang, użycie jest następujące:
Kiedy jednak utrzymywałem bibliotekę muzyczną w formacie mp3, korzystałem także z mp3gain, tak jak sugerował Philippe. Martwa prostota tego jest świetna i bardzo mi się podobała. Problem z normalizacją dźwięku polega na tym, że dekoduje on ponownie kodowanie plików, więc występuje pewna degradacja dźwięku. Ale jeśli nie jesteś audiofilem, a twoje pliki mp3 są zakodowane z dużą szybkością transmisji, nie powinieneś zauważać dużej różnicy.
W mp3gain zauważyłem jednak to, że bez względu na to, jakie wypróbowałem opcje, nie mogłem uzyskać wszystkiego w mojej kolekcji na dokładnie tym samym poziomie db, czego chcę, aby nigdy nie musiałem dostosowywać głośności z jednej ścieżki do Następny. Ten skrypt robi dokładnie to. Przepraszam za bycie tak długo rozwartym Mam nadzieję że to pomoże.
źródło
Najbardziej podobała mi się odpowiedź Neila, ponieważ nie wprowadza korelacji między plikami audio: wystarczy wybrać jeden poziom wzmocnienia i wszystko do niego dostosować.
Miałem jednak pewne problemy z analizowaniem danych wyjściowych
normalize-ogg
z niektórymi plikami, które mam. Jest też jeden paskudny problem zbc
: nie robi prawdziwego zaokrąglania, tylko obciąża.W końcu zrezygnowałem ze skryptowania powłoki i przeniosłem się do Pythona.
Uwaga 1: część exiftool może być nadmierna, ale chciałem być w 100% pewien, że oryginalny bitrate zostanie zachowany.
Uwaga 2: spowoduje to nadpisanie oryginałów, jeśli chcesz je zachować, użyj opcji --backup w ostatnim wywołaniu normalize-ogg. Ale bardziej praktyczne było przechowywanie kopii w osobnym, bezpieczniejszym katalogu.
Uwaga 3: to rozwiązanie dotyczy plików ogg, ale dostosowanie go do formatu mp3 jest banalne, wystarczy zastąpić wystąpienia „ogg” słowem „mp3”.
Oto moje podejście do problemu. Najnowszą wersję można znaleźć tutaj: regain.py
źródło