/ / zmień częstotliwość próbkowania dźwięku wav, aiff lub mov w formacie MOV lub WAV BEZ zmiany liczby próbek - ffmpeg, wav, quicktime, sox, aiff

zmienić częstotliwość próbkowania WAV, AIFF lub mov audio MOV lub WAV BEZ zmiany liczby próbek - ffmpeg, wav, quicktime, sox, aiff

Potrzebuję bardzo precyzyjnego sposobu na przyspieszenie dźwięku.Przygotowuję filmy dla OpenDCP, narzędzia open source do tworzenia pakietów kina cyfrowego, do wyświetlania w kinach. Moje pliki źródłowe to zwykle pliki MOV w trybie quicktime przy 23,976 kl./s z dźwiękiem 48 000 kHz. Czasami mój dźwięk to oddzielny WAV 48.000 kHz. (FWIW, szybkość klatek wideo źródła wynosi w rzeczywistości 24 / 100,1 klatek na sekundę, co jest powtarzającym się dziesiętnym).

Standard DCP opiera się na 24.000fps i 48.000kHz, więc dźwięk i obraz źródła muszą zostać przyspieszone. Przepływ pracy przetwarzania obrazu nieodłącznie wiąże się z konwersją pliku MOV do sekwencji TIF, klatka na klatkę, która następnie zakłada 24 000 klatek na sekundę, więc nie muszę angażować się w wewnętrzne funkcje programu QT Video Media Handler.

Ale przyspieszenie dźwięku w celu dopasowania okazuje siębyć trudne. Większość programów audio nie może uzyskać takiej liczby próbek audio, aby dopasować je do ponownie ustawionych ramek obrazu. Wzrost prędkości Audacity o 0,1% skutkuje nieprawidłową liczbą próbek. Jedyną ścieżką, którą znalazłem, która działa, jest użycie Apple Cinema Tools w celu dostosowania 23,976fps / 48,000kHz MOV do 24,000fps / 48,048kHz (co robi poprzez zmianę nagłówków Quicktime), a następnie użycie Quicktime Player do wyeksportowania dźwięku z ten plik z częstotliwością 48 000 kHz, ponowne próbkowanie. To jest dokładne oprawki.

Więc moje pytanie brzmi:czy w ffmpeg lub sox są ustawienia, które precyzyjnie przyspieszają dźwięk w formacie MOV, WAV lub AIFF? Chciałbym rozwiązanie wieloplatformowe, więc nie jestem uzależniony od Cinema Tools, czyli tylko MacOS.

Wiem, że to DUŻO tła. Zapraszam do zadawania pytań wyjaśniających!

Odpowiedzi:

0 dla odpowiedzi № 1
sox input-file output-file speed 1.001001001001001

gdzie pliki mogą mieć format WAV lub AIFF.Sox wewnętrznie oblicza, że ​​liczba dziesiętna to w rzeczywistości 1000/999, więc regulacja taktowania jest w 100% dokładna (a ponowne próbkowanie jest wysokiej jakości). Oczywiście w drugą stronę

sox input-file output-file speed 0.999

FFmpeg może również robić to dokładnie w czasie, ale jego resampler miał pewne problemy z jakością. Wersja 1.1 może używać resamplera sox (patrz tutaj: http://ffmpeg.org/trac/ffmpeg/wiki/FFmpeg%20and%20the%20SoX%20Resampler), ale prawdopodobnie najłatwiej jest po prostu użyć sox.