Jak zrobić napisy do filmu YouTube lub podcastu za pomocą usługi Whisper?

Czy wiesz że możesz zrobić napisy do filmu YouTube nie płacąc nikomu za przygotowanie transkrypcji i nie czekając na wyniki jego pracy?

Jak zrobić transkrypcję podcastu lub filmu YouTube używając tylko konta na OpenAI? Będziemy używali usługi cranscriptions, nazywanej potocznie Whisper ze względu na nazwę kodową używanego modelu.

Co musisz mieć aby zrobić napisy do filmu YouTube lub podcastu?

Aby nasz poradnik działał, musisz spełnić kilka założeń:

  1. Masz konto na OpenAI (o tym poniżej)
  2. Ustawiłeś formę płatności i najlepiej limit na miesięczne zużycie
  3. Wygenerowałeś klucz do OpenAI (API key)
  4. Klucz, aby go nie podawać, najlepiej wpisać do zmiennej systemowej (u mnie $OPENAI_API_KEY)

Zakładanie konta na platformie OpenAI

Aby założyć konto na OpenAI, należy wejść tutaj, i kliknąć „Sign up”. Następnie trzeba dodać metodę płatności (zablokowane zostanie na niej 5 dolarów) i – ważne – określić limity płatności.

Założenie konta na OpenAI daje nam dostęp do przykładów, dokumentacji, i tzw. Playground, czyli „Placu zabaw”. Tam możemy za pomocą prostego interfejsu wykorzystać udostępnione modele.

Interfejs Playground – placu zabaw umożliwiającego wypróbowanie usług OpenAI

Jednak aby używać platformy OpenAI za pomocą programów zewnętrznych, musimy wygenerować klucz API (Application Programming Interface). Oto jak to zrobić.

Generowanie klucza do API

Aby wygenerować klucz, musimy kliknąć nasz profil, wybrać View API Keys a następnie Create new secret key.

Zapisz (skopiuj i wklej) ten klucz. OpenAI nie pokaże go w pełnej formie już nigdy.

Ustawianie limitów płatności

Warto ustawić również limity płatności. W tym celu klikamy Billing a następnie Usage limits.

Wygląd sekcji ustawień limitów na platformie OpenAI

Dostępne tam limity oznaczają różne rzeczy. Oto ich wyjaśnienie:

  • Approved usage limit – jest to maksymalny limit wydatków przyznany naszej organizacji. Sami nie możemy tego zmienić, możemy jedynie poprosić OpenAI o jego zwiększenie. Robimy to za pomocą przycisku Request increase. Tego na razie nie ruszamy – nie ma takiej potrzeby. Na 100% zmieścimy się w o wiele większych wydatkach. U mnie jest to 120 dolarów.xx§
  • Current usage – tutaj możemy przeczytać, ile zużyliśmy w bieżącym okresie rozliczeniowym. Jest to liczba zaokrąglona do pełnego centa, więc na początku nie będziemy tu nic widzieć. W tej chwili u mnie jest tutaj 44 centy.
  • Hard limit – tutaj możemy ustawić maksymalny limit wydatków w okresie obliczeniowym. Po jego osiągnięciu, nasz dostęp przestanie działać. Ja ustawiłem to na 20 dolarów.
  • Soft limit – jest to limit, po którym zostanie nam wysłany mail ostrzegający przed przekroczeniem limitu płatności. U mnie jest to 10 dolarów.

Po ustawieniu własnych limitów, klikamy Save.

Zobacz również: Visual ChatGPT od Microsoft

Pobieranie yt-dlp

Po pierwsze, instalujemy yt-dlp – darmowe narzędzie do pobierania filmów z różnych stron (w tym również YouTube), działa na wszystkich systemach.

yt-dlp jest nową wersją znanego programu YouTube-dl. Wbrew nazwie, potrafi o wiele więcej, niż pobrać filmy z YouTube. Obsługuje setki innych serwisów z filmami. Działa on z linii poleceń, co pozwala nam na automatyzację.

