Stanąłem niedawno przed wyzwaniem przekonwertowania pięciu godzin nagrań webinarów na tekst. Okazało się, że większość dostępnych platform online oferuje darmową transkrypcję, jednak zazwyczaj ograniczoną do jednej godziny nagrania. W takiej sytuacji zmuszony byłem szukać alternatywnego rozwiązania, które nie generowałoby dodatkowych kosztów, a jednocześnie poradziłoby sobie z większą ilością materiału. Ostatecznie z pomocą przyszedł model Whisper od OpenAI – zaawansowane narzędzie do przekształcania dźwięku w tekst, które oferuje precyzyjne transkrypcje bez ograniczeń czasowych.
Whisper od OpenAI
Whisper powstał w 2022 roku czyli w czasach, gdy OpenAI było jeszcze organizacją otwarto-źródłową, co oznacza, że każdy mógł i wciąż może korzystać z tego narzędzia oraz kodu. (Kod możesz pobrać ze strony https://github.com/openai/whisper/) Model Whisper to system automatycznego rozpoznawania mowy (ASR), który został wytrenowany na 680 000 godzinach danych wielojęzycznych i wielozadaniowych, pochodzących z internetu. Dzięki tak dużemu i zróżnicowanemu zestawowi danych, model wykazuje wysoką odporność na różnorodne akcenty, hałasy w tle, a także specjalistyczny język techniczny. Whisper nie tylko transkrybuje mowę na tekst w wielu językach, ale również umożliwia tłumaczenie tych języków na angielski.
Choć Whisper nie przewyższa specjalistycznych modeli pod kątem wydajności w specyficznych benchmarkach, takich jak LibriSpeech, jego wszechstronność sprawia, że jest bardziej odporny na różnorodne zadania i dane, co prowadzi do 50% mniej błędów w porównaniu z innymi modelami.
W dalszej części tego artykułu omówię, jak w prosty sposób zainstalować Whispera na wirtualnym serwerze Google Colab, co pozwala na darmowe przetwarzanie nagrań o dowolnej długości. Dzięki temu nawet wielogodzinne materiały audio i wideo można wygodnie zamienić na tekst, bez konieczności korzystania z płatnych usług.
Whisper na dysku google
Aby rozpocząć korzystanie z modelu Whisper na wirtualnym serwerze Google Colab, wystarczy mieć konto Google i dostęp do Google Drive.
Google Colab to darmowe środowisko obliczeniowe udostępniane przez Google, które umożliwia pisanie i uruchamianie kodu Python bez potrzeby instalowania oprogramowania na własnym komputerze. Jednym z głównych atutów Google Colab jest dostęp do bezpłatnych zasobów obliczeniowych, takich jak procesory graficzne (GPU) i jednostki przetwarzania tensorowego (TPU), które znacznie przyspieszają zadania związane z uczeniem maszynowym i analizą danych.
Pierwszym krokiem jest zalogowanie się na swoje konto Google i otwarcie Google Drive.
Wybierz Nowy, następnie kliknij Więcej i wybierz Połącz więcej aplikacji.
W polu wyszukiwania wpisz Colaboratory i zainstaluj tę aplikację.
Po instalacji wróć do głównego widoku Drive, ponownie kliknij Nowy, wybierz Więcej, a następnie otwórz Google Colaboratory.
W nowym oknie będziesz mógł utworzyć plik, w którym uruchomisz kod do transkrypcji.
Zanim jednak przejdziesz dalej, zmień ustawienia środowiska wykonawczego: kliknij Runtime, wybierz Change runtime type i ustaw akcelerator sprzętowy na T4 GPU. To pozwoli na szybsze przetwarzanie plików audio i wideo.
Kolejnym krokiem jest instalacja modelu Whisper oraz narzędzia FFmpeg, które jest niezbędne do obsługi plików audio i wideo. Wklej poniższy kod do nowego pola w Google Colab i uruchom go (klikając ikonkę lub ctrl+enter):
!pip install git+https://github.com/openai/whisper.git
!sudo apt update && sudo apt install ffmpeg
Po zainstalowaniu Whispera i FFmpeg na Google Colab, kolejnym krokiem jest przesłanie pliku audio lub wideo, który chcemy zamienić na tekst. Aby to zrobić, kliknij ikonę folderu po lewej stronie ekranu w Google Colab. Pojawi się panel z możliwością przesyłania plików. Kliknij przycisk Prześlij lub po prostu przeciągnij plik audio lub wideo z komputera do tego panelu lun kliknij ikonę na górze panelu i wybierz plik. Plik zostanie załadowany do wirtualnego środowiska.
Ważne jest, aby pamiętać, że pliki przesłane do Google Colab są tymczasowo przechowywane. Oznacza to, że po zakończeniu sesji pliki zostaną usunięte, dlatego przed zamknięciem sesji warto pobrać wyniki transkrypcji na swój komputer. Po załadowaniu pliku, jesteś gotowy do uruchomienia kodu, który przekształci nagranie w tekst.
Następnie uruchom poniższy kod, aby rozpocząć transkrypcję:
!whisper "nazwa_twojego_pliku.mp4" --model medium
Pamiętaj, aby zastąpić „nazwa_twojego_pliku.mp4” odpowiednią nazwą pliku. Proces transkrypcji zajmuje tylko kilka minut, nawet w przypadku dłuższych nagrań. Po zakończeniu otrzymasz tekst z pełną interpunkcją i znacznikami czasowymi, który będziesz mógł pobrać w formacie .txt lub .srt.
Viola!
Google Colab, mimo swoich zalet, ma oczywiście pewne limity, takie jak ograniczenia czasowe na sesje czy ograniczenia dotyczące wykorzystania GPU w dłuższych projektach. Niemniej jednak, w moim przypadku 5 godzin nagrań webinariów zostało zamienione na tekst bez żadnych trudności. Godzinny webinar średnio transkrypcja zajmowała 10 minut. Dla użytkowników, którzy potrzebują więcej zasobów lub dłuższego czasu działania sesji lub szybszego przetwarzania, Google oferuje model płatności Pay As You Go. Dzięki temu można elastycznie korzystać z dodatkowych zasobów obliczeniowych tylko wtedy, gdy są one naprawdę potrzebne, co przekłada się na duże oszczędności w porównaniu do kosztownych, subskrypcyjnych rozwiązań typu SaaS (Software as a Service).