Lokalny voice-to-text bezpośrednio przy kursorem dzięki Voicetypr
Często łapię się na tym, że pisanie długich promptów dla sieci neuronowych lub szczegółowych komentarzy do pull requestów jest po prostu zbyt żmudne. Moje palce się męczą, myśli się plączą i nie chce mi się czytać szkicu. Wprowadzanie głosowe wydaje się rozwiązywać ten problem, ale standardowe narzędzia systemowe w macOS i Windows nie działają zbyt dobrze. Zewnętrzne usługi chmurowe, takie jak Wispr Flow, wymagają subskrypcji i kierują cały głos przez zewnętrzne serwery, co od razu wyklucza je w przypadku poufnego kodu lub służbowych czatów.
Ostatnio natknąłem się na ciekawy projekt o nazwie Voicetypr. To otwarta aplikacja desktopowa na licencji AGPL-3.0, która wstawia rozpoznawaną mowę bezpośrednio w miejscu, gdzie miga kursor. I robi to całkowicie lokalnie na Twoim komputerze.
Co potrafi aplikacja
Główna idea jest prosta: naciśnij globalny skrót, dyktuj tekst do mikrofonu, puść klawisz, a gotowe zdania natychmiast pojawiają się w aktywnym polu wprowadzania. Niezależnie od tego, czy jest to edytor VS Code, terminal, komunikator czy przeglądarka.
Oto kilka rzeczy, które autor umieścił w tym narzędziu:
- Rozpoznawanie na urządzeniu. Na macOS i Windows działa model Whisper, a na komputerach Mac z układami Apple Silicon można podłączyć zoptymalizowany model Parakeet.
- Formatowanie przez LLM. Surowe dyktowanie często jest pełne wypełniaczy i dziwnych pauz. Aplikacja może przepuścić roboczy tekst przez OpenAI, Anthropic, Gemini lub dowolny niestandardowy punkt końcowy, aby wygenerować czysty i zredagowany akapit na wyjściu.
- Transkrypcja istniejących plików multimedialnych. Możesz upuścić plik audio lub wideo i otrzymać transkrypcję tekstową.
- Historia nagrań. Wszystkie transkrypcje są zapisywane w interfejsie wraz z metadanymi, dzięki czemu możesz porównać oryginalny tekst z zredagowaną wersją lub odtworzyć nagranie.
- Tryb serwera przez sieć lokalną. Jeśli masz mocną kartę graficzną na jednym komputerze, możesz skonfigurować Voicetypr jako lokalny serwer transkrypcji i wysyłać audio z mniej wydajnego laptopa.
Przy okazji, jeśli lokalna moc nie wystarcza, możesz przełączyć się na usługi rozpoznawania w chmurze w ustawieniach: Groq, Deepgram, OpenAI, Soniox lub Cohere. Ale cały sens Voicetypr polega na tym, że domyślnie strumień audio nigdy nie opuszcza Twojego komputera.
CLI do automatyzacji i lokalnych agentów
Ciekawe szczegóły, o których programiści rzadko myślą w podobnych narzędziach GUI: Voicetypr jest wyposażony w wbudowany interfejs konsolowy.
Polecenie można zainstalować bezpośrednio z ustawień programu. Umożliwia to wywoływanie silnika rozpoznawania ze skryptów bash lub łączenie się z lokalnymi agentami AI:
# Проверить статус приложения
voicetypr status --json
# Посмотреть доступные модели
voicetypr models --json
# Расшифровать аудиофайл и получить структурированный JSON
voicetypr transcribe --file note.wav --json
# Записать голос с микрофона до наступления тишины
voicetypr record --until-silence --json
Flaga --json zwraca ustrukturyzowaną odpowiedź, więc wynik można łatwo parsować standardowym jq lub przekazać dalej w pipeline.
Jak to działa pod maską
Stos technologiczny aplikacji jest zbudowany dość pragmatycznie. Autor wybrał Tauri v2 i Rust do ciężkiej pracy systemowej, a interfejs napisał w React 19, TypeScript, Tailwind CSS i shadcn/ui.
Cała praca przechwytywania skrótów, przechwytywania mikrofonu, resamplingu audio i emulacji wprowadzania do aktywnego okna leży całkowicie po stronie backendu Rust. Zapewniło to szybką reakcję i skromne zużycie RAM w porównaniu z typowymi aplikacjami Electron.
Na Windows lokalny Whisper może używać Vulkan do przyspieszenia GPU. A ten proces jest izolowany w osobnym sidecarze. Jeśli coś pójdzie nie tak z sterownikiem wideo, aplikacja po prostu cicho przełącza się na obliczenia CPU, bez zawieszania głównego programu.
Jak zbudować i uruchomić
Jeśli chcesz zbudować projekt ze źródeł samodzielnie, będziesz potrzebować Node.js z menedżerem pakietów pnpm, zestawu narzędzi Rust oraz podstawowych narzędzi do kompilacji dla Twojego systemu operacyjnego (Xcode CLI na macOS lub Visual Studio Build Tools na Windows).
Budowanie rozpoczyna się standardowymi poleceniami:
git clone https://github.com/moinulmoin/voicetypr.git
cd voicetypr
pnpm install
pnpm tauri:dev
W repozytorium znajdują się również gotowe testy i lintery:
pnpm lint
pnpm test
pnpm test:backend
pnpm quality-gate
Dla osób, które nie chcą kompilować ręcznie, podpisane pakiety DMG dla macOS oraz instalatory dla Windows 10/11 są dostępne w wydaniach GitHub i na oficjalnej stronie.
Dlaczego programista potrzebuje tego narzędzia
Przede wszystkim Voicetypr przyda się tym, którzy dużo piszą: prowadzą dokumentację, tworzą opisy zadań w trackerach issue lub komunikują się z sieciami neuronowymi w Cursor i Claude Dev. Dyktowanie złożonego kontekstu głosem w dwadzieścia sekund jest o wiele łatwiejsze niż pisanie pięciu akapitów ręcznie.
Drugim oczywistym scenariuszem jest prywatność. Jeśli pracujesz z NDA lub po prostu nie chcesz przekazywać nagrań swojego głosu zewnętrznym firmom, kombinacja lokalnego Whisper i lokalnej inferencji przez Ollama całkowicie rozwiązuje ten problem.
Projekt ma obecnie stosunkowo niewiele gwiazdek na GitHub, ale kod wygląda na czysty, a kombinacja Tauri z Rust działa szybko. Zdecydowanie warto wypróbować, zwłaszcza jeśli szukasz darmowej alternatywy dla zastrzeżonych aplikacji do dyktowania.
Powiązane projekty