[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:
tiny | base | small | medium | large | |
---|---|---|---|---|---|
procesor i5 3570K | 91 | 234 | 689 | 2014 | 5280 |
Karta GeForce GTX960 | 47 | 58 | 116 | b.d. | b.d. |
Karta GeForce RTX3060 | 36 | 42 | 76 | 151 | 201 |
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:
Model | Wymagana 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.
Zajafajne to!!! Działa super :)
OdpowiedzUsuń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ń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ńTen komentarz został usunięty przez autora.
OdpowiedzUsuńTen komentarz został usunięty przez autora.
UsuńTen komentarz został usunięty przez autora.
UsuńTen komentarz został usunięty przez autora.
UsuńJestem w szoku jak dobrze to tłumaczy.
OdpowiedzUsuń