Tech Zajawka / AI / poradnik

Lokalna transkrypcja polskiego audio na Windows: Buzz i modele Whisper krok po kroku

Jak zamienić polskie nagranie na tekst w całości na własnym komputerze: instalacja Buzz na Windows, wybór modelu i typu Whispera, ustawienie transkrypcji zamiast tłumaczenia, eksport TXT i SRT, poprawianie nazw własnych oraz radzenie sobie z ciszą i halucynacjami modelu.

AI M1lczu 36 min czytania
Okładka: Lokalna transkrypcja polskiego audio na Windows: Buzz i modele Whisper krok po kroku

Nagranie wykładu, wywiadu albo własnego podcastu można zamienić na tekst bez wysyłania pliku do jakiejkolwiek usługi w internecie. Wystarczy komputer z Windows i program Buzz, czyli darmowa nakładka graficzna na model rozpoznawania mowy Whisper od OpenAI. Buzz transkrybuje i tłumaczy dźwięk offline, na komputerze osobistym, korzystając z Whispera (Buzz - Introduction (dokumentacja)). Poniższy poradnik prowadzi od pobrania instalatora, przez pierwszą transkrypcję polskiego nagrania, po eksport napisów SRT i poprawianie nazw własnych.

Zakres: procedury i nazwy opcji pochodzą z dokumentacji Buzz i Whispera, bez pomiarów wydajności na konkretnym sprzęcie - zamiast wyników jest tu metoda własnego porównania.

Dla kogo jest ten scenariusz

Scenariusz zakłada jedną, dość typową sytuację: na dysku leży plik audio lub wideo z polską mową, na przykład nagrany wykład, rozmowa lub własny materiał wideo, i potrzebny jest z niego tekst. Efektem ma być plik TXT do dalszej redakcji albo plik SRT z napisami do zmontowania z obrazem. Przetwarzanie odbywa się w całości na własnym komputerze, bez konta, bez abonamentu i bez wysyłania nagrania na cudzy serwer.

Kilka pojęć, które pojawiają się dalej i warto je uporządkować od razu.

Transkrypcja to zamiana mowy na tekst w tym samym języku, w którym mówiono. Tłumaczenie to zamiana mowy na tekst w innym języku. W Buzz są to dwa różne zadania i mylenie ich jest najczęstszą przyczyną rozczarowania: opcja Task ma wartości "Transcribe" oraz "Translate to English", przy czym "Transcribe" zamienia dźwięk wejściowy na tekst w wybranym języku, a "Translate to English" zamienia go na tekst angielski; domyślna wartość to "Transcribe" (Buzz - Live Recording). Dla polskiego nagrania, z którego ma powstać polski tekst, właściwym wyborem jest zawsze "Transcribe".

Whisper to model rozpoznawania mowy udostępniony przez OpenAI, ogólnego przeznaczenia, wytrenowany na dużym i zróżnicowanym zbiorze nagrań, obsługujący wielojęzyczne rozpoznawanie mowy, tłumaczenie mowy i identyfikację języka (OpenAI Whisper - README). Model w tym kontekście to plik z wagami sieci neuronowej, pobierany raz i zapisywany lokalnie. Backend, w Buzz nazywany typem Whispera, to konkretna implementacja uruchamiająca ten model: różne implementacje tego samego modelu różnią się szybkością i zapotrzebowaniem na pamięć.

SRT i VTT to formaty plików z napisami, w których każdy fragment tekstu ma przypisany czas początku i końca. TXT to zwykły tekst bez znaczników czasu.

Wymagania i przygotowanie

Do pracy potrzebne są trzy rzeczy: odpowiednio nowy procesor, miejsce na dysku i połączenie z internetem na czas pobrania modelu.

Procesor musi obsługiwać instrukcje AVX2 - dokumentacja Buzz zaznacza, że aplikacja wymaga wsparcia AVX2 i bardzo stare komputery nie są obsługiwane (Buzz - FAQ). To pierwsza rzecz do zweryfikowania na starszej maszynie, bo bez tego program nie ruszy niezależnie od pozostałych ustawień.

Karta graficzna nie jest konieczna, ale zmienia komfort pracy. Na Windows obsługa GPU jest zawarta w instalatorze .exe, wymagane jest CUDA 12, a komputery ze starszymi wersjami CUDA będą korzystać z procesora (Buzz - FAQ). Dodatkowo dokumentacja podpowiada, że w razie problemów z wydajnością można sięgnąć po mniejszy model lub model Whisper.cpp, a przy dostępie do komputera z GPU mającym co najmniej 6 GB VRAM warto spróbować modelu Faster Whisper (Buzz - FAQ).

Miejsce na dysku zajmują dwie rzeczy: sama aplikacja oraz pobierane modele. Instalator Windows jest duży, a modele dochodzą osobno: w sekcji wydań na GitHub oba pliki .bin mają łącznie ponad 2,5 GB (Buzz - najnowsze wydanie na GitHub), a archiwum ZIP dla Windows na SourceForge jest podobnej wielkości (Buzz - pliki instalacyjne na SourceForge). Warto zaplanować kilkanaście gigabajtów zapasu, jeżeli w planach jest testowanie kilku rozmiarów modelu.

Internet potrzebny jest do pobrania instalatora i modeli. Później praca może przebiegać bez sieci. Opisany jest nawet scenariusz komputera całkowicie odciętego od internetu: modele można pobrać na innym komputerze i ręcznie przenieść, a najprostszy sposób odnalezienia katalogu z modelami to Help -> Preferences -> Models, pobranie dowolnego modelu i kliknięcie przycisku Show file location (Buzz - FAQ).

Prywatność i zgody

Lokalna transkrypcja oznacza, że nagranie nie opuszcza komputera, o ile nie zostanie świadomie wybrana opcja korzystająca z chmury. Buzz taką opcję ma: w Preferencjach można ustawić klucz API do OpenAI, a domyślnym adresem jest https://api.openai.com/v1/ (Buzz - Preferences). Wybranie typu modelu korzystającego z API oznacza wysłanie dźwięku na zewnętrzny serwer, czyli dokładne przeciwieństwo scenariusza opisanego w tym poradniku. Podobnie działają wtyczki generujące streszczenie transkryptu przy użyciu API zgodnego z OpenAI, które wymagają klucza API i adresu bazowego (Buzz - Plugins).

Osobna kwestia to dane telemetryczne samej aplikacji. Buzz zbiera podstawowe statystyki o nazwie i architekturze systemu operacyjnego, żeby lepiej ukierunkować rozwój, a zmienna środowiskowa BUZZ_DISABLE_TELEMETRY pozwala wyłączyć zbieranie tych statystyk (Buzz - Preferences). Dotyczy to informacji o systemie, nie treści nagrań.

Trzecia sprawa dotyczy tego, co w ogóle wolno transkrybować. Karta modelu Whisper zawiera wyraźne ostrzeżenie przed używaniem modeli do transkrypcji nagrań osób zarejestrowanych bez ich zgody oraz odradza stosowanie ich w domenach wysokiego ryzyka, gdzie błędy dokładności przekładają się na poważne skutki decyzji (OpenAI Whisper - Model Card). To stanowisko twórcy modelu, nie porada prawna. Przepisy dotyczące nagrywania rozmów, przetwarzania danych osobowych i wykorzystania nagrań w pracy albo na uczelni różnią się w zależności od sytuacji, a w wątpliwych przypadkach właściwym adresatem pytania jest prawnik lub inspektor ochrony danych w danej instytucji, nie instrukcja techniczna. Praktyczne minimum przed rozpoczęciem: pewność, że nagranie zostało wykonane za wiedzą uczestników i że jego dalsze wykorzystanie mieści się w tym, na co się zgodzili.

Instalacja na Windows

Buzz jest dostępny na Mac, Windows i Linux (Buzz - Introduction (dokumentacja)). Pliki instalacyjne publikowane są w dwóch miejscach: dokumentacja kieruje na SourceForge (Buzz - repozytorium GitHub (README)) (Buzz - Installation), a te same wydania trafiają do sekcji wydań na GitHub (Buzz - najnowsze wydanie na GitHub). Format jest w każdym z nich inny: SourceForge udostępnia dla Windows jedno archiwum ZIP (Buzz - pliki instalacyjne na SourceForge), a sekcja wydań GitHub zestaw z pliku .exe i dwóch plików .bin (Buzz - najnowsze wydanie na GitHub). Poniższa procedura dotyczy wyłącznie zestawu z GitHub, ponieważ to tam podano wprost, z jakich plików składa się instalacja dla Windows. Trzymanie się jednego kanału w obrębie jednej instalacji to zwykła ostrożność, nie wymóg z dokumentacji.

  1. Otworzyć stronę najnowszego wydania Buzz na GitHub i odnaleźć listę plików dla Windows (Buzz - najnowsze wydanie na GitHub).
  2. Pobrać wszystkie trzy pliki dla Windows, czyli jeden *.exe oraz oba pliki *.bin, do tego samego katalogu (Buzz - najnowsze wydanie na GitHub). Instrukcja wydania wymaga kompletu, a proporcje mówią same za siebie: sam plik *.exe ma kilka megabajtów, natomiast oba pliki *.bin liczą łącznie ponad 2,5 GB (Buzz - najnowsze wydanie na GitHub).
  3. Uruchomić pobrany plik *.exe (Buzz - najnowsze wydanie na GitHub). Aplikacja nie jest podpisana cyfrowo, więc podczas instalacji pojawi się ostrzeżenie systemu; dokumentacja instruuje, aby wybrać More info, a następnie Run anyway (Buzz - Installation). W polskiej wersji Windows odpowiada temu komunikat SmartScreen z odnośnikiem "Więcej informacji" i przyciskiem "Uruchom mimo to".
  4. Dokończyć instalację zgodnie z kreatorem i uruchomić Buzz.

Co dokładnie oznacza to ostrzeżenie

Warto rozróżnić dwa różne komunikaty, bo wyglądają podobnie, a znaczą co innego.

Pierwszy to ostrzeżenie o nieznanym wydawcy, wyświetlane przez filtr reputacji, gdy plik nie ma podpisu cyfrowego rozpoznawanego wydawcy albo jest jeszcze zbyt rzadko spotykany, by zbudować reputację. Dokładnie ten przypadek opisuje dokumentacja Buzz, stwierdzając, że aplikacja nie jest podpisana i pojawi się ostrzeżenie przy instalacji (Buzz - Installation). Taki komunikat nie jest informacją o wykryciu szkodliwego kodu.

Drugi to alert programu antywirusowego lub Microsoft Defender o wykryciu konkretnego zagrożenia, zwykle z nazwą rodziny szkodliwego oprogramowania. To zupełnie inna sytuacja i nie należy jej obchodzić. Właściwą reakcją jest przerwanie instalacji, usunięcie pobranego pliku i ustalenie, skąd pochodził, zanim podejmie się jakąkolwiek dalszą próbę.

Trzy zasady, które warto zachować niezależnie od tego, jak niewygodne wydaje się ostrzeżenie.

Nie wyłączać SmartScreen, ochrony w czasie rzeczywistym ani programu antywirusowego globalnie, żeby zainstalować jeden program. Ochrona wyłączona na czas instalacji zostaje wyłączona także dla wszystkiego, co uruchomi się później, a koszt takiej zmiany jest nieproporcjonalny do wygody.

Przycisk „Uruchom mimo to” dotyczy wyłącznie ostrzeżenia SmartScreen o reputacji, nie alertu antywirusa. Samo pobranie pliku z oficjalnego repozytorium (Buzz - najnowsze wydanie na GitHub) nie uzasadnia dodawania go do wyjątków Defendera ani przywracania z kwarantanny. Przy wykryciu zagrożenia instalację trzeba przerwać, bez wyłączania ochrony.

Z instalacji można się w każdej chwili wycofać. Zamknięcie okna ostrzeżenia i nieuruchamianie pliku nie powoduje żadnych zmian w systemie, a pobrany plik da się po prostu usunąć. Poczucie, że skoro coś zostało pobrane, to trzeba to zainstalować, jest złym doradcą; jeżeli pochodzenie pliku budzi wątpliwość, przerwanie jest tanie i całkowicie odwracalne.

Wersje rozwojowe, z najnowszymi poprawkami, publikowane są jako artefakty budowania w serwisie GitHub Actions i wymagają zalogowania w GitHub, żeby zobaczyć odnośniki do pobrania (Buzz - FAQ). Do pierwszego kontaktu z programem lepiej nadaje się zwykłe wydanie.

Istnieje też droga instalacji przez PyPI, poleceniem pip install buzz-captions i uruchomieniem python -m buzz, przy czym wymaga ona wcześniejszej instalacji ffmpeg i środowiska Python 3.12 (Buzz - repozytorium GitHub (README)). Ta ścieżka jest przeznaczona dla osób pracujących na co dzień z Pythonem i nie jest potrzebna, gdy dostępny jest gotowy instalator.

Wybór modelu i typu Whispera

To jedyny moment w całej procedurze, który wymaga zastanowienia. Reszta jest mechaniczna.

Rozmiar modelu

Whisper występuje w sześciu rozmiarach, przy czym cztery mają wersje wyłącznie angielskie; dokumentacja podaje przybliżone wymagania pamięci i szybkość względem modelu large (OpenAI Whisper - README). Zestawienie z oficjalnego opisu wygląda następująco: tiny ma 39 mln parametrów i wymaga około 1 GB VRAM, base 74 mln i około 1 GB, small 244 mln i około 2 GB, medium 769 mln i około 5 GB, large 1550 mln i około 10 GB, a turbo 809 mln i około 6 GB (OpenAI Whisper - README).

Podane w tej tabeli prędkości względne zostały zmierzone na transkrypcji mowy angielskiej na karcie A100, a rzeczywista szybkość może się znacznie różnić w zależności od wielu czynników, w tym języka, tempa mowy i dostępnego sprzętu (OpenAI Whisper - README). Innymi słowy, liczby z tabeli nie są prognozą czasu transkrypcji na domowym laptopie.

Dla polskiego nagrania kluczowa jest jedna zasada: modele z oznaczeniem .En w nazwie są przeznaczone dla angielskiego i nie zadziałają dla innych języków (Buzz - FAQ). Wybór small.en zamiast small do polskiego materiału jest błędem, którego skutkiem będzie bezużyteczny wynik.

Dokumentacja Buzz podaje też praktyczną wskazówkę dotyczącą rozmiaru: mniejsze modele działają szybciej, ale mają więcej niedokładności, większe są dokładniejsze, lecz wymagają mocniejszego sprzętu albo dłuższego czasu (Buzz - FAQ). Przy wyborze wśród dużych modeli warto wziąć pod uwagę ich chronologię: "Large" to pierwszy, starszy model, "Large-V2" to późniejsza aktualizacja o lepszej dokładności, dla części języków uznawana za najbardziej odporną i stabilną, "Large-V3" to najnowszy model o najlepszej dokładności w wielu przypadkach, który jednak czasem halucynuje lub wymyśla słowa, których w nagraniu nie było, natomiast model "Turbo" stara się osiągnąć dobrą równowagę między szybkością a dokładnością (Buzz - FAQ). Po stronie OpenAI opis jest zbieżny: model turbo to zoptymalizowana wersja large-v3, oferująca szybszą transkrypcję przy minimalnym pogorszeniu dokładności (OpenAI Whisper - README).

