Canonical wprowadziło Myna — lokalny system konwersji mowy na tekst dla Ubuntu Desktop

Canonical przedstawił projekt Myna — nowy system przekształcania mowy na tekst dla Ubuntu Desktop. Projekt ma na celu wbudowane dyktowanie: użytkownik naciska skrót klawiszowy, mówi, a rozpoznany tekst pojawia się w aktywnej aplikacji. W zapowiedzi podkreślono, że Myna powinna być postrzegana jako naturalna część pulpitu Ubuntu, a jednocześnie działać z uwzględnieniem prywatności użytkownika. Lista obsługiwanych języków wejścia w momencie publikacji wiadomości nie została ujawniona.

Pierwszym celem projektu jest Ubuntu 26.10. Na tym etapie Canonical nie próbuje stworzyć pełnoprawnego asystenta głosowego ani systemu zarządzania pulpitem głosem. Programiści celowo ograniczyli zakres pierwszej wersji do podstawowego, niezawodnego dyktowania: nacisnąć kombinację klawiszy, wypowiedzieć tekst i uzyskać wynik w bieżącym polu wejścia. Pierwsze środowisko do weryfikacji — Ubuntu Desktop na Wayland z GNOME, ale architektura ma pozostawać na tyle otwarta, aby w przyszłości wspierać inne środowiska.

Myna jest zaprojektowana do lokalnego rozpoznawania mowy. Po zainstalowaniu niezbędnych modeli połączenie internetowe do pracy dyktowania nie jest wymagane, mikrofon powinien być używany tylko po wyraźnej aktywacji przez użytkownika, audio jest przetwarzane w pamięci, a następnie odrzucane, a nagrania nie są wysyłane do zewnętrznych serwisów. W specyfikacji projektowej zaznaczone jest również, że rozwiązanie powinno unikać domyślnego zapisywania audio i nie powinno niepostrzeżenie przełączać się na usługę w chmurze.

Kod i dokumentacja Myny są opublikowane w repozytorium Canonical na GitHub. Projekt jest opisany jako lekkie aplikacja speech-to-text dla Ubuntu Desktop i jest rozpowszechniane na licencji GPL-3.0. Projekt znajduje się w wczesnej fazie: w repozytorium nie ma jeszcze opublikowanych wydań, a specyfikacja architektoniczna ma status Proposed.

Główne funkcje i cechy Myny

  • Dyktowanie Push-to-talk. Użytkownik przytrzymuje konfigurowany skrót klawiszowy, mówi, a system wstawia rozpoznany tekst w wybrane pole wejścia. Dyktowanie kończy się po zwolnieniu klawisza.

  • Lokalne rozpoznawanie mowy. Rozpoznawanie odbywa się na komputerze użytkownika poprzez lokalny stos inferencyjny. Zmniejsza to uzależnienie od chmury i pozwala na pracę bez sieci po zainstalowaniu modeli.

  • Prywatne przetwarzanie audio. Mikrofon aktywuje się tylko w trakcie użytkownika sesji dyktowania. Dźwięk nie powinien być domyślnie nagrywany na dysku, używany jest ograniczony bufor w pamięci, który jest czyszczony po zakończeniu sesji.

  • Wizualny wskaźnik aktywności. W trakcie nagrywania i transkrypcji użytkownik powinien widzieć czytelny wskaźnik stanu. W specyfikacji wspomniano o takich stanach jak Nagrywanie, Transkrypcja, Finalizacja i Błąd.

  • Wstawianie tylko stabilnego tekstu. W pierwszej implementacji pośrednie hipotezy rozpoznawania nie powinny być wstawiane bezpośrednio do aplikacji. Do docelowego pola wysyłany jest tylko potwierdzony tekst końcowy.

  • Postprocessing tekstu. Surowa transkrypcja może przechodzić normalizację, formatowanie, dodawanie interpunkcji, kapitalizację oraz przekształcanie form ustnych na pisemne, na przykład „dwadzieścia dwa” → „22”.

  • Wybór języka dyktowania. System powinien wspierać konfigurowalny język dyktowania, domyślnie opierając się na języku interfejsu użytkownika, jeśli dostępny jest odpowiedni model.

  • Profile jakości modelu. W specyfikacji przewidziano różne profile modeli: lekka wersja o mniejszym zużyciu zasobów, profil zrównoważony jako domyślny oraz wersja bardziej jakościowa, lecz bardziej zasobożerna.

  • Bezpieczna praca z fukusem wprowadzania. Cel wstawiania tekstu wybiera się na początku sesji. Jeśli fokus okna zmienia się podczas dyktowania, system nie powinien cicho wysyłać tekstu do innej aplikacji.

  • Blokada w zabezpieczonych polach. Dyktowanie powinno być blokowane w polach hasła, oknach uwierzytelniania i innych zabezpieczonych miejscach, jeśli aplikacja lub toolkit pozwala na to rozpoznać.

  • Integracja z Wayland/GNOME. Pierwsza wersja jest zorientowana na Wayland i GNOME. Dla początkowego wstawiania tekstu rozważany jest IBus, a w przyszłości planowana jest bardziej natywna droga Wayland przez protokoły input-method/text-input.

  • Ustawienia użytkownika. W planowanym interfejsie ustawień powinno być włączenie/wyłączenie STT, wybór skrótu klawiszowego, języka dyktowania, mikrofonu, profilu modelu, opcji postprocessingu i wskaźnika aktywności.

W pierwszej iteracji z projektu zostają wyłączone funkcje takie jak przebudzenie na podstawie frazy kluczowej, stałe nasłuchiwanie w tle, rozpoznawanie w chmurze, asystent głosowy, komendy głosowe, zarządzanie pulpitem, tłumaczenie mowy, identyfikacja mówiącego, automatyczne rozpoznawanie języka oraz historia dyktowania. Innymi słowy, Canonical zaczyna nie od „asystenta AI”, lecz od bardziej przyziemnej funkcji: lokalnego głosowego wprowadzania tekstu w zwykłych aplikacjach Ubuntu.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster