[K] Speech Translate - Whisper w okienku

UWAGA NA WSTĘPIE: Warto zajrzeć do nowszego posta na temat Whispera w bardziej "strawnej" wersji!


O, tego właśnie szukałem! Wprawdzie osobiście używam programu Whisper z poziomu języka Python, ale wiem, że nie jest to na nerwy każdego. Stąd bardzo ucieszyłem się, że trafiłem na program Speech Translate, który potrafi wykonać transkrypcję za pomocą Whispera i da się go zainstalować i uruchomić "po ludzku" w systemie Windows 10/11.

Tu szybkie wyjaśnienie dla osób, które nie czytały wpisu o Whisperze - Whisper dokonuje transkrypcji plików dźwiękowych z wykorzystaniem sieci neuronowych (a konkretnie jednego z pięciu dostępnych modeli takiej sieci: tiny, base, small, medium i large). Każdy kolejny model jest bardziej złożony i skorzystanie z niego wiąże się z wydłużeniem procesu transkrypcji, ale jednocześnie dostarcza on dokładniejszego, lepszego rezultatu.

Proces transkrypcji wymaga dużej mocy obliczeniowej, tym większej, im bardziej skomplikowanego modelu sieci neuronowej używamy. Z tego powodu twórcy Whispera przewidzieli możliwość przeprowadzania obliczeń ze wsparciem... karty graficznej. Dzisiejsze karty graficzne mają ogromną moc obliczeniową i jeśli jest to akurat karta firmy nVidia z technologią CUDA, to możemy ją wykorzystać do współpracy z Whisperem (ważne, by karta ta miała też dużo własnej pamięci - model medium wymaga 5GB, model large - aż 10GB!)

Przygotowania

Zanim zaczniemy, musimy postarać się przynajmniej o dwa inne programy, jeśli jeszcze ich nie mamy na swoim komputerze: chodzi o 7zip, niezbędny do wypakowania archiwum ze Speech Translate oraz ffmpeg, niezbędny do dekodowania plików dźwiękowych. Osoby, które chcą korzystać z dobrodziejstw wsparcia przetwarzania przez kartę graficzną wyposażoną w technologię CUDA, powinny też zainstalować pakiet CUDA Toolkit.

Teraz wchodzimy na stronę projektu Speech Translate i odszukujemy na dole linki do wersji: albo takiej, która będzie transkrypcję przeprowadzała za pomocą procesora komputera (wersja CPU), albo takiej, która wykorzysta kartę graficzną z technologią CUDA (wersja GPU). Pobieramy, rozpakowujemy i uruchamiamy program Speech Translate.exe:

Zanim zaimportujemy plik audio, warto zawczasu ustawić "silnik" przetwarzania na Whisper oraz wybrać model sieci - proponuję zacząć od tiny, bo większe modele, zwłaszcza uruchomione na zwykłym procesorze, mogą przetwarzać nagranie baaardzo długo. Mając ustawiony silnik i model, importujemy plik audio i... czekamy.

Speech Translate na początku zwykle jeszcze "dociąga" sobie wybrany model (jeśli go jeszcze nie używał), po czym zaczyna dokonywać transkrypcji. Po zakończeniu pracy w katalogu export znajdziemy dwa pliki: tekstowy txt oraz plik z napisami srt. Oba zawierają transkrypcję, z tym że tekstowy plik to jeden długi akapit z treścią, plik srt ma dodane znaczniki czasowe, dzięki czemu można go od razu podłożyć np. jako napisy do filmu.

Wydajność

Przy korzystaniu z Whispera w zasadzie najważniejsze jest wybranie odpowiedniego modelu. Poniżej znajdziecie wyniki moich testów - czasy przetwarzania (w sekundach) dotyczą niespełna ośmiominutowego nagrania:

tinybasesmallmediumlarge
procesor i5 3570K9123468920145280
Karta GeForce GTX9604758116b.d.b.d.
Karta GeForce RTX3060364276151201

Dla karty GTX960 brakuje wyników dla modeli medium i large, bo karta ma tylko 2GB własnej pamięci i nie można było na niej uruchomić wspomnianych modeli. Karta RTX3060 ma pamięci 12GB i tu już największe modele się "zmieściły".

Wymagania pamięciowe poszczególnych modeli sieci neuronowych:

ModelWymagana ilość pamięci
tiny~1GB
base~1GB
small~2GB
medium~5GB
large~10GB

Spróbować warto

Myślę, że warto rzucić okiem na Speech Translate - jest darmowy i mocno upraszcza korzystanie z Whispera. Mnie spodobała się szczególnie możliwość pozyskania w ten sposób plików srt - dzięki temu w dość prosty sposób można przygotowywać napisy do tworzonych filmów na YouTube. Wystarczy wyeksportować najpierw ścieżkę dźwiękową z gotowego filmiku, przetworzyć ją w Speech Translate, po czym wczytać jako napisy w ustawieniach filmu na YouTube. Sprawdzałem, działa.

Komentarze

  1. Zajafajne to!!! Działa super :)

    OdpowiedzUsuń
  2. Wielkie dzięki za podpowiedź, potrzebuję takiego rozwiązania, do tej pory korzystałem z płatnych stron. Podziwiam wysoką trafność, wręcz bezbłędność transkryptu, odfiltrowywanie różnych dźwięków towarzyszących wypowiedziom, nawet błędów artykulacyjnych i schludny, bardzo poprawny język tekstu, ćwiczyłem amerykański angielski.

    OdpowiedzUsuń
    Odpowiedzi
    1. W sumie angielskiego nie testowałem, ale byłem pod wrażeniem jakości transkrypcji języka polskiego, co w ogóle wydaje mi się niesamowite, w końcu nasz język nie jest jakoś specjalnie popularny w świecie (może poza jednym wyrazem) ;)

      Usuń
  3. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
    Odpowiedzi
    1. Ten komentarz został usunięty przez autora.

      Usuń
    2. Ten komentarz został usunięty przez autora.

      Usuń
    3. Ten komentarz został usunięty przez autora.

      Usuń
  4. Jestem w szoku jak dobrze to tłumaczy.

    OdpowiedzUsuń

Prześlij komentarz