Blog Metlivi

Jak zmienić jednocześnie szybkość odtwarzania i wysokość dźwięku, zachowując dokładny stosunek

Aby jednocześnie zmienić szybkość odtwarzania i wysokość dźwięku, zastosuj jeden mnożnik szybkości, r, bez zachowywania wysokości dźwięku. Każda częstotliwość zmienia się na r razy swoją pierwotną wartość, a czas trwania staje się równy pierwotnemu czasowi trwania podzielonemu przez r. Na przykład odtwarzanie z szybkością 1,25× podnosi ton 440 Hz do 550 Hz i skraca 60 sekund do 48 sekund.

Ten poradnik jest przeznaczony dla edytorów audio, którzy chcą uzyskać taką powiązaną zmianę w wyeksportowanym pliku dźwiękowym. Obliczysz stosunek, zastosujesz go za pomocą odpowiedniego narzędzia i sprawdzisz, czy wynik odpowiada zamierzonemu czasowi i strojeniu. Audacity opisuje to działanie w swoim podręczniku efektu Zmień szybkość i wysokość dźwięku.

29 października 20267 min czytaniaAutor: Metlivi Editorial Team
Sekcja 1

Co oznacza jednoczesna zmiana szybkości i wysokości dźwięku?

Przy powiązanej zmianie szybkości zdarzenia w nagraniu zachodzą szybciej lub wolniej, a jego częstotliwości rosną lub maleją proporcjonalnie. Efekt Audacity Zmień szybkość i wysokość dźwięku jawnie zmienia jednocześnie tempo, wysokość dźwięku i zawartość częstotliwościową. Osobny efekt Zmień wysokość dźwięku pozostawia czas trwania bez zmian. Wybierz operację odpowiadającą potrzebnemu rezultatowi. Źródła: Zmień szybkość i wysokość dźwięku, Zmień wysokość dźwięku.

Na potrzeby tego zadania zdefiniuj stosunek jako nowa szybkość odtwarzania ÷ pierwotna szybkość odtwarzania. Stosunek większy od 1 przyspiesza nagranie i podnosi jego wysokość dźwięku. Stosunek między 0 a 1 spowalnia je i obniża wysokość dźwięku. Przed wpisaniem wartości wyraźnie określ kierunek: „nowa szybkość wynosi 5/4 pierwotnej szybkości” jest jaśniejsze niż „zmień ją w stosunku 5:4”.

Sekcja 2

Jak obliczyć dokładny stosunek?

Zacznij od tego parametru, który rzeczywiście znasz. Poniższe równania opisują idealną, stałą i powiązaną zmianę szybkości; przykłady to obliczenia poglądowe, a nie wyniki pomiarów edycji.

Znany parametr Obliczenie mnożnika szybkości r Przykład poglądowy
Bezpośredni stosunek szybkości r = nowa szybkość ÷ pierwotna szybkość 5/4 = 1,25
Pierwotna i docelowa częstotliwość r = częstotliwość docelowa ÷ częstotliwość pierwotna 550 ÷ 440 = 1,25
Pierwotny i docelowy czas trwania r = pierwotny czas trwania ÷ docelowy czas trwania 60 ÷ 48 = 1,25
Pierwotne i docelowe tempo r = docelowe BPM ÷ pierwotne BPM 120 ÷ 96 = 1,25

Gdy znasz r, oblicz oczekiwany wynik: nowy czas trwania = pierwotny czas trwania ÷ r, a nowa częstotliwość = pierwotna częstotliwość × r. Zależność dotycząca czasu trwania wynika bezpośrednio z odtwarzania tej samej sekwencji zdarzeń dźwiękowych z nową szybkością.

Jeśli efekt wymaga podania zmiany procentowej, wpisz 100 × (r − 1). Zatem 1,25× oznacza +25%, a 0,8× oznacza −20%. Podręcznik Audacity stosuje tę samą zależność między mnożnikiem a wartością procentową. Źródło: Zmień szybkość i wysokość dźwięku.

Częstym błędem jest mylenie procentowej szybkości odtwarzania ze zmianą procentową. „125% pierwotnej szybkości” oznacza 1,25×. „Zwiększ szybkość o 125%” oznacza 2,25×. Innym błędem jest odwrócenie wzoru na czas trwania: dopasowanie 60 sekund do 48 sekund wymaga szybszego odtwarzania, więc mnożnik musi być większy od 1.

Sekcja 3

Jak przeliczyć interwały muzyczne na stosunki szybkości?

Dla interwału o wielkości n półtonów w stroju równomiernie temperowanym użyj r = 2^(n/12). Dodatnie n podwyższa wysokość dźwięku, a ujemne ją obniża. Aby znaleźć interwał wynikający z danego stosunku, użyj n = 12 × log₂(r). Zależności te wynikają z podziału oktawy, czyli stosunku częstotliwości 2:1, na dwanaście równych stosunków półtonowych. Źródło: UNSW, Nazwy nut, numery MIDI i częstotliwości.