Dokumentacja Buzz kończy ten wątek zdaniem, które warto potraktować dosłownie: jedynym pewnym sposobem sprawdzenia, który model najlepiej odpowiada danym potrzebom, jest przetestowanie wszystkich w swoim języku (Buzz - FAQ).

Praktyczny punkt startowy dla polskiego materiału to model średniej wielkości przy pierwszej próbie na krótkim fragmencie, a następnie decyzja: jeżeli jakość wystarcza, zostaje mniejszy model i krótszy czas; jeżeli nie, warto sięgnąć po większy. Model tiny nadaje się głównie do zorientowania się, czy cała ścieżka działa, a nie do produkcyjnej transkrypcji.

Jedna uwaga na wypadek pokusy tłumaczenia: model turbo nie został wytrenowany do zadań tłumaczenia, a do tłumaczenia mowy nieangielskiej na angielski dokumentacja Whispera zaleca modele wielojęzyczne tiny, base, small, medium lub large (OpenAI Whisper - README). Dla samej polskiej transkrypcji nie ma to znaczenia, ale ma, gdy w drugim kroku ktoś zechce wygenerować napisy angielskie.

Typ Whispera

Poza rozmiarem modelu można wybrać także typ Whispera, czyli implementację. Dokumentacja Buzz opisuje je tak: Whisper to pierwotna implementacja OpenAI, dokładna, ale wolna i wymagająca dużo pamięci RAM; Faster Whisper to implementacja zoptymalizowana, o rzędy wielkości szybsza od zwykłego Whispera i wymagająca mniej RAM, zalecana przy karcie Nvidia z co najmniej 6 GB VRAM; Whisper.cpp to zoptymalizowana implementacja w C++, dość szybka i wydajna, korzystająca z GPU dowolnej marki, zdolna do transkrypcji w czasie rzeczywistym nawet na nowoczesnym laptopie ze zintegrowanym układem graficznym, działająca również wyłącznie na procesorze, zalecana przy braku karty Nvidia; HuggingFace to implementacja oparta o bibliotekę Transformers, ceniona za obsługę szerokiego zakresu modeli własnych, które mogą być zoptymalizowane pod konkretny język (Buzz - FAQ).

Dla typowego komputera z Windows bez karty Nvidia rozsądnym domyślnym wyborem jest Whisper.cpp. Dla komputera z odpowiednio mocną kartą Nvidia i CUDA 12 warto rozważyć Faster Whisper.

Ostatnia opcja, HuggingFace, ma znaczenie dla języka polskiego z innego powodu: pozwala sięgnąć po modele dostrojone pod konkretny język. Dokumentacja Buzz odsyła w tej sprawie do strony dyskusji o modelach niestandardowych w różnych językach (Buzz - Preferences). Osobom niezaznajomionym z ekosystemem HuggingFace lepiej zacząć od standardowych modeli Whisper.

Gdzie trafiają pobrane modele

Na Windows modele przechowywane są w katalogu %USERPROFILE%\AppData\Local\Buzz\Buzz\Cache, a ścieżkę tę można wkleić w menedżerze plików albo dotrzeć do niej przez Help -> Preferences -> Models i przycisk Show file location po pobraniu jakiegoś modelu (Buzz - FAQ). Katalog docelowy da się też zmienić zmienną środowiskową BUZZ_MODEL_ROOT, przy czym dokumentacja zaleca ustawienie także HF_HOME na ten sam katalog, bo część bibliotek wykorzystywanych w Buzz pobiera swoje modele niezależnie (Buzz - Preferences).

Modele pobiera się i usuwa w sekcji ustawień przeznaczonej do pobierania nowych modeli do transkrypcji i kasowania nieużywanych (Buzz - Preferences). Dla Whisper.cpp dostępne są też modele własne: w liście rozmiarów modelu wybiera się Custom i wkleja adres pobierania pliku .bin, korzystając z odnośnika spod przycisku pobierania w serwisie HuggingFace (Buzz - Preferences). Aby poprawić szybkość transkrypcji i zużycie pamięci, można wybrać skwantyzowaną wersję większego modelu, na przykład wariant q_5 (Buzz - Preferences).

Procedura: od pliku do transkryptu

Poniższe kroki opisują pełną drogę dla pojedynczego polskiego nagrania.

  1. Uruchomić Buzz i otworzyć Preferencje. Okno Preferencji otwiera się z paska menu albo skrótem Ctrl/Cmd + , (Buzz - Preferences). W sekcji modeli pobrać wybrany model, na przykład wielojęzyczny model średniego rozmiaru dla typu Whisper.cpp. Pobieranie trwa tyle, ile pozwala łącze, a rozmiar pliku rośnie wraz z rozmiarem modelu. Ten krok wykonuje się raz.
  2. Zaimportować plik. Zgodnie z dokumentacją: kliknąć Import Media File w menu File, albo ikonę "+" na pasku narzędzi, albo użyć skrótu Command/Ctrl + O, a następnie wybrać plik audio lub wideo (Buzz - File Import). Buzz przyjmuje zarówno pliki dźwiękowe, jak i wideo, więc nie trzeba wcześniej wyodrębniać ścieżki dźwiękowej z materiału filmowego.
  3. Ustawić zadanie na transkrypcję. W polu Task pozostawić lub wybrać "Transcribe"; wartość "Translate to English" przełożyłaby polską mowę na tekst angielski (Buzz - Live Recording).
  4. Ustawić język na polski. Domyślną wartością pola Language jest "Detect Language", które próbuje rozpoznać język na podstawie pierwszych kilku sekund nagrania, jednak dokumentacja zaleca wybranie języka, jeżeli jest znany, ponieważ w wielu przypadkach poprawia to jakość transkrypcji (Buzz - Live Recording). Osobna wskazówka w opisie importu plików powtarza to jeszcze mocniej: zaleca się zawsze wybierać język transkrypcji, ponieważ automatyczne wykrywanie języka może dać nieoczekiwane rezultaty (Buzz - File Import). Polski występuje na liście języków obsługiwanych przez Buzz pod kodem pl (Buzz - CLI). To ustawienie jest najważniejszym pojedynczym czynnikiem odróżniającym dobry wynik od dziwacznego, zwłaszcza gdy nagranie zaczyna się od ciszy, muzyki albo angielskiej wtrętowej frazy.

Gdy polski ma być stale na wierzchu listy, pomaga zmienna środowiskowa BUZZ_FAVORITE_LANGUAGES, przyjmująca rozdzieloną przecinkami listę kodów języków wyświetlanych na górze listy (Buzz - Preferences). 5. Wybrać model i typ Whispera zgodnie z rozważaniami z poprzedniej sekcji. 6. Ustawić format eksportu. Pole Export As przyjmuje wartości "TXT", "SRT" i "VTT", a domyślną jest "TXT" (Buzz - File Import). Dla tekstu do redakcji wystarczy TXT; dla napisów do wideo właściwy jest SRT. 7. Rozważyć znaczniki czasu na poziomie słów. Opcja Word-Level Timings jest domyślnie wyłączona, a po zaznaczeniu transkrypcja wygeneruje osobną linię napisów dla każdego słowa w nagraniu, przy czym słowa można potem połączyć w napisy narzędziem zmiany rozmiaru segmentów (Buzz - File Import). Do zwykłego tekstu opcja jest zbędna. Do napisów, które mają być później precyzyjnie dopasowane, warto ją włączyć, bo od niej zależy zakres późniejszych możliwości montażu napisów. 8. Rozważyć wydobycie mowy przy hałaśliwym nagraniu. Opcja Extract speech jest domyślnie wyłączona, a po zaznaczeniu mowa zostanie wydobyta do osobnej ścieżki dźwiękowej w celu poprawy dokładności (Buzz - File Import). Ma to sens dla nagrań z szumem, wiatrem lub muzyką w tle; dla czystego nagrania z mikrofonu tylko wydłuża pracę. 9. W razie potrzeby wpisać prompt początkowy. Aby ograniczyć błędy pisowni, można podać często błędnie zapisywane słowa w polu Initial prompt, dostępnym pod przyciskiem Advanced... (Buzz - File Import). Szczegóły tej techniki opisano w dalszej części poradnika. 10. Kliknąć Run (Buzz - File Import). 11. Poczekać na status "Completed" i otworzyć wynik. Gdy status transkrypcji pokaże 'Completed', należy dwukrotnie kliknąć wiersz na liście albo zaznaczyć wiersz i kliknąć ikonę '⤢', co otworzy transkrypcję (Buzz - File Import).

Oczekiwany wynik. Procedura zakończyła się sukcesem, gdy spełnione są trzy warunki naraz: wiersz na liście ma status "Completed"; otwarty transkrypt zawiera polski tekst zapisany polskimi znakami diakrytycznymi, a nie tekst angielski ani ciąg powtórzeń; wyrywkowe odsłuchanie dwóch lub trzech miejsc w nagraniu zgadza się z tym, co widać w odpowiadających im segmentach. Trzeci warunek jest istotny, bo transkrypcja może wyglądać poprawnie, a mimo to rozminąć się z treścią.

Pierwszą próbę najlepiej wykonać na krótkim fragmencie, rzędu jednej lub dwóch minut. Skraca to pętlę informacji zwrotnej przy dobieraniu modelu i ustawień, zamiast czekać kilkadziesiąt minut na wynik, który i tak trafi do kosza.

Przeglądanie i poprawianie transkryptu

Widok transkrypcji w Buzz to nie tylko podgląd. Zawiera górny pasek narzędzi z trybem widoku, eksportem, tłumaczeniem, zmianą rozmiaru segmentów i wyszukiwaniem, pasek wyszukiwania, tabelę segmentów transkrypcji ze znacznikami czasu, kontrolki odtwarzania, odtwarzacz dźwięku oraz podgląd bieżącego segmentu (Buzz - Transcription Viewer).

Tryby widoku to Timestamps, pokazujący segmenty w formie tabeli z czasem początku i końca, Text, pokazujący połączony tekst bez znaczników czasu, oraz Translation, pokazujący tekst przetłumaczony, jeżeli jest dostępny (Buzz - Transcription Viewer).

Do korekty najbardziej przydatne są funkcje odtwarzania sprzężonego z tekstem. Opcja "Follow Audio" powoduje automatyczne przewijanie transkryptu do bieżącej pozycji odtwarzania, co ułatwia śledzenie długich nagrań (Buzz - Transcription Viewer). Opcja "Loop Segment" powoduje, że kliknięcie segmentu transkryptu ustawia zakres pętli, a zakres ten jest podświetlony w odtwarzaczu (Buzz - Transcription Viewer). Prędkość odtwarzania regulowana jest w zakresie od 0,5x do 2,0x, z listą rozwijaną prędkości oraz przyciskami zmniejszania i zwiększania o 0,05x, a ustawienie prędkości jest zapamiętywane między sesjami (Buzz - Transcription Viewer). Spowolnienie do 0,75x przy niewyraźnym fragmencie jest zwykle skuteczniejsze niż wielokrotne odsłuchiwanie w normalnym tempie.

Przydatne skróty klawiszowe w tym widoku: Ctrl+F przełącza pasek wyszukiwania, Enter znajduje następne dopasowanie, Shift+Enter poprzednie, Escape zamyka pasek wyszukiwania; Ctrl+P odtwarza i pauzuje dźwięk, Ctrl+Shift+P odtwarza ponownie bieżący segment od początku; Ctrl+G przewija do bieżącej pozycji; Ctrl+Alt+P przełącza panel kontrolek odtwarzania (Buzz - Transcription Viewer). Wyszukiwanie działa w czasie rzeczywistym, nie rozróżnia wielkości liter i działa we wszystkich trybach widoku (Buzz - Transcription Viewer).

Czasy segmentów da się korygować z klawiatury: Ctrl+strzałka w lewo zmniejsza czas początku segmentu o 0,5 s, Ctrl+strzałka w prawo zwiększa go o 0,5 s, a te same skróty z dodanym Shift zmieniają analogicznie czas końca segmentu (Buzz - Transcription Viewer).

Eksport z tego widoku obejmuje formaty SRT, VTT, TXT, JSON i inne, a wywołuje się go kliknięciem przycisku otwierającego menu eksportu i wyborem formatu (Buzz - Transcription Viewer). Warto zauważyć, że lista formatów w widoku transkrypcji jest szersza niż lista dostępna w oknie importu pliku, gdzie do wyboru są TXT, SRT i VTT (Buzz - File Import).

Nazwę pliku eksportu można wcześniej ustalić szablonem. Preferencje pozwalają ustawić domyślną nazwę pliku eksportu dla transkrypcji plików; przykładowa wartość {{ input_file_name }} ({{ task }}d on {{ date_time }}) zapisze eksport TXT domyślnie jako Input Filename (transcribed on 19-Sep-2023 20-39-25).txt (Buzz - Preferences). Dostępne zmienne to input_file_name, czyli nazwa pliku zaimportowanego, task z wartościami transcribe lub translate, language z kodem języka, model_type z typem modelu, model_size z rozmiarem modelu oraz date_time z czasem eksportu (Buzz - Preferences). Przy dłuższej serii nagrań pozwala to uniknąć bałaganu w nazwach i późniejszego zgadywania, którym modelem powstał dany plik.

Napisy: łączenie i przycinanie segmentów

Gdy celem są napisy, sam eksport SRT to za mało, bo domyślne segmenty bywają za długie albo źle podzielone. Buzz ma na to osobne narzędzie. Po wygenerowaniu transkryptu pliku audio lub wideo można go edytować i eksportować do różnych formatów napisów lub zwykłego tekstu, a dwukrotne kliknięcie transkryptu na liście odsłania dodatkowe opcje edycji i eksportu; przycisk "Resize" w widoku transkrypcji pokazuje dostępne opcje (Buzz - Edit and Resize).

Tu ujawnia się konsekwencja wcześniejszej decyzji o znacznikach czasu na poziomie słów. Transkrypty wygenerowane z włączonym ustawieniem znaczników na poziomie słów można łączyć w napisy z podaniem różnych opcji, jak maksymalna długość napisu i to, czy napisy mają być dzielone na znakach interpunkcyjnych; transkrypty wygenerowane bez tego ustawienia można łączyć jedynie z podaniem żądanej maksymalnej długości napisu (Buzz - Edit and Resize). Dodatkowo, jeżeli plik dźwiękowy nadal znajduje się w systemie, łączenie oparte o znaczniki na poziomie słów przeanalizuje także dźwięk pod kątem ciszy, aby poprawić dokładność napisów (Buzz - Edit and Resize).

Narzędzie zmiany rozmiaru ma również opcję wydłużenia czasu końca segmentów, gdy napisy mają dłużej pozostawać na ekranie; podaje się liczbę sekund, o którą każdy segment zostanie wydłużony, a Buzz pilnuje, aby koniec segmentu nie wszedł na początek następnego, przy czym funkcja jest dostępna od wersji 1.4.3 (Buzz - Edit and Resize).

