Whisper czyli nowe fajne do rozpoznawania mowy
Back to Nowości, odkrycia, newsy#261 Paulinux
Generalnie o tym, że coś się dzieje informują Cię fragmenty transkryptu pojawiające się w oknie konsoli, przynajmniej tak to u mnie było. Może Cię Windows zlimitowal albo co?
#262 tomecki
No właśnie wiem, ze tak powinno być, ale żadnych freagmentów u mnie nie było. Co ciekawe, standardowy Whisper na grafice, z resztą na CPU też działa. Ten jakoś nie chce.
#263 Paulinux
A ile masz wątków? 20?
#264 tomecki
tak.
#265 mojsior
hej.
Czy żeby odpalić tego whispera dla procesorów to trzeba coś posiadać zainstalowanego bo u mnie po kliknięciu w plik whispercpp.exe nic się nie dzieje.
#266 Paulinux
To jest aplikacja konsoli.
#267 mojsior
hmm to jak to się wywołuje start whisper.cpp.exe
#268 AXM04
Czy wersja w CPP wspiera rozpoznawanie wielu plików naraz.
To znaczy, mam ja folder z plikami wav i chciałbym rozpoznać je wszystkie za jednym zamachem (najlepiej do jednego pliku wyjściowego).
Da się tak?
#269 nuno69
Na pewno się da, jak nie natywnie to prosstym skryptem z bat
#270 balteam
Nie widzę tu modelu large, gdzie mogę go dostać?
-- (pajper):
1. Jak zrobic, żeby on nie uwzględniał domyślnych opcji, na przykład żeby nie tłumaczył jakichś źle przetranskrybowanych słów siłą na angielski?
To jest niestety słabość modelu, to samo masz w zwykłym whisperze.
2. Jak deklarować mu modele do użycia, tj. gdzie je umieścić i jak je nazywać żeby wiadomo było o co kaman?
Wszystkie modele są na stronie
https://ggml.ggerganov.com/
te pliki nazywają się we wzorcu ggml-model-whisper-blablabla.bin.
Wystarczy pobrać je, gdziekolwiek zapisać i przekazać jako parametr -m, np.
whisper.cpp -m ggml-model-base.bin plik.wav
Ważna uwaga, whisper.cpp potrafi pracować tylko z plikami wave mono s16le 16kHz, więc najpierw trzeba je do takiego formatu skonwertować. Ze względu na rozmiar, obsługa innych kodeków została usunięta.
Whisper zwykły też pracuje z takim audio, ale wewnętrznie po prostu wszystko na nie konwertuje.
3. Jakie powinno być przeciętne usage ze skonfigurowanymi opcjami, żeby było fajnie, tj. raczej większa dokładność niż mniejsza, ale co by się komp nie spalił?
Domyślne ustawienia są dobre, trzeba tylko dobrać ilość wątków, domyślnie 4.
Ja proponuję ustawić o 1 lub 2 mniej, niż ilość rdzeni logicznych, tak co by działało, ale nie zwiesiło całego komputera.
--
#271 matius
Jak tego wchispera cpp.exe odpalić?
#272 AXM04
W CMD w folderze z plikiem whisper.cpp.exe wpisujesz:
whisper.cpp.exe -h
wyświetli ci się cały help odnośnie parametrów jakie możesz użyć, a potem wpisujesz:
whisper.cpp.exe
np.:
whisper.cpp.exe -m models/ggml-large.bin -f 01.wav -l pl -otxt
Wtedy zacznie się dziać cała whisper-owa magia.
-- (matius):
Jak tego wchispera cpp.exe odpalić?
--
#273 AXM04
@balteam
Strona z modelami ggml.bin:
https://huggingface.co/datasets/ggerganov/whisper.cpp/tree/main
#274 balteam
Muszę coś zainstalować poza pobraniem tego modelu ze strony i załącznikiem Pajpera czy nie?
#275 mojsior
tylko pobierasz model i jazda już tylko pozostaje ci comendline.
#276 Numernabis
Whisper – darmowe narzędzie do zamiany mowy na tekst
Mateusz Bobruś
We 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ść wszystkim, a nie tylko, jak to się czasem mówi, osobom niewidomym, niedowidzącym czy z niepełnosprawnością ruchową.
Jedną z tych grup tworzą osoby z niepełnosprawnością słuchu. Pozwólcie, drodzy Czytelnicy, że to właśnie im poświęcę nieco więcej uwagi, omawiając transkrypcję – formę wsparcia osób niesłyszących.
Transkrypcja – co to jest?
Transkrypcja to zamiana ludzkiej, naturalnie rozumianej mowy na postać tekstową; w skrócie jest to zapisanie tekstu mówionego. Proces ten polega na tym, że transkrybent, czyli osoba przygotowująca transkrypcję, siada do komputera i w bardzo szybki, a zarazem dokładny sposób zapisuje to, o czym w danym momencie mówi jakaś osoba lub grupa osób. Zawodowo transkrypcją najczęściej zajmują się protokolanci w sądach po to, by notatki z rozpraw sądowych mogły posłużyć, na przykład na dalszym etapie postępowania.
Komu transkrypcja może okazać się przydatna?
Transkrypcja może przydać się 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 osoba ta jest nierzadko wykluczona z obejrzenia interesującego materiału. Należy w tym miejscu podkreślić, że takie usługi są bardzo drogie, co powoduje, że transkrybowanych materiałów jest 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 2022 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ń. W zależności od języka i mocy obliczeniowej naszego komputera, dostępnych jest 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 Pythonu, czyli środowiska programowania, nie będziemy mogli uruchomić naszego skryptu. Producent deklaruje, że najlepszą wersją Pythonu 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”.
Następnym 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 szybszy sposób, niż jakbyśmy to robili wyłącznie przy użyciu rdzeni naszego procesora.
Ostatnim plikiem jest PyTorch wraz z obsługującą biblioteką CUDA.
Instalacja
Na potrzeby niniejszego artykułu nie będę opisywał procesu instalacji, gdyż jest on długi i skomplikowany. Więcej informacji, jak to zrobić, znajduje się na stronie projektu, dostępnej pod adresem: https://github.com/openai/whisper
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 nazwa pliku, który chcemy wkleić, powinna zawierać tylko jeden wyraz 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 polecenie cd c:\piosenki i naciśnij Enter, aby przejść do folderu „piosenki” na dysku D. Aby rozpocząć proces rozpoznawania i wygenerować pliki tekstowe w formatach SRT, VTT i TXT wpisz kolejne polecenie i naciśnij Enter:
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).
#277 Numernabis
Może ktoś napisałby po polsku instrukcję, co z czym i skąd pobrać i jak się do tego zabrać.
Fajnie gość napisał, nie będzie się rozpisywał bo wszystko jest na githubie, ale po angielsku.
#278 AXM04
Wszystko zostało myśle powiedziane w wątku.
#279 Numernabis
Ja prosiłem o tutek, a nie o przekierowanie do wątku w którym jest ponad 270 postów i żaden nie daje pełnego obrazu co i jak należy wykonać a jedynie częściowe odpoweidzi na pytania.
Dziękuję bardzo za pomoc.
Odpowiedź w stylu google ci pomoże.
#280 balteam
Poczytaj od wpisu na przykład 250