Wywiad do odsłuchania? Wykład do spisania? Transkrypcja – przewodnik dla leniwych

homodigital.pl 3 tygodni temu

Jesteś dziennikarzem, blogerem, influencerem… Przeprowadziłeś rozmowę z interesującą osobą, a teraz powinieneś przekształcić nagranie w gotowy do publikacji tekst? Jesteś studentem, który w czasie długiego wykładu notuje główne myśli profesora, ale potem potrzebny jest szczegółowy zapis tego, co powiedział? Albo – uczysz się nowego języka i chcesz oglądać materiały filmowe w tym języku, ale z napisami ułatwiającymi naukę? Podpowiemy, jak to zrobić bez (przesadnego) drenowania kieszeni. Oto transkrypcja – przewodnik dla leniwych.

Są osoby, które są w stanie zrobić pełny transkrypt wywiadu czy wykładu nie uroniwszy ani słowa. Znam takich dziennikarzy, ale nie jestem jednym z nich. Inni, nieco wolniejsi, zgubią słowo tu czy tam, ale zachowają sens i nie zgubią wątku.

Są jednak tacy, którzy z wypowiedzi są w stanie spisać na bieżąco tylko główne myśli. I czasem zgubią wątek, jeżeli mówca mówi za szybko. I tacy, którzy po prostu nie lubią samej czynności pisania długopisem czy na klawiaturze i dla których robienie szczegółowych notatek to męczarnia. Wolą nagrać wypowiedź – czy to rozmówcy, czy to wykładowcy – a transkrypcję pozostawić technologii.

Transkrypcja? Po co to komu… Jak działa transkrypcja? Do czego służy transkrypcja?

Żyjemy w czasach słowa mówionego. Podcasty zastąpiły nam dłuższe artykuły, rolki zaspokajają nasze zapotrzebowanie na krótsze formy (nie tylko) słowne. Komu jeszcze jest potrzebne słowo pisane? Zwłaszcza słowo pisane wtórne wobec słowa mówionego, czyli transkrypt? Okazuje się, iż sporej liczbie osób.

Transkrypcja dla dziennikarzy

Przykład z mojego dziennikarskiego podwórka jest oczywisty. Przeprowadzasz wywiad, rozmówca chętnie i obszernie odpowiada, jest super, tylko… potem masz do spisania ponad godzinę materiału. choćby dla demona klawiatury to następna godzina roboty. Dla tych wolniejszych – wiele więcej.

Po co student robi transkrypcję?

Podobnie jest ze studentami. Albo skupiasz się na pisaniu – i często nie za bardzo łapiesz sens wykładu – albo wchłaniasz sens wykładu, ale notujesz co najwyżej wybiórczo. A gdyby tak ktoś robił transkrypt za nas, pozostawiając nam notowanie tylko najważniejszych rzeczy – zwłaszcza tych niewerbalnych, takich jak obrazek, diagram czy wzór matematyczny?

Transkrypcja dla znajomych

Inny przykład? Wybieramy się ze znajomymi na wspólny wyjazd za granicę, podczas czatu online dzielimy się obowiązkami, tylko potem okazuje się, iż nikt nie pamięta, kto co miał zrobić. jeżeli nagraliście czat, to możecie oczywiście go odsłuchać, ale gdyby był transkrypt, to do znalezienia odpowiedniego fragmentu wystarczyłby zwykły Ctrl+F, czyli wyszukiwanie.

Transkrypcja do nauki języka

Pomyślmy też o wykładach czy podcastach w obcym języku. Czasem nasza znajomość tego języka nie jest wystarczająco dobra, a czasem mówca ma dziwny, trudny do zrozumienia akcent. Napisy bardzo ułatwiłyby nam życie i Youtube choćby ma swoje automatyczne transkrypcje, ale nie są idealne. Czasem automat coś przekręci, czasem czegoś nie dosłyszy. A o interpunkcji – zapomnij. Przydałaby się lepsza alternatywa.

