Witajcie.
Słuchajcie, jako, że dostałem zadanie napisania artykułu do Sześciopunktu, napisałem poradnik krok po kroku, jak przygotować Nasz pecet do pracy z tym softem. Z góry zaznaczam, że na początku jest fundacyjny bełkot, bo wiecie, wymogi redakcyjne, ale dalej już miodzio. Miłej lektury.
Whisper, darmowe narzędzie służące do zamiany mowy na tekst.
Mateusz Bobruś
Źródło: publikacja własna,
https://www.youtube.com/watch?v=msj3wuYf3d8We współczesnym świecie coraz bardziej zaczynamy dostrzegać różne grupy osób z niepełnosprawnością, a wszystko to za sprawą ustawy dostępność plus, która w zamierzeniu ma zapewniać dostępność dla wszystkich Nas, a nie tylko, jak to się czasem błędnie mówi, dla osób niewidomych, niedowidzących czy z niepełnosprawnością ruchową. Wśród tej grupy osób możemy wyróżnić także osoby z niepełnosprawnością słuchu. Pozwólcie, drodzy czytelnicy niniejszego czasopisma, że to właśnie Im poświęcę nieco więcej uwagi.
Transkrybcja,ale co to w ogóle jest?
Otóż transkrybcja, to zamiana ludzkiej, naturalnie rozumianej mowy na postać tekstową. Proces ten polega na tym, że transkrybent, czyli osoba przygotowująca taką transkrybcję, zwykle siada do komputera i w bardzo szybki, a za razem dokładny sposób przepisuje to, o czym w danym momencie mówi jakaś osoba lub grupa osób. Zawodowo taką transkrybcją najczęściej zajmują się protokolanci w sądach po to, by potem notatki z rozpraw sądowych mogły posłużyć, na przykład, w dalszym etapie postępowania.
Dla kogo transkrybcja może okazać się przydatna?
Transkrybcja może przydać się również w sytuacji, kiedy materiał dźwiękowy chcielibyśmy udostępnić osobie, która posiada lekki, poważny bądź całkowity niedosłuch. W takim przypadku taka osoba jest nierzadko wykluczona z obejrzenia interesującego materiału. Ponadto takie osoby uważają również, że są mniejszością kulturową! Należy w tym miejscu także podkreślić, że takie usługi są bardzo drogie, co powoduje, że transkrybowanych materiałów jest bardzo mało.
W jaki sposób zatem można przygotować taki materiał z użyciem naszego komputera?
Z pomocą przychodzi nam narzędzie " Whisper", które zostało stworzone przez amerykańską firmę " Open AI", zajmującą się sztuczną inteligencją. Narzędzie to zostało udostępnione 22 września na licencji Open Source. Zdaniem twórców, narzędzie to zawiera modele, czyli specjalne bazy słów i zdań, które zostały stworzone przy pomocy bardzo dużych, ponad 600000 godzinnych nagrań. Dostępnych jest, w zależności od języka i mocy obliczeniowej naszego komputera, pięć modeli: najmniejszy, podstawowy, mały, średni i duży. Im wyższy model wybierzemy, tym jakość pliku wynikowego będzie możliwie jak najwierniejsza oryginałowi.
Nie ma róży bez kolców, czyli rygorystyczne wymagania systemowe.
Aby skrypt rozpoznający i przygotowujący naszą mowę mógł działać prawidłowo, niezbędna jest przede wszystkim wysoce wydajna karta graficzna, posiadająca co najmniej 8 rdzeni GPU, a najlepiej, by nasza karta miała ich 12. W moim przypadku do testów posłużyła karta Nvidia GeForce RTX 3070 TI. Oprócz tego, wymagany jest główny komponent, czyli Python. Bez Python, czyli środowiska programowania, nie będziemy mogli uruchomić naszego skryptu. Producent deklaruje, że najlepszą wersją Python jest wersja 3.9.9, choć w moim przypadku jest to wersja 3.10.7 ( im nowsza wersja, tym lepiej). Kolejnym komponentem będzie repozytorium z plikami programu. Następnie, aby można było dekodować pliki, musimy zainstalować specjalną bibliotekę kodującą / dekodującą ffmpeg2 przy pomocy menedżera pakietów, na przykład "Chocolatey". Kolejnym komponentem jest Nvidia CUDA, czyli sterownik obsługujący rdzenie naszej karty graficznej. Jest on wymagany, ponieważ to właśnie dzięki Naszej karcie graficznej rozpoznawanie może odbyć się w nieporównywalnie szybki sposób, niż jakbyśmy to robili wyłącznie przy użyciu rdzeni naszego procesora. Ostatnim plikiem jest Py Torch wraz z obsługującą biblioteką CUDA, ale o tym w dalszej części artykułu.
Instalacja i pobieranie Python.
Aby pobrać i zainstalować pakiet instalacyjny Python, kliknij w poniższy odnośnik. Po kliknięciu w poniższy odnośnik, pobieranie pakietu instalacyjnego rozpocznie się automatycznie.
https://www.python.org/ftp/python/3.10.7/python-3.10.7-amd64.exePo pobraniu pakietu instalacyjnego, należy przejść do folderu z pobranym plikiem, uruchomić go, a następnie postępować zgodnie ze wskazówkami kreatora instalacji. Jedyne, na co należy zwrócić szczególną uwagę, to w przypadku wybrania instalacji standardowej, zaznaczenie pola wyboru " Add Python 3.10 to path". Jeśli to pole wyboru nie będzie zaznaczone, program instalacyjny repozytoria nie będzie mógł zostać dodany do Naszych zmiennych środowiskowych systemu Windows. Po zaznaczeniu tego pola wyboru, należy kliknąć przycisk "Install now". Następnie, po zakończeniu instalacji, należy kliknąć przycisk "Close", aby zamknąć kreatora instalacji.
Instalacja Pytorch.
Aby zainstalować Pytorch, należy wykonać następujące czynności:
1. Naciśnij klawisz WINDOWS, by otworzyć menu start.
2. W polu wyszukiwania, wpisz " Power Shell", naciśnij klawisz menu kontekstowego i STRZAŁKĄ W DÓŁ wybierz opcję "Uruchom jako administrator", aby uruchomić terminal z uprawnieniami administratora, a następnie naciśnij ENTER, by otworzyć terminal " Windows Power Shell".
3. W oknie terminala "Windows Power Shell", wpisz lub wklej następujące polecenie, a następnie naciśnij ENTER, aby je uruchomić:
pip3 install torch torchvision torchaudio --extra-index-url
https://download.pytorch.org/whl/cu116UWAGA! Proces pobierania i instalacji bibliotek " torchvision", " torchaudio" i " cuda" może zająć trochę czasu, w zależności od prędkości Naszego łącza internetowego, dlatego należy uzbroić się w cierpliwość. Po zakończeniu pobierania i instalacji Naszych bibliotek, pojawi się mniej więcej taki komunikat: "Successfully installed "torchvision". Oznacza to, że nasze biblioteki zostały pomyślnie zainstalowane.
Instalacja " Whisper".
Mając wciąż otwarte okienko terminala, wpisz lub wklej następujące polecenie, by zainstalować " Whisper, a następnie naciśnij ENTER, aby je uruchomić:
pip3 install git+
https://github.com/openai/whisper.gitPo pomyślnej instalacji, pojawi się taki sam komunikat, jaki pojawił się we wcześniejszym przykładzie.
Instalacja sterownika " Nvidia CUDA".
Aby zainstalować sterownik obsługujący komponent " Nvidia CUDA", kliknij w poniższy odnośnik, pobierz plik instalacyjny, uruchom go, a następnie postępuj zgodnie ze wskazówkami kreatora instalacji pojawiającymi się na ekranie.
https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_522.06_windows.exeInstalacja menedżera pakietów "Chocolatey".
Jak już wcześniej wspomniałem, potrzebny nam będzie menedżer pakietów " Chocolatey", aby można było zainstalować bibliotekę "FFMPEG2", służącą do wyodrębniania zawartości plików audio / wideo. W tym celu, otwórz nowe okno terminala, a następnie wpisz lub wklej następujące polecenie i naciśnij ENTER, aby je uruchomić:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('
https://community.chocolatey.org/install.ps1'))
Po pomyślnej instalacji " Chocolatey", przyszedł czas na instalację komponentu " ffmpeg2". W tym celu, otwórz nowe okno terminala, a następnie wpisz lub wklej następujące polecenie i naciśnij ENTER, aby je uruchomić:
choco install ffmpeg
Jeśli pojawi się prośba o potwierdzenie instalacji, wpisz " Y", a następnie naciśnij " ENTER", aby potwierdzić instalację.
Sprawdzanie poprawności instalacji sterownika służącego do obsługi komponentu " Nvidia CUDA".
Przed rozpoczęciem rozpoznawania pliku, zalecane jest, by sprawdzić, czy sterownik komponentu " Nvidia CUDA" został prawidłowo zainstalowany i czy jest poprawnie obsługiwany. By to zrobić, otwórz menu start i w polu wyszukiwania, które się pojawi, wpisz " python i naciśnij " ENTER|", aby uruchomić konsolę. W oknie konsoli, wpisz lub wklej następujące polecenia. Po wklejeniu poniższych poleceń, wynik zostanie zwrócony automatycznie, a następnie natychmiast pojawi się w oknie konsoli:
import torch
torch.cuda.is_available()
Jeśli po wpisaniu powyższych poleceń wyświetli się komunikat "TRUE", oznacza to, że sterownik obsługujący komponent " Nvidia CUDA" został pomyślnie zainstalowany i jest gotowy do użycia. Jeśli natomiast po wpisaniu lub wklejeniu powyższych poleceń pojawi się komunikat " FALSE", oznacza to, że jeden lub więcej plików nie zostało prawidłowo zainstalowanych. W takim przypadku należy rozwiązać problem samodzielnie.
Rozpoznawanie przykładowego pliku.
W poniższym przykładzie do sprawdzenia, czy program wszystko rozpoznaje pomyślnie, posłuży Nam przykładowa piosenka i model medium. W tym celu, na dysku c naszego komputera, utwórz folder " piosenki", a następnie wklej przykładowy plik MP3, WAV lub FLAC z piosenką. Należy w tym miejscu zwrócić uwagę, że plik, który chcemy wkleić, powinien zawierać tylko jedno słowo wraz z rozszerzeniem pliku. Załóżmy, że nasz plik będzie się nazywał " zostan.mp3". W tym celu, aby rozpoznać plik, otwórz menu start, a następnie w polu wyszukiwania wpisz " CMD" i naciśnij " ENTER, aby uruchomić wiersz polecenia. Następnie, wpisz następujące polecenia, aby rozpocząć proces rozpoznawania pliku:
cd c:\piosenki
W ten sposób zostaniemy przeniesieni do folderu piosenki, aby program mógł Nam wygenerować pliki tekstowe w formatach SRT, VTT i TXT.
whisper "c:\piosenki\zostan.mp3" --language pl --model medium --device cuda --task transcribe
Jeśli wszystko wykonaliśmy prawidłowo, piosenka powinna zacząć się rozpoznawać, a nasze okienko terminala powinno powoli wypełniać się rozpoznawanym tekstem. Po rozpoznaniu piosenki, skrypt powinien Nam wygenerować 3 pliki: zostan.mp3.srt ( jest to plik z przygotowanymi napisami do pliku z dokładnością co do sekundy), zostan.txt (plik TXT bez napisów), oraz zostan.mp3.vtt ( jest to plik służący do umieszczenia napisów do filmu, na przykład w serwisie YouTube w celu opatrzenia Naszego pliku zamkniętymi napisami).
Podsumowanie:
Po trzech dniach bardzo intensywnych testów, jakie przeprowadzałem na wielu piosenkach i materiałach mówionych, mogę powiedzieć, że choć opisywane narzędzie może okazać się pomocne podczas tworzenia transkrybcji, nie jest ono idealne. Narzędzie ma problem z przekształcaniem nazw własnych, a także rzadko spotykanych słów. Czasem zdarza się również, że w piosence zostanie wypowiedziana niewyraźnie jakaś litera, co powoduje, że litera nie zostaje wstawiona. Wierzę jednak, że z biegiem czasu, społeczność użytkowników z całego świata będzie sukcesywnie udoskonalać powyższy skrypt. Być może na nieco mniejszą dokładność rozpoznanego pliku miał wpływ fakt, iż moja karta graficzna ma mniej rdzeni, co zmusiło mnie na stworzenie transkrybcji w oparciu o model średni. A może, gdybym miał nieco bardziej wydajną kartę graficzną i przygotował plik z użyciem największego modelu, byłoby całkiem inaczej?