Poniższa tabela stosuje te równania do poglądowego nagrania o długości 60 sekund. Wyświetlone wartości dziesiętne są zaokrąglone.

Mnożnik szybkości Zmiana procentowa Nowy czas trwania Interwał wysokości dźwięku
0,5× −50% 120 sekund −12 półtonów
0,8× −20% 75 sekund około −3,863 półtonu
1,25× +25% 48 sekund około +3,863 półtonu
1,5× +50% 40 sekund około +7,020 półtonu
2× +100% 30 sekund +12 półtonów
około 1,059463094× około +5,946309% około 56,632459 sekundy +1 półton

Zdecyduj, czy celem jest wartość liczbowa, czy interwał w stroju równomiernie temperowanym. Stosunek 3:2 wynosi dokładnie 1,5, natomiast siedem półtonów w stroju równomiernie temperowanym wymaga wartości 2^(7/12), czyli w przybliżeniu 1,498307077. Ustawienia te są zbliżone, ale dają różne wyniki. Zapisz ułamek lub wzór definiujący wartość w notatkach edycyjnych, aby zaokrąglony odczyt nie był jedynym zachowanym zapisem celu.

Sekcja 4

Jak zastosować stosunek w Audacity?

W wersjach zawierających opisany efekt zaznacz wybrany fragment audio i otwórz Efekt → Wysokość dźwięku i tempo → Zmień szybkość i wysokość dźwięku. Wpisz stosunek w polu Mnożnik szybkości lub jego odpowiedniku Zmiana procentowa. Okno dialogowe wiąże te ustawienia z długością zaznaczenia. Źródło: podręcznik Audacity dotyczący efektu Zmień szybkość i wysokość dźwięku.

W poglądowym przykładzie przeliczenia 5/4 wpisz 1,25 lub +25% i sprawdź, czy zaznaczenie o długości 60 sekund zmieni się na 48 sekund. Odsłuchaj podgląd, zastosuj efekt i wyeksportuj plik do osobnego pliku wyjściowego. Zachowaj dostęp do oryginału, aby kolejne poprawki można było rozpocząć od tego samego źródła.

Nazwy menu i dostępne ustawienia mogą się różnić w zależności od wersji. Sprawdź, czy wybrana operacja łączy zmianę szybkości i wysokości dźwięku. Aktualny podręcznik Audacity podaje, że efekt Zmień wysokość dźwięku zachowuje czas trwania, więc samo wpisanie tam interwału nie wystarczy do wykonania tego zadania. Źródło: podręcznik Audacity dotyczący efektu Zmień wysokość dźwięku.

Za właściwe ustawienie przyjmij wartość faktycznie zachowaną przez interfejs. Jeśli zaokrągla żądany stosunek, przed rozpoczęciem długiego eksportu oblicz wynik na podstawie zachowanej wartości. Wartość taka jak 1,25 ma skończone rozwinięcie dziesiętne; w przypadku jednego półtonu każde skończone rozwinięcie dziesiętne jest przybliżeniem.

Sekcja 5

Jak uzyskać powtarzalną konwersję za pomocą FFmpeg?

FFmpeg oferuje inną metodę: asetrate zmienia częstotliwość próbkowania bez modyfikowania danych próbek PCM, powodując powiązaną zmianę szybkości i wysokości dźwięku. Następnie aresample konwertuje wynik do docelowej częstotliwości próbkowania pliku wyjściowego. Źródła: źródłowa dokumentacja filtrów FFmpeg, Dokumentacja filtrów FFmpeg.

Poniższy kompletny przykład wymaga zainstalowanego FFmpeg dostępnego w terminalu jako ffmpeg. Uruchom go w katalogu z prawem zapisu i nieużywanymi nazwami plików. Pierwsze polecenie generuje 10-sekundowy ton testowy o częstotliwości 440 Hz i częstotliwości próbkowania 48 000 Hz; drugie stosuje stosunek 5/4 i zapisuje plik WAV o częstotliwości próbkowania 48 000 Hz. Udokumentowane źródło sine w FFmpeg dostarcza dane próbek. Źródło: źródłowa dokumentacja filtrów FFmpeg.

ffmpeg -n -f lavfi -i "sine=frequency=440:sample_rate=48000:duration=10" -c:a pcm_s16le ratio-input.wav
ffmpeg -n -i ratio-input.wav -af "asetrate=60000,aresample=48000" -c:a pcm_s24le ratio-output.wav

Pośrednia częstotliwość próbkowania wynosi 48 000 × 1,25 = 60 000 Hz. Oczekiwany plik wyjściowy ma 8 sekund, a ton częstotliwość 550 Hz. Przywrócenie częstotliwości wyjściowej 48 000 Hz przez resampling zachowuje zmieniony czas odtwarzania. Polecenia sprawdzono pod kątem zgodności z dokumentacją; FFmpeg nie był dostępny w środowisku badawczym, więc nie zostały uruchomione.

