Bez przesyłania, 100% lokalnie, bez konta

Artykuł

Spowalnianie dźwięku do transkrypcji

Szybcy mówcy, nieznane akcenty i wiele nakładających się głosów to trzy główne powody, dla których transkrypcja utyka. Zwolnienie nagrania daje czas na uchwycenie tego, co zostało powiedziane. Problemem jest to, że naiwne spowolnienie odtwarzania obniża też tonację każdego głosu, co sprawia, że mowę trudniej zrozumieć, a nie łatwiej. Ten artykuł wyjaśnia różnicę między prostą redukcją prędkości a rozciąganiem czasu z zachowaniem tonacji i omawia praktyczne zakresy, które naprawdę pomagają.

Dlaczego spowalnianie pomaga

Ludzka mowa niesie dużo informacji w krótkim oknie. Szybki mówca może wygłaszać 200 słów na minutę lub więcej, a w takim tempie ucho ma mało czasu na rozróżnienie poszczególnych fonemów przed nadejściem następnej sylaby. Zwolnienie dźwięku daje mózgowi więcej czasu przetwarzania na sylabę, co ma największe znaczenie w trzech sytuacjach: mówca z nieznajomym akcentem, którego mapowanie fonemów różni się od oczekiwanego; gęsty fragment techniczny, gdzie każde słowo niesie znaczenie i jedno przesłyszenie daje błędny termin; oraz nagrania z dwoma lub więcej nakładającymi się głosami, gdzie ucho musi śledzić oddzielne strumienie jednocześnie. We wszystkich trzech przypadkach celem nie jest usłyszenie czegoś, czego tam nie było, lecz danie sobie wystarczająco dużo czasu, aby dokładnie usłyszeć to, co zostało nagrane. Prędkość odtwarzania 0.75x często wystarczy przy akcencie lub gęstym fragmencie. Prędkość 0.5x jest przydatna dla krótkiego fragmentu, gdzie pierwsze kilka przesłuchań nie wyjaśniło słów.

Wyświetlanie przebiegu fali pokazujące segment mowy, z osią czasu rozciągniętą poziomo, reprezentującą wolniejsze odtwarzanie, granice sylab widoczne jako szczyty i doliny

Prędkość i tonacja: dlaczego naiwne spowolnienie nie działa

Najprostszym sposobem na zwolnienie dźwięku jest odtwarzanie próbek z niższą częstotliwością niż ta, z którą zostały nagrane. Tak działały stare magnetofony szpulowe przy spowalnianiu: kręć taśmą wolniej, a czas trwania i tonacja opadają razem. Przy 0.75x głosy opadają o mniej więcej małą tercję. Przy 0.5x opadają o pełną oktawę. Rezultatem jest znane powolne, głębokie zniekształcenie, które sprawia, że mowa brzmi nienaturalnie i, paradoksalnie, trudniej ją zrozumieć, ponieważ częstotliwości formantowe odróżniające samogłoski przesunęły się w dół. Właściwym podejściem jest rozciąganie czasu: zmiana czasu trwania dźwięku bez zmiany częstotliwości. Tonacja każdego głosu pozostaje taka sama; zmienia się tylko tempo nadchodzenia sylab. To jest podejście używane przez narzędzie audio-speed i przez większość dedykowanego oprogramowania do transkrypcji. Wynik percepcyjny jest taki, że zwolnione nagranie brzmi jak ten sam mówca mówiący wolniejszym tempem, co jest dokładnie tym, czego potrzebujesz, gdy celem jest dokładna transkrypcja.

Jak działa rozciąganie czasu: podejście atempo

Najszerzej stosowanym algorytmem do rozciągania czasu w praktycznych narzędziach audio jest algorytm oparty na vocoderze fazowym, a jego powszechną implementacją w ffmpeg jest filtr atempo. Wejściowy dźwięk jest dzielony na krótkie nakładające się ramki, zazwyczaj 20 do 40 milisekund każda. Algorytm analizuje relacje fazowe między sąsiednimi ramkami, a następnie syntetyzuje nowe ramki przy zmodyfikowanej prędkości, dostosowując fazy tak, aby kolejne ramki prawidłowo pasowały do siebie. Wynikiem jest ciągły sygnał wyjściowy, którego czas trwania się zmienił, ale zawartość częstotliwościowa nie. Ponieważ ramki są krótkie w stosunku do typowego okresu tonacji głosu ludzkiego, podstawowa częstotliwość mowy jest zachowana przez rozciągnięcie. Jednym efektem ubocznym algorytmu jest to, że szybkie transjenty, takie jak kliknięcie spółgłoski, mogą być nieznacznie rozmyte przy dużym rozciągnięciu, ponieważ synteza z nakładaniem ramek wprowadza niewielkie uśrednianie. To nie jest wada implementacji; to nieodłączna właściwość rodziny algorytmów overlap-add.

Diagram procesu rozciągania czasu overlap-add: wejściowe ramki audio po lewej, nakładające się ramki syntezy w środku i rozciągnięty przebieg fali wyjściowej po prawej

Praktyczne zakresy prędkości i ograniczenia jakości

Do pracy transkrypcyjnej dwie wartości prędkości pokrywają większość praktycznych potrzeb. Przy 0.75x mowa jest rozciągana do 133% swojego oryginalnego czasu trwania. Skupiska spółgłosek i szybkie przejścia samogłosek stają się łatwiejsze do rozdzielenia, a zmiana jest na tyle mała, że algorytm wprowadza bardzo mało zauważalnych artefaktów. Większość słuchaczy może śledzić mowę w tym tempie bez utraty naturalnego rytmu zdania. Przy 0.5x dźwięk jest rozciągany do dwukrotności swojego oryginalnego czasu trwania. Jest to przydatne dla pojedynczego zdania lub krótkiego trudnego fragmentu, ale jest zbyt wolne do ciągłego słuchania przez kilka minut; koncentracja spada, zanim słowa zostaną rozróżnione. Poniżej 0.5x jakość wyjścia pogarsza się zauważalnie. Synteza overlap-add zaczyna wprowadzać trzepotanie lub fazowość na podtrzymanych samogłoskach, a wskazówki czasowe między spółgłoskami i samogłoskami, które niosą prozodię, ulegają zniekształceniu. Filtr atempo w ffmpeg narzuca minimum 0.5x dla jednego przejścia, co odzwierciedla to ograniczenie jakości. Wartości poniżej 0.5x wymagają łączenia dwóch przejść, a poziom artefaktów wzrasta odpowiednio. W przypadku prawie wszystkich zastosowań transkrypcyjnych, pozostanie przy 0.75x lub co najwyżej 0.5x dla krótkich segmentów daje czyste, użyteczne wyjście.

Lokalnie za pomocą narzędzia audio-speed

Narzędzie audio-speed na tej stronie działa w całości w przeglądarce przy użyciu ffmpeg skompilowanego do WebAssembly. Upuszczasz plik audio na stronę, ustawiasz mnożnik prędkości, a przetwarzanie odbywa się na urządzeniu. Nagranie nie opuszcza Twojego komputera w żadnym momencie: brak przesyłania, brak serwera, żadnej usługi strony trzeciej. Ma to znaczenie dla nagranych rozmów, wywiadów, dyktowania medycznego, postępowań prawnych i wszelkich innych kontekstów, gdzie treść dźwięku jest wrażliwa. Narzędzie akceptuje powszechne formaty audio obsługiwane przez ffmpeg, w tym MP3, WAV, M4A, OGG i FLAC. Wyjściem jest plik do pobrania przy wybranej prędkości. Ponieważ przetwarzanie odbywa się lokalnie, czas trwania zależy od długości pliku i prędkości urządzenia. Kilka minut dźwięku zazwyczaj przetwarza się w znacznie mniej niż minutę na nowoczesnym laptopie. Narzędzie używa tego samego filtra atempo opisanego w tym artykule, więc opisane powyżej charakterystyki jakości mają bezpośrednie zastosowanie do tego, co usłyszysz w wyjściu.

Narzędzia w tym artykule

Najczęściej zadawane pytania

Czy spowalnianie dźwięku zmieni też tonację?

Zależy od metody. Prosta redukcja prędkości odtwarzania zmienia tonację: przy 0.5x głosy opadają o pełną oktawę. Narzędzie audio-speed używa rozciągania czasu (filtr atempo), który zmienia czas trwania bez zmiany tonacji, więc głosy pozostają przy oryginalnej częstotliwości.

Jaka jest najwolniejsza prędkość, która nadal brzmi czysto?

Przy 0.75x wyjście jest czyste dla większości nagrań. Przy 0.5x jest akceptowalne dla krótkich fragmentów. Poniżej 0.5x, algorytm overlap-add zaczyna wprowadzać słyszalne artefakty na podtrzymanych samogłoskach i przejściach spółgłoskowych. W pracy transkrypcyjnej pozostanie przy lub powyżej 0.5x daje najlepsze wyniki.

Czy plik jest przesyłany podczas używania narzędzia audio-speed?

Nie. Narzędzie audio-speed działa w całości w przeglądarce. Plik jest przetwarzany lokalnie na urządzeniu przy użyciu WebAssembly. Nic nie jest wysyłane na żaden serwer, więc treść nagrania pozostaje prywatna.