Jeszcze inny przykład. Chcesz się nauczyć języka, na przykład francuskiego czy angielskiego, w których zapis danego słowa, jeżeli je słyszysz po raz pierwszy, jest zupełnie nieoczywisty. Uczenie się takiego języka z filmów bez napisów bywa trudne – dopiero napisy pozwalają nam łączyć dźwięki ze znanymi nam słowami pisanymi. Tak więc filmy z dobrą transkrypcją są nieocenioną pomocą.

Problem tylko w tym, iż świetnych opcji, jeżeli chodzi o transkrypcje, wcale nie jest tak wiele.

Transkrypcja za darmo i po polsku?

Jeśli szukamy transkrypcji w języku angielskim i na dodatek tylko okazjonalnej, to wybór nie jest mały. Co najmniej kilka firm dostarczy nam swoje usługi za darmo, jeżeli nasze potrzeby są niewielkie – rzędu godziny czy kilku godzin transkryptu miesięcznie – i potrzebujemy transkrypcji po angielsku. Listy takich serwisów można znaleźć na stronach firm Descript czy Zapier.

Jeśli jednak chcesz transkrypcję po polsku i w pełni za darmo, to trzeba szukać dalej. Pierwszą opcją, jaka mi przyszła do głowy (akurat miałem wywiad do spisania), były Dokumenty Google. Spisujące co prawda tekst co do zasady z mikrofonu, ale… w Windowsach bez problemu można sprawić, żeby wejście dźwięku nie czytało mikrofonu, tylko wyjście dźwiękowe, czyli na przykład odtwarzacz plików dźwiękowych.

Tak też zrobiłem. Przekierowałem wejście z mikrofonu na tzw. mikser (robimy to w ustawieniach dźwiękowych systemu), odpaliłem Chrome (funkcja Pisania głosowego działa w Chrome, Safari i Edge, nie działa jednak w używanym przeze mnie na co dzień Firefoksie), puściłem wywiad na odtwarzaczu dźwięku, uruchomiłem Pisanie głosowe w Dokumentach Google (w menu Narzędzia) i… z oporami, pomijając niektóre niewielkie części wypowiedzi, rozpoznawanie głosu ruszyło. Niestety, było nieidealne, a interpunkcja… to tragedia.

Spójrzmy, jak wygląda transkrypcja przez Dokumenty Google (przykład z wideo Kuby Mrugalskiego o opisanym poniżej Whisperze). Oto fragment tekstu oryginalnego:

„Czyli mówiąc prościej, robi ono transkrypcję. Transkrypcję z jednego z 99 obsługiwanych języków. I co ciekawe, jest tam też język polski i z tym polskim radzi sobie naprawdę świetnie.”

A oto wersja od narzędzia Google:

„Czyli mówiąc prościej robi ono transkrypcję transkrypcja z jednego z 99 obsyzywanych języków i co interesujące jest tam też język polski i z tym polskim radzi sobie naprawdę świetnie”

Co widzimy? Pewne błędy (włącznie z nieistniejącym słowem) i kompletny brak interpunkcji, a w niektórych fragmentach było jeszcze gorzej.

Aplikacje do transkrypcji po polsku

Szukałem więc dalej. Na Youtubie dowiedziałem się, iż funkcję transkrypcji, również całkiem darmowej, ma też Clipchamp od Microsoftu. Postanowiłem spróbować. Zaimportowałem plik – znowu klip Kuby Mrugalskiego, by mieć sensowne porównanie. Wybrałem kartę Napisy, a następnie polecenie Transkrybuj multimedia. Oto wynik:

Czyli mówiąc prościej robi on o transkrypcję transkrypcje z jednego z 99 obsługiwanych języków i co interesujące jest tam też język Polski i Jestem polskim radzi sobie naprawdę świetnie

Znowu mamy błędy i znowu brak interpunkcji.

Czas pożegnać się z GUI

Jakie mamy inne opcje? Funkcję transkrypcji ma na przykład OneNote, ale jakie są szanse, iż jedna transkrypcja od Microsoftu jest lepsza od drugiej – też od Microsoftu?