Poprawianie nazw własnych: prompt początkowy

Rozpoznawanie mowy potyka się na nazwiskach, nazwach firm, produktów i skrótach branżowych. W polskim materiale dochodzą do tego wtręty angielskie, zwykle zapisywane fonetycznie albo w przypadkowej pisowni.

Buzz udostępnia na to pole Initial prompt pod przyciskiem Advanced..., którego zadaniem jest ograniczenie błędów pisowni przez podanie często mylonych słów, a dokumentacja odsyła w tej sprawie do przewodnika po promptowaniu Whispera (Buzz - File Import).

Ten przewodnik opisuje mechanizm dokładniej. Prompt ma pomagać w sklejaniu wielu segmentów dźwięku, a przesłanie transkryptu poprzedniego segmentu pozwala modelowi lepiej zrozumieć mowę i zachować spójny styl zapisu (OpenAI Cookbook - Whisper prompting guide). Prompty nie muszą jednak być prawdziwymi transkryptami: można przesłać prompty fikcyjne, aby skierować model ku określonej pisowni lub stylowi (OpenAI Cookbook - Whisper prompting guide). Jedna z opisanych technik to właśnie przewodnik po pisowni, który mówi modelowi, jak zapisywać nazwiska osób, produktów, firm i tym podobne (OpenAI Cookbook - Whisper prompting guide).

Bardzo istotne są ograniczenia tej metody, opisane w tym samym miejscu. Promptowanie Whispera to nie to samo, co promptowanie modelu GPT: po przesłaniu instrukcji w rodzaju "Format lists in Markdown format" model nie zastosuje się do niej, ponieważ podąża za stylem promptu, a nie za zawartymi w nim poleceniami (OpenAI Cookbook - Whisper prompting guide). Prompt jest ograniczony do 224 tokenów, a jeżeli jest dłuższy, uwzględnione zostaną tylko końcowe 224 tokeny, a wszystkie wcześniejsze zostaną po cichu zignorowane (OpenAI Cookbook - Whisper prompting guide). Autorzy przewodnika zaznaczają wprost, że techniki te nie są szczególnie niezawodne, choć bywają przydatne (OpenAI Cookbook - Whisper prompting guide). Prompt nie unieważnia też tego, co model usłyszał: nie nadpisze rozumienia dźwięku przez model (OpenAI Cookbook - Whisper prompting guide).

Praktyczna postać promptu dla polskiego nagrania to krótki spis poprawnych zapisów, oddzielonych przecinkami, w rodzaju listy nazwisk prelegentów, nazwy instytucji i kilku terminów branżowych. Nie należy tam wpisywać poleceń dla modelu, bo nie zostaną wykonane. Warto też pamiętać, że przy dłuższym nagraniu prompt nie zapewni jednolitego zapisu w całym pliku, więc końcowa korekta pozostaje pracą ręczną, ułatwioną przez wyszukiwanie w widoku transkrypcji.

Cisza, szum i halucynacje

Najbardziej mylącym zachowaniem Whispera jest generowanie tekstu, którego w nagraniu nie było. Nie jest to usterka konkretnej aplikacji, tylko udokumentowana właściwość modelu: ponieważ modele trenowano w sposób słabo nadzorowany na dużych, zaszumionych danych, przewidywania mogą zawierać teksty, które w rzeczywistości nie zostały wypowiedziane w nagraniu wejściowym, czyli halucynacje (OpenAI Whisper - Model Card). Autorzy stawiają hipotezę, że dzieje się tak, ponieważ modele, dysponując ogólną wiedzą o języku, łączą przewidywanie następnego słowa z transkrypcją samego dźwięku (OpenAI Whisper - Model Card).

Druga typowa patologia to zapętlenie. Architektura sekwencja do sekwencji sprawia, że model jest podatny na generowanie powtarzalnych tekstów, co można częściowo ograniczyć przeszukiwaniem wiązkowym i harmonogramem temperatury, choć nie da się tego wyeliminować całkowicie (OpenAI Whisper - Model Card). Karta modelu dodaje, że takie zachowanie i halucynacje mogą być gorsze w językach o mniejszych zasobach danych i mniejszej wykrywalności (OpenAI Whisper - Model Card).

Ma to bezpośrednie przełożenie na polskie nagrania i na to, co widać na wyjściu. Fragmenty ciszy, muzyka w tle i dłuższe przerwy to typowe miejsca, w których pojawia się tekst wzięty znikąd albo wielokrotnie powtórzona ta sama fraza. Osobno warto pamiętać o różnicach między językami: modele działają nierównomiernie w różnych językach, z niższą dokładnością dla języków o mniejszych zasobach, i wykazują odmienną skuteczność dla różnych akcentów i dialektów, co może oznaczać wyższy współczynnik błędu słów dla osób różniących się płcią, pochodzeniem, wiekiem lub innymi kryteriami demograficznymi (OpenAI Whisper - Model Card).

Co z tym zrobić w praktyce.

Wybór modelu ma znaczenie: dokumentacja Buzz wskazuje, że Large-V3, mimo najlepszej dokładności w wielu przypadkach, czasem halucynuje lub wymyśla słowa, których w nagraniu nie było (Buzz - FAQ). Gdy w wyniku pojawiają się zmyślone fragmenty, warto porównać ten sam materiał na Large-V2, opisywanym dla części języków jako najbardziej odporny i stabilny (Buzz - FAQ).

Jakość dźwięku warto poprawić przed rozpoznawaniem, a nie po. Do tego służą dwa niezależne mechanizmy. Pierwszy to wspomniana opcja Extract speech, wydobywająca mowę do osobnej ścieżki w celu poprawy dokładności (Buzz - File Import). Drugi, opcjonalny mechanizm jest dostępny od Buzz 1.4.5: wtyczka usuwająca szum tła przy użyciu modelu DeepFilterNet przed rozpoczęciem transkrypcji (Buzz - Plugins). Jeśli zainstalowana wersja nie ma menu wtyczek, ten krok można pominąć - zwykła lokalna transkrypcja go nie wymaga. W obsługiwanej wersji wtyczki włącza się w menu Help -> Plugins, a odszumiony dźwięk zapisywany jest obok pliku źródłowego jako nowy plik z sufiksem _DeepFilterNet3.wav i domyślnie usuwany po zakończeniu transkrypcji (Buzz - Plugins).

Przycinanie ciszy na początku i końcu materiału może ograniczyć fragmenty wymagające korekty. Edycję należy wykonywać na kopii i zapisać wynik pod inną nazwą, zachowując oryginał. Przy napisach do pierwotnego filmu nie wolno zgubić osi czasu: usunięcie początku audio wymaga uwzględnienia tego przesunięcia w napisach; najprościej pozostawić początek nagrania bez przycinania.

Wreszcie, korekta jest częścią procedury, a nie oznaką porażki. Każdy transkrypt przeznaczony do publikacji lub cytowania wymaga przejrzenia z odsłuchem, do czego służy opisany wcześniej zestaw kontrolek odtwarzania i wyszukiwania.

Rozpoznawanie mówców

Rozpoznawanie mówców działa po transkrypcji, a nie w jej trakcie. Gdy transkrypt pliku audio lub wideo został wygenerowany, dwukrotne kliknięcie go na liście odsłania dodatkowe opcje edycji i eksportu. W widoku transkrypcji przycisk "Identify speakers" otwiera dostępne opcje rozpoznawania mówców (Buzz - Speaker identification). To osobny, opcjonalny etap - do uzyskania zwykłego tekstu lub napisów nie trzeba go uruchamiać.