Skąd wziąć yt-dlp? Najlepiej z oficjalnego źródła. Jest to strona GitHub projektu, gdzie znajdują się skompilowane wersje na każdy system. Na MacOS możemy też użyć polecenia brew, jeśli używasz tego narzędzia do instalowania pakietów:

brew install yt-dlp

Pobieranie filmu w formie MP3

W sieci istnieje wiele narzędzi, umożliwiających pobieranie plików MP3 stanowiących ścieżkę dźwiękową filmu na YouTube. Są to często strony zawalone reklamami, skryptami śledzącymi, oraz proszące o różne uprawnienia. Dzięki narzędziu yt-dlp zrobimy to od razu w jednym kroku, czyli pobierzemy za jego pomocą film od razu do formy MP3:

yt-dlp -x --audio-format mp3 "https://www.youtube.com/watch?v=[tutaj-adres-filmu]"

Zostanie pobrany plik MP3, i nazwany tak jak tytuł filmu. Będzie więc zawierał zapewne dużo dodatkowych znaków, emoji etc. Warto zmienić mu nazwę na coś prostszego.

Wysyłanie pliku MP3 do usługi transkrypcji OpenAI

Pobrany plik MP3 wysyłamy do usługi transkrypcji w OpenAI. W celu wywołania REST-owego API można użyć np. curl

Na systemach Uniksowych (Linux, Macos) narzędzie to jest dostępne od razu. Tak chyba wciąż nie jest w Windows. W tym celu musimy je doinstalować z oficjalnej strony. Możemy tez użyć Windowsowego podsystemu Linux (Windows Subsystem for Linux).

curl https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F file="@plik.mp3" \
-F model="whisper-1" \
-F response_format="text"

Wszystko powyżej to jedno, wielolinijkowe polecenie. Znak backslash mówi powłoce systemu, aby kontynuowała polecenie w kolejnej linijce.

W ten sposób wywołujemy usługę REST OpenAI, a w niej metodę cranscriptions. Polecenie jest tak napisane, aby wykorzystać klucz API zapisany w zmiennej środowiskowej – możesz go jednak zamienić na wartość klucza. Polecenie wymaga podania modelu, jednak do „wyboru” jest tylko jeden: whisper-1.

Napisy do filmu YouTube lub podcastu już na naszym komputerze

Po chwili otrzymujemy bardzo dobrze zrobioną transkrypcję (po polsku praktycznie bez pomyłek). Będzie ona zwrócona bezpośrednio na konsolę, więc jeśli chcemy zachować ją w pliku, możemy na samym końcu polecenia napisać przekierowanie strumienia:

> plik.txt

Model powinien sam rozpoznać język – jeśli nie, można mu pomóc odpowiednią opcją:

language="kod_języka"

Kod języka podajemy zgodnie ze standardem ISO 639-1 czyli np. pl dla polskiego, de dla niemieckiego etc. W testach, które przeprowadziłem, okazało się, że niemiecki, angielski i polski rozpoznawane są bez problemów.

Możliwe wartości do podania w parametrze response_format:

  • text – forma tekstowy
  • json – prosty format JSON, zawierający praktycznie jedno pole {"text":""} gdzie znajdzie się całość tekstu.
  • srt i vtt. Te dwa ostatnie to tzw. subtitles, czyli zawierają również oznaczenia czasu umożliwiające synchronizację z filmem i np. wrzucenie do YouTube jako napisy.

Transkrypcja działa zaskakująco dobrze i szybko. Trzeba poprawić czasami jedynie nazwy własne, skrótowce, no i niewyraźnych rozmówców.

Masz gotowe napisy do filmu YouTube lub transkrypcję podcastu!

Napisy do filmu Youtube i ich stworzenie jest teraz drobnostką! To, co kiedyś sporo kosztowało (zarówno ludzkiej pracy, czasu, jak i pieniędzy), stało się teraz dostępne praktycznie natychmiast za dosłowne ułamki centa.

Udanych transkrypcji!

Komentarze |0|

Legenda *) Pola oznaczone gwiazdką są wymagane
**) Możesz używać tych znaczników i atrybutów HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>