Mamy jeszcze przecież Whisper od OpenAI. Otwarty model językowy do transkrypcji (i tłumaczenia na angielski) tekstu mówionego. Model AI, do którego wykorzystania – choć płatnego – zachęcał Kuba Mrugalski w wideo, którego użyłem do testów.

Test transkrypcji Whisper od OpenAI

Najpierw chciałem zobaczyć, czy da radę za darmo. „Niestety, ustawianie modeli językowych na swoim sprzęcie to wcale nie jest przyjemność, a i sam proces transkrypcji jest pewnie bolesny” – pomyślałem. Pierwsze próby na moim laptopie – 9-letni staruszek z 8 GB pamięci RAM – potwierdziły moje obawy. Whisper ma kilka rozmiarów i wyglądało na to, iż na moim laptopie uruchomię co najwyżej model 'small’. choćby ten model działał upiornie wolno, a efekt w postaci transkrypcji był słaby.

Jednak parę dni temu napotkałem, siedząc już przed moim o wiele solidniejszym komputerem biurkowym, ulepszoną wersję Whispera – Faster Whisper. Szybszą i o mniejszym zapotrzebowaniu na pamięć. W dodatku taką, która używa karty Nvidia, by przyspieszyć proces transkrypcji – jeżeli taką kartę posiadacie.

Efekt? Świetny. Przy użyciu mojej, bynajmniej nie najnowszej, Nvidii GTX 1070 Ti Faster Whisper był w stanie dokonać transkrypcji w tempie ponad 7 minut na 1 minutę nagrania. Czyli nagranie 60-minutowe przerobi Wam w mniej więcej 9 minut. A jakość? Bardzo mało błędów i bardzo dobra polska interpunkcja. Jakbyście dali to studentowi do spisania, to błędów byłoby pewnie sporo więcej. Trudno się dziwić – według zapewnień OpenAI polski jest wśród języków najlepiej obsługiwanych przez ten model.

Jak korzystać z Faster Whisper?

Jak korzystać z Faster Whisper? Po pobraniu z serwera (ja wybrałem wersję XXL) rozpakujcie go w wybranym przez siebie miejscu, następnie skopiujcie do folderu zawierającego ten program swój plik do transkrypcji (audio lub wideo, Whisper odczytuje też wideo), następnie uruchomcie polecenie whisper-faster.exe "wasz_plik.mkv" -l Polish i czekacie. Po kilku minutach dostaniecie transkrypt w tym samym folderze – w tym przykładzie „wasz_plik.srt„. Model domyślnie produkuje pliki .srt, jeżeli chcecie to zmienić na zwykły tekst, to w treści polecenia dodajcie -f text. Przykłady użycia podane są na stronie projektu na GitHubie, a pełną pomoc dostaniemy wykonując polecenie whisper-faster.exe --help.

Masz już transkrypt wykładu? Możesz go odpytać przy pomocy specjalnego notatnika od Google – NotebookML. Niedługo napiszemy o nim szerzej.

Czy to narzędzie dla wszystkich? Nie. Po pierwsze Faster Whisper to aplikacja uruchamiana z wiersza poleceń. jeżeli ktoś nie wie, co to takiego, to pewnie powinien trzymać się od tej aplikacji z daleka. Ponadto działa gwałtownie tylko na kartach graficznych Nvidii z co najmniej 4 GB pamięci RAM. jeżeli masz taką kartę, to wystarczy ci komputer z nieprzesadnie starym procesorem i 8 GB RAM.

Jeśli nie macie odpowiedniej karty graficznej Nvidii, to sprawy się nieco komplikują. Transkrypcja trwa jakieś 10x dłużej – czyli ten godzinny wykład zajmie komputerowi jakieś 1,5 godziny. A ponieważ komputer nie będzie się posiłkował pamięcią karty graficznej, to sam będzie potrzebował więcej pamięci – prawdopodobnie co najmniej 12 GB.

Transkrypcja w chmurze – przewodnik dla nie tak leniwych