Warunkiem działania jest obecność pliku źródłowego: jeżeli plik dźwiękowy nadal znajduje się w systemie, rozpoznawanie mówców oznaczy zdania każdego z nich odpowiednią etykietą, po czym można odsłuchać 10 sekund losowego zdania rozpoznanego mówcy i zmienić automatycznie nadaną etykietę na jego prawdziwe imię lub nazwisko (Buzz - Speaker identification). Jeżeli podczas zapisywania etykiet zaznaczone jest pole "Merge speaker sentences", wszystkie kolejne zdania tego samego mówcy zostaną połączone w jeden segment (Buzz - Speaker identification). Rozpoznawanie mówców nie jest dostępne na komputerach Mac z procesorami Intel (Buzz - Speaker identification), co na Windows nie stanowi ograniczenia.

Dokumentacja Buzz opisuje obsługę tej funkcji i możliwość odsłuchu oraz ręcznej zmiany etykiet, ale nie podaje poziomu trafności (Buzz - Speaker identification). Etykiety trzeba więc sprawdzić z nagraniem, szczególnie przy zmianach mówcy i nakładających się wypowiedziach. Przypisanie cudzej wypowiedzi niewłaściwej osobie bywa gorsze niż brak etykiety.

Karta modelu Whisper nie jest testem całego mechanizmu rozpoznawania mówców w Buzz. Opisuje przede wszystkim rozpoznawanie mowy i tłumaczenie oraz wskazuje ograniczenia oceny dodatkowych zastosowań (OpenAI Whisper - Model Card). W protokołach, cytatach i innych materiałach, w których ważne jest autorstwo wypowiedzi, ostateczne przypisanie musi wynikać z odsłuchu i wiedzy o uczestnikach, nie z samej automatycznej etykiety.

Poprawne porównanie: procesor, karta graficzna, modele

Porównanie wariantów ma sens tylko na własnym sprzęcie i własnym nagraniu, bo czas i jakość zależą naraz od komputera, materiału i języka. Dokumentacja Whispera mówi to wprost: rzeczywista szybkość może się znacznie różnić w zależności od wielu czynników, w tym języka, tempa mowy i dostępnego sprzętu (OpenAI Whisper - README).

Zasady rzetelnego porównania.

Materiał testowy musi być jeden i ten sam we wszystkich przebiegach: ten sam plik, ten sam fragment, najlepiej reprezentatywny dla typowej pracy, o długości kilku minut. Zbyt krótki fragment sprawia, że czas ładowania modelu zdominuje pomiar.

Zmieniać należy jedną rzecz naraz: albo typ Whispera, albo rozmiar modelu, albo urządzenie liczące. Porównanie, w którym równocześnie zmienił się model i backend, nie mówi nic o żadnym z nich.

Model trzeba pobrać przed pomiarem. Pierwszy przebieg wykonać osobno jako rozgrzewkowy, a porównywać kolejne przebiegi tego samego materiału. Jeśli używana wersja obsługuje wtyczki, na czas porównania wyłączyć Skip Already Transcribed, aby istniejący wynik nie zastąpił ponownej transkrypcji. (Buzz - Plugins) Wyniki poszczególnych wariantów eksportować pod osobnymi nazwami.

Wymuszenie pracy na procesorze ma gotowy przełącznik: zmienna środowiskowa BUZZ_FORCE_CPU zmusza Buzz do korzystania z procesora zamiast karty graficznej, co bywa przydatne przy starszych GPU, jeżeli okazują się wolniejsze albo sprawiają problemy, a przykładowe użycie to BUZZ_FORCE_CPU=true, przy czym zmienna jest dostępna od wersji 1.2.1 (Buzz - Preferences). Na Windows zmienne ustawia się przed uruchomieniem programu, na przykład tworząc plik run_buzz.bat z poleceniami set i uruchomieniem pliku wykonywalnego Buzz, albo ustawiając zmienne w ustawieniach systemu (Buzz - Preferences). Daje to uczciwe porównanie CPU kontra GPU na tym samym komputerze i tym samym materiale.

Dla Whisper.cpp istnieje jeszcze osobny parametr wydajności: BUZZ_WHISPERCPP_N_THREADS określa liczbę wątków używanych przez model Whisper.cpp, a domyślna wartość to połowa dostępnych rdzeni procesora (Buzz - Preferences). Podana jest przy tym konkretna obserwacja autorów, nie reguła uniwersalna: na laptopie z 16 wątkami ustawienie BUZZ_WHISPERCPP_N_THREADS=8 prowadzi do około 15 procent skrócenia czasu transkrypcji, natomiast dalsze zwiększanie liczby wątków wydłuży czas transkrypcji, ponieważ wyniki z równoległych wątków trzeba połączyć, aby uzyskać ostateczną odpowiedź (Buzz - Preferences). Wynika stąd praktyczny wniosek: liczbę wątków warto dobierać eksperymentalnie i nie zakładać, że więcej znaczy szybciej.

Przy porównywaniu jakości, a nie tylko czasu, konieczny jest stały punkt odniesienia: ten sam fragment, ręcznie spisany raz i porównywany z kolejnymi wynikami. Liczenie różnic można ograniczyć do prostych kategorii: nazwy własne, znaki diakrytyczne, interpunkcja, fragmenty zmyślone lub zapętlone, fragmenty pominięte. Bez takiego odniesienia ocena sprowadza się do wrażenia, że jeden wynik "wygląda lepiej".

Osobna zmienna wpływa na zużycie pamięci karty graficznej: ustawienie zmniejszania pamięci GPU korzysta z kwantyzacji ośmiobitowej dla transkrypcji HuggingFace, Faster Whisper i Whisper.cpp, aby zmniejszyć wymaganą pamięć GPU, a odpowiadająca mu zmienna to BUZZ_REDUCE_GPU_MEMORY, dostępna od wersji 1.4.0 (Buzz - Preferences). Warto ją potraktować jako kolejny wariant do porównania, gdy większy model nie mieści się w pamięci karty.

Typowe problemy i ich rozwiązania

Instalator kończy się błędem albo program nie startuje. Pierwsza rzecz do sprawdzenia: czy pobrano wszystkie trzy pliki. Instrukcja wydania wymaga jednego pliku *.exe i obu plików *.bin w tym samym katalogu, a następnie uruchomienia *.exe (Buzz - najnowsze wydanie na GitHub); sam plik *.exe ma kilka megabajtów, a niemal cała zawartość instalacji siedzi w plikach *.bin (Buzz - najnowsze wydanie na GitHub).

System blokuje instalację nieznanej aplikacji. Aplikacja nie jest podpisana, więc ostrzeżenie jest oczekiwane, a droga dalej prowadzi przez More info i Run anyway (Buzz - Installation).

Program nie uruchamia się na starszym komputerze. Buzz wymaga obsługi AVX2 w procesorze i bardzo stare komputery nie są obsługiwane (Buzz - FAQ).

Buzz zawiesza się lub przerywa działanie po pobraniu modelu. Jeżeli pobieranie modelu było niekompletne albo uszkodzone, Buzz może się wykrzaczyć; należy usunąć pobrane pliki modelu w Help -> Preferences -> Models i pobrać je ponownie (Buzz - FAQ). Jeżeli to nie pomoże, dokumentacja zaleca sprawdzenie pliku dziennika pod kątem błędów i zgłoszenie problemu, w miarę możliwości z załączonym plikiem dziennika, a do katalogu z dziennikami prowadzi Help -> About Buzz i przycisk Show logs (Buzz - FAQ).