Aby dostosować ten przykład, najpierw ustal częstotliwość próbkowania pliku źródłowego. Dla źródła o częstotliwości S częstotliwość pośrednia musi wynosić S × r. Użycie 60 000 dla źródła o częstotliwości innej niż 48 000 Hz zmienia stosunek. Sprawdź, czy dana kompilacja i łańcuch filtrów obsługują tę częstotliwość pośrednią, zwłaszcza przy dużych zmianach.

Sekcja 6

Jak dokładny jest dokładny stosunek w pliku cyfrowym?

Rozdziel trzy kwestie: jaki stosunek zamierzasz uzyskać, jaką wartość akceptuje narzędzie i jaki czas trwania może reprezentować wyeksportowana liczba próbek. Dokładny ułamek, taki jak 5/4, może mieć skończone rozwinięcie dziesiętne. Wiele stosunków odpowiadających interwałom muzycznym wymaga przybliżenia przy wpisywaniu wartości liczbowej.

Konwersję opartą na częstotliwości próbkowania należy też sprawdzić, jeśli pośrednia częstotliwość próbkowania jest zaokrąglana. Dla przykładu, podniesienie częstotliwości próbkowania źródła 48 000 Hz o jeden półton w stroju równomiernie temperowanym wymaga matematycznie około 50 854,228529 Hz. Jeśli wybrana częstotliwość wynosi 50 854 Hz, zastosowany stosunek to 50 854/48 000, a nie pełna wartość matematyczna. Obliczenie 1200 × log₂(rzeczywisty stosunek ÷ docelowy stosunek) daje błąd około −0,00778 centa. Zależność dotyczącą centów opisuje materiał UNSW o częstotliwościach i nutach.

Czas trwania podlega osobnemu ograniczeniu: plik cyfrowy zawiera całkowitą liczbę ramek próbek. Przy 48 000 Hz jedna ramka próbki trwa około 20,833 mikrosekundy. Docelowy czas trwania obliczony tak, że wypada między granicami próbek, musi zostać odwzorowany na najbliższą granicę. Dla powyższego 10-sekundowego tonu testowego oczekiwany plik wyjściowy o długości ośmiu sekund odpowiada dokładnie 384 000 ramkom próbek na kanał.

Te obliczenia dają praktyczną zasadę decyzyjną: zachowaj definiujący stosunek, zapisz faktycznie zastosowaną wartość i porównaj ewentualną różnicę z wymaganą w projekcie precyzją. Nie opisuj zaokrąglonego ustawienia jako matematycznie identycznego z wartością docelową.

Sekcja 7

Jak sprawdzić wyeksportowany wynik?

Sprawdź sam wyeksportowany plik. Przydatna sekwencja diagnostyczna obejmuje najpierw czas trwania, potem częstotliwość, a na końcu całe nagranie.

  1. Porównaj czas trwania. Oblicz pierwotny czas trwania ÷ r. Wygenerowany przykład powinien dać 10 ÷ 1,25 = 8 sekund. Sprawdź cały plik, łącznie z zakończeniem.
  2. Porównaj znaną częstotliwość. Ton testowy 440 Hz powinien zmienić się przy 1,25× na 550 Hz. Użyj analizatora częstotliwości o rozdzielczości wystarczającej do planowanego porównania.
  3. Sprawdź zachowane ustawienia. Zapisz faktycznie użyty mnożnik lub pośrednią częstotliwość próbkowania, uwzględniając zaokrąglenia.
  4. Odsłuchaj całość. Sprawdź początek, koniec, przejścia i to, czy przetworzono właściwe zaznaczenie.

Rodzaj rozbieżności pomaga zawęzić przyczynę. Prawidłowy czas przy niezmienionej wysokości dźwięku sugeruje przetwarzanie zachowujące wysokość. Prawidłowa wysokość przy niezmienionym czasie trwania sugeruje niezależną operację zmiany wysokości. Jeśli obie zmiany są błędne o ten sam stosunek, sprawdź kierunek stosunku, a w przypadku przetwarzania opartego na częstotliwości próbkowania także częstotliwość próbkowania źródła. Są to wnioski diagnostyczne wynikające z równań powiązanej zmiany.

Jeśli masz zarówno docelowy czas trwania, jak i docelową wysokość dźwięku, porównaj wymagane stosunki przed edycją. Skrócenie nagrania o długości 60 sekund do 48 sekund wymaga r = 1,25; podwojenie wysokości dźwięku wymaga r = 2. Jedna stała powiązana zmiana nie może spełnić obu warunków. Trzeba zmienić jeden z celów albo wybrać przetwarzanie umożliwiające niezależną kontrolę wysokości dźwięku i czasu trwania.

Aby uzyskać wiarygodną konwersję, zapisz stosunek, oblicz oczekiwany czas trwania i częstotliwość, zastosuj jedną powiązaną zmianę, a następnie sprawdź eksport na podstawie tych przewidywań. Dzięki temu otrzymasz powtarzalny wynik i jasne wyjaśnienie wszelkich zaokrągleń.

Sekcja 8

Źródła

Warto przeczytać

Eksploruj dalej ten temat