A jeżeli mamy laptopa bez karty graficznej i z, powiedzmy, 8 GB RAM? Cóż, pozostaje zalecana przez Kubę Mrugalskiego usługa w chmurze. Płatna, ale bez przesady. To tylko 0,006 dolara za minutę nagrania. Wychodzi 36 centów, czyli 1,44 zł za godzinę. Do uniesienia.

Nie jest to jednak wybór bezbolesny i nie mam tu na myśli – niewielkich przecież – kosztów.

Po pierwsze podobnie jak w przypadku Faster Whisper musimy korzystać z wiersza poleceń i ściągnąć zawczasu dwa narzędzia, curl i ffmpeg. Najlepiej umieśćcie je w folderze c:\WINDOWS\system32 – na pewno zostaną znalezione.

Po drugie mamy ograniczenie wielkości pliku. O ile Faster Whispera testowałem na plikach wideo o wielkości zbliżonej do 1 GB, Whisper w chmurze nie weźmie od nas pliku większego niż 25 MB. Czyli z jakimiś 25 minutami nagrania w formacie MP3. Nie za dużo, jeżeli macie do sczytania 1,5-godzinny wykład.

Jak zmniejszyć rozmiar pliku do transkrypcji? Proste sposoby

Co możecie zrobić? Krok pierwszy – zmieńcie format pliku. Można przekształcić plik w wydajniejszy format opus – może on zmniejszyć rozmiar pliku o kilkadziesiąt procent. Zakładając, iż nasz plik nazywa się audio.mp3, robimy to następującym poleceniem:

ffmpeg -i audio.mp3 -vn -map_metadata -1 -ac 1 -c:a libopus -b:a 12k -application voip audio.ogg

Po wykonaniu tego polecenia otrzymujemy mniejszy plik audio.ogg, który, jeżeli ma mniej niż 25 MB, możemy wysłać do Whispera.

Jeśli to jednak nie wystarczy, to plik tniemy na kawałki. Może się zdarzyć, iż plik przytniemy w pół słowa, co prawdopodobnie spowoduje błędy w transkrypcji. By się przed tym zabezpieczyć, pierwszy fragment kończymy kilka sekund po tym, jak zaczynamy następny fragment. Ewentualny nakładający się fragment tekstu usuwamy przy zlepianiu części transkrypcji.

Oto jak z dużego pliku audio.mp3 wycinamy pierwszy fragment audio-01.mp3 (pierwsze 10 min 10 sek.):

ffmpeg -i audio.mp3 -vn -acodec copy -ss 00:00:00 -to 00:10:10 audio-01.mp3

Transkrypcja w chmurze dla zaawansowanych?

Co musimy jeszcze zrobić, by uzyskać transkrypt? Po pierwsze zarejestrować się na stronie OpenAI i wpłacić tam kilka dolarów, by móc korzystać z Whispera, a następnie stworzyć i pobrać tzw API key, specjalny klucz nas identyfikujący. Pamiętaj, klucz skopiuj do bezpiecznego miejsca – jeżeli go stworzysz, a nie zachowasz, to OpenAI Ci go nie udostępni później, będziesz musiał tworzyć nowy, by korzystać z usług OpenAI, w tym Whispera.

Jak już mamy konto, wpłaciliśmy pieniądze i pobraliśmy klucz API, to możemy już próbować dokonać transkrypcji naszego pliku audio. W tym celu wpisujemy polecenie:

curl -X POST https://api.openai.com/v1/audio/transcriptions -H "Authorization: Bearer API_KEY" -H "Content-Type: multipart/form-data" -F file=@audio.mp3 -F model=whisper-1 -F response_format=srt

W powyższym poleceniu zamieńcie API_KEY na wasz adekwatny API key od OpenAI, a nazwę pliku audio.mp3 na waszą adekwatną nazwę pliku – tylko nie usuwajcie @ z początku. Format, jeżeli chcecie, możecie zamienić z srt na txt.

Powodzenia.

Źródło grafiki: Sztuczna inteligencja, model Dall-E 3

Idź do oryginalnego materiału