Transkrypcja polskiego nagrania wychodzi po angielsku. Dwie możliwe przyczyny. Pierwsza to zadanie ustawione na "Translate to English", które zamienia dźwięk na tekst angielski (Buzz - Live Recording). Druga to model z oznaczeniem .En, przeznaczony wyłącznie dla angielskiego i niedziałający dla innych języków (Buzz - FAQ).

Wynik jest bezsensowny mimo poprawnego zadania. Typowo pomaga jawne ustawienie języka, ponieważ automatyczne wykrywanie języka może dać nieoczekiwane rezultaty i zaleca się zawsze wybierać język transkrypcji (Buzz - File Import). Wykrywanie opiera się na pierwszych kilku sekundach nagrania (Buzz - Live Recording), więc nagranie zaczynające się od dżingla, ciszy lub obcojęzycznej wtrętowej frazy jest szczególnie narażone na błędne rozpoznanie.

Transkrypcja trwa bardzo długo albo komputer przestaje nadążać. Odpowiedź w dokumentacji jest jednoznaczna: rozpoznawanie mowy wymaga dużej mocy obliczeniowej, więc jedną z opcji jest użycie mniejszego rozmiaru modelu Whisper albo modelu Whisper.cpp, a przy dostępie do komputera z GPU o co najmniej 6 GB VRAM można spróbować modelu Faster Whisper (Buzz - FAQ).

Karta Nvidia jest w komputerze, ale program liczy na procesorze. Na Windows obsługa GPU jest zawarta w pliku instalacyjnym .exe, wymagane jest CUDA 12, a komputery ze starszymi wersjami CUDA będą używać procesora (Buzz - FAQ). Warto też upewnić się, że nie została wcześniej ustawiona zmienna BUZZ_FORCE_CPU, która wymusza pracę na procesorze (Buzz - Preferences).

Mikrofon nie działa przy nagrywaniu na żywo. W FAQ ten problem figuruje pod komunikatem Unanticipated host error[PaErrorCode-9999] (Buzz - FAQ). Zalecane jest sprawdzenie, czy jakieś ustawienia systemowe nie blokują aplikacjom dostępu do mikrofonu, a na Windows czy Buzz ma uprawnienie do korzystania z mikrofonu w Ustawieniach, w sekcji prywatności i mikrofonu (Buzz - FAQ). W Windows 11 są tam trzy przełączniki, które muszą być włączone jednocześnie: "Dostęp do mikrofonu" dla całego urządzenia, "Zezwalaj aplikacjom na dostęp do mikrofonu" oraz "Zezwalaj aplikacjom klasycznym na dostęp do mikrofonu" (Microsoft Support - Włączanie uprawnień aplikacji do mikrofonu w systemie Windows). Ten trzeci jest kluczowy, bo Buzz jest aplikacją klasyczną, a takich aplikacji nie da się przełączać pojedynczo: mogą nie pojawić się na liście w tym oknie, a jeden wspólny przełącznik decyduje o nich wszystkich (Microsoft Support - Aparat, mikrofon i prywatność w systemie Windows). Po zmianie uprawnień warto uruchomić Buzz ponownie i sprawdzić, czy w polu Microphone wybrane jest właściwe urządzenie (Buzz - Live Recording). FAQ wskazuje też, że dostęp do mikrofonu może blokować oprogramowanie antywirusowe, przy czym nie ma potrzeby jego odinstalowywania (Buzz - FAQ). Właściwa droga to odnalezienie w ustawieniach pakietu antywirusowego modułu kontrolującego dostęp aplikacji do mikrofonu, jeżeli taki istnieje, i dodanie wyjątku wyłącznie dla pliku wykonywalnego Buzz. Ochrony nie wyłącza się globalnie ani na chwilę, zgodnie z zasadami z sekcji o ostrzeżeniu instalacyjnym: wyłączona ochrona dotyczy wszystkiego, co uruchomi się w tym czasie, a wyjątek dla jednego programu dotyczy tylko jego.

Napisy są nieczytelne, bo segmenty są za długie albo źle podzielone. Narzędzie zmiany rozmiaru w widoku transkrypcji pozwala zmienić maksymalną długość napisów także bez znaczników czasu słów. Dodatkowy podział na znakach interpunkcyjnych wymaga transkryptu ze znacznikami na poziomie słów (Buzz - Edit and Resize). Dopiero dla tej dodatkowej funkcji trzeba ponowić transkrypcję z opcją Word-Level Timings, jeśli wcześniej nie była włączona (Buzz - File Import).

Model nie mieści się w pamięci karty graficznej. Poza wyborem mniejszego modelu można sięgnąć po kwantyzację: skwantyzowane wersje większych modeli Whisper.cpp, na przykład wariant q_5, poprawiają szybkość transkrypcji i zużycie pamięci (Buzz - Preferences), a ustawienie zmniejszania pamięci GPU stosuje kwantyzację ośmiobitową dla transkrypcji HuggingFace, Faster Whisper i Whisper.cpp (Buzz - Preferences).

Praca offline i przenoszenie modeli

Buzz może być używany bez połączenia z internetem, jeżeli niezbędne modele zostaną pobrane na innym komputerze mającym dostęp do sieci i ręcznie przeniesione na komputer offline (Buzz - FAQ). Do odnalezienia katalogu z modelami służy droga Help -> Preferences -> Models, pobranie jakiegoś modelu i przycisk Show file location, po czym katalog z modelami kopiuje się w to samo miejsce na komputerze offline (Buzz - FAQ). Wskazany jest przy tym pomocniczy skrypt przygotowujący pamięć podręczną modeli do użycia offline (Buzz - FAQ).

Na Windows katalogiem docelowym jest %USERPROFILE%\AppData\Local\Buzz\Buzz\Cache (Buzz - FAQ). Wygodnym uzupełnieniem bywa ustawienie własnego katalogu modeli zmienną BUZZ_MODEL_ROOT, razem z HF_HOME wskazującym ten sam katalog (Buzz - Preferences).

Przydatna dla pracy offline jest też zmienna BUZZ_DISABLE_UPDATE_CHECK, wyłączająca sprawdzanie aktualizacji, dostępna od wersji 1.4.5 (Buzz - Preferences).

Nagrywanie na żywo i dźwięk systemowy

Poza importem plików Buzz potrafi transkrybować na żywo. Aby rozpocząć nagrywanie na żywo, wybiera się zadanie nagrywania, język, jakość i mikrofon, po czym klika Record (Buzz - Live Recording). Ostrzeżenie pada od razu: transkrypcja dźwięku przy użyciu domyślnego modelu Whisper jest zasobożerna, warto rozważyć Whisper.cpp, który obsługuje przyspieszenie GPU, jeżeli model mieści się w pamięci karty, a do pracy w czasie rzeczywistym należy używać mniejszych modeli (Buzz - Live Recording). Opis funkcji w dokumentacji wprost zaznacza, że transkrypcja z mikrofonów komputera jest zasobożerna i może nie odbywać się w czasie rzeczywistym (Buzz - Introduction (dokumentacja)).

Dla nagrań na żywo dostępne są dodatkowe ustawienia. Próg ciszy określa poziom, poniżej którego zdanie nie zostanie poddane transkrypcji, jeżeli średni poziom głośności jest niższy od tego ustawienia, i jest dostępny od wersji 1.4.4 (Buzz - Live Recording). Separator linii to oznaczenie dodawane do linii transkrypcji i tłumaczenia, którego domyślną wartością są dwa znaki nowej linii dające pustą linię między wpisami, a wartość \n usuwa pustą linię (Buzz - Live Recording).

Tryby zapisu tekstu na żywo są trzy: "Append below" dodaje nowe zdania poniżej istniejących z pustą linią między nimi, "Append above" dodaje je powyżej, a "Append and correct" dodaje nowe zdania na końcu istniejącego transkryptu bez dodatkowych odstępów i dodatkowo próbuje poprawiać błędy na końcu wcześniej przepisanych zdań, przy czym tryb ten wymaga większej mocy obliczeniowej i mocniejszego sprzętu (Buzz - Preferences). W trybie "Append and correct" można ustawić krok transkrypcji: krótsze kroki zmniejszają opóźnienie, ale mocniej obciążają system, a podczas transkrypcji warto obserwować kolejkę i zwiększyć krok, jeżeli zbytnio rośnie (Buzz - Live Recording).

Transkrypcja dźwięku odtwarzanego przez komputer, na przykład ze spotkania online lub filmu, wymaga dodatkowego kroku. Aby transkrybować dźwięk systemowy, trzeba skonfigurować wirtualne urządzenie audio i skierować do niego wyjście z aplikacji, które mają być transkrybowane, a następnie wybrać je jako źródło w Buzz (Buzz - FAQ). Dla Windows dokumentacja wskazuje narzędzie VB CABLE (Buzz - FAQ) i opisuje konfigurację przez ustawienia dźwięku Windows: po kliknięciu prawym przyciskiem ikony głośnika w zasobniku systemowym i wybraniu ustawień dźwięku, w liście wyboru urządzenia wyjściowego wskazuje się "CABLE Input", aby skierować cały dźwięk systemowy do urządzenia wirtualnego, albo korzysta się z zaawansowanych opcji dźwięku, żeby wybrać aplikację kierującą tam swój dźwięk (Buzz - Live Recording).

Ta ścieżka ma oczywiste konsekwencje po stronie zgody uczestników, opisane wcześniej. Transkrybowanie cudzej rozmowy przez wirtualne urządzenie audio jest technicznie proste i dokładnie o takich zastosowaniach mówi ostrzeżenie karty modelu przed transkrypcją nagrań osób bez ich zgody (OpenAI Whisper - Model Card).

Sprzątanie i cofnięcie zmian

Instalacja Buzz na Windows to standardowa aplikacja, którą usuwa się przez systemowe odinstalowywanie programów. Sam ten krok nie zawsze usuwa jednak pobrane modele, które potrafią zajmować najwięcej miejsca.

Modele można usunąć na dwa sposoby. Pierwszy, przed odinstalowaniem programu: sekcja ustawień modeli służy do pobierania nowych modeli do transkrypcji i kasowania nieużywanych (Buzz - Preferences). Drugi, po odinstalowaniu: usunięcie zawartości katalogu %USERPROFILE%\AppData\Local\Buzz\Buzz\Cache, w którym modele są przechowywane na Windows (Buzz - FAQ). Jeżeli katalog modeli został wcześniej zmieniony zmienną BUZZ_MODEL_ROOT (Buzz - Preferences), sprzątać należy w miejscu wskazanym tą zmienną, a także w katalogu wskazanym przez HF_HOME, jeżeli był ustawiany.

Ustawione zmienne środowiskowe, takie jak BUZZ_FORCE_CPU czy BUZZ_WHISPERCPP_N_THREADS, pozostają w systemie po odinstalowaniu aplikacji i warto je usunąć w ustawieniach systemu, jeżeli były dodawane na stałe, a nie tylko w pliku run_buzz.bat (Buzz - Preferences).

Wyeksportowane transkrypty i pliki napisów to zwykłe pliki tekstowe w katalogach wybranych podczas eksportu i nie są usuwane wraz z aplikacją. Odszumione pliki dźwiękowe z sufiksem _DeepFilterNet3.wav mogą pozostać obok plików źródłowych, jeżeli w ustawieniach wtyczki włączono ich zachowywanie (Buzz - Plugins). Oryginalne nagrania nie są modyfikowane przez transkrypcję, ale przed jakimkolwiek sprzątaniem warto się upewnić, że usuwane są tylko pliki pochodne.

Lista kontrolna na koniec

  • Czy pobrane zostały wszystkie trzy pliki instalacyjne dla Windows, a nie sam *.exe?
  • Czy zadanie jest ustawione na "Transcribe", a nie na "Translate to English"?
  • Czy język ustawiono na polski zamiast zostawiać "Detect Language"?
  • Czy wybrany model nie ma w nazwie oznaczenia .En?
  • Czy pierwsza próba poszła na krótkim fragmencie, przed puszczeniem całego nagrania?
  • Czy transkrypt został porównany z nagraniem w kilku miejscach, zwłaszcza w okolicach ciszy?
  • Czy przy napisach włączono znaczniki czasu na poziomie słów, zanim ruszyła długa transkrypcja?

Kilka pytań, które wracają

Czy transkrypcja naprawdę odbywa się bez internetu? Tak, o ile użyty jest model lokalny. Buzz transkrybuje i tłumaczy dźwięk offline na komputerze osobistym (Buzz - Introduction (dokumentacja)), a praca bez połączenia z siecią jest możliwa po wcześniejszym pobraniu modeli, także przez ich ręczne przeniesienie z innego komputera (Buzz - FAQ). Wyjątkiem jest świadomy wybór typu modelu korzystającego z API OpenAI, konfigurowanego kluczem API i adresem bazowym w Preferencjach (Buzz - Preferences), oraz wtyczki wysyłające dane do zewnętrznych usług, jak generowanie streszczenia przez API zgodne z OpenAI (Buzz - Plugins).

Czy da się przetłumaczyć polskie nagranie na napisy angielskie? Tak, przez zadanie "Translate to English", które zamienia dźwięk na tekst angielski (Buzz - Live Recording). Trzeba przy tym pamiętać, że model turbo nie jest trenowany do zadań tłumaczenia, a do tłumaczenia mowy nieangielskiej na angielski dokumentacja Whispera zaleca modele wielojęzyczne tiny, base, small, medium lub large (OpenAI Whisper - README). Whisper obsługuje tłumaczenie mowy na angielski, a nie na dowolny język (OpenAI Whisper - README).

Który model jest najlepszy dla polskiego? Dokumentacja żadnego nie wskazuje. Podaje natomiast, że jedynym pewnym sposobem ustalenia, który model odpowiada danym potrzebom, jest przetestowanie wszystkich we własnym języku (Buzz - FAQ), a skuteczność Whispera znacznie różni się w zależności od języka (OpenAI Whisper - README). Rozsądna droga to porównanie dwóch lub trzech kandydatów na własnym, reprezentatywnym fragmencie, metodą opisaną w sekcji o porównywaniu.

Czy transkrypt nadaje się do wykorzystania bez korekty? Nie, jeżeli ma być cytowany lub publikowany. Modele mogą generować tekst, którego w nagraniu nie było (OpenAI Whisper - Model Card), a ich skuteczność różni się między językami, akcentami i dialektami (OpenAI Whisper - Model Card). Korekta z odsłuchem jest częścią procedury.

Źródła

Komentarze (0)

Nikt jeszcze nic nie napisał. Bądź pierwszy.

Komentarze są moderowane. Pojawi się po zatwierdzeniu. Maks. 2 linki.

Czytaj dalej

AI · poradnik

Od PDF-u do planu powtórek i testu: nauka z własnym materiałem w Gemini Notebook

8 września 2026
AI · poradnik

Lokalna AI na własnym komputerze: pierwszy model w LM Studio na Windows

8 września 2026
AI

K2 Horizon: sześć modeli od 0,9B do 375B na Apache 2.0 - wagi otwarte od ręki, dane i kod tylko częściowo

5 września 2026
AI

Claude Fable 5.1 i Mythos 5.1: ten sam model, dwa poziomy zabezpieczeń i cache tańszy o 75 procent

5 września 2026