# Głos ## Przegląd Neotask obsługuje interakcję głosową przez wiele systemów: wykrywanie słowa budzącego, ciągłą rozmowę głosową (tryb mówienia) oraz zamianę tekstu na mowę dla wypowiadanych odpowiedzi. ## Słowa budzące ### Swabble (macOS) Swabble to natywny daemon macOS, który zapewnia zawsze aktywne, **lokalne** wykrywanie słów budzących przy użyciu Apple Speech.framework. **Funkcje:** - Przetwarzanie wyłącznie lokalne -- żaden dźwięk nie opuszcza Twojego urządzenia podczas wykrywania słowa budzącego - Konfigurowalne słowa budzące - Ciągłe przechwytywanie i transkrypcja dźwięku - Wykonywanie hooków -- wyzwala polecenia powłoki po wykryciu słowa budzącego - Transkrypcja plików -- konwertuj pliki audio do tekstu (format TXT lub SRT) - Konfigurowalne opóźnienie, minimalna liczba znaków i limit czasu **Jak to działa:** 1. Swabble stale nasłuchuje przez mikrofon systemowy 2. Gdy wykryje słowo budzące w mówionym tekście, przechwytuje następującą mowę 3. Przechwycony tekst jest wysyłany do Twojego agenta za pośrednictwem skonfigurowanego polecenia hook 4. Agent przetwarza polecenie głosowe i odpowiada ### Słowa budzące węzła W aplikacjach towarzyszących iOS i Android budzenie głosowe jest obsługiwane natywnie: - Konfiguracja słowa budzącego jest zarządzana przez Gateway - Węzły otrzymują konfigurację słów budzących przy połączeniu - Wykrywanie używa natywnego rozpoznawania mowy platformy ## Tryb mówienia Tryb mówienia umożliwia ciągłe rozmowy głosowe -- mów naturalnie i słuchaj, jak Twój agent odpowiada. ### Jak to działa 1. **Zamiana mowy na tekst** -- Twój głos jest transkrybowany w czasie rzeczywistym (strumieniowanie Deepgram lub natywne STT platformy) 2. **Przetwarzanie przez agenta** -- Transkrybowany tekst jest wysyłany do Twojego agenta jako zwykła wiadomość 3. **Zamiana tekstu na mowę** -- Odpowiedź agenta jest głośno czytana ### Automat stanów głosu Tryb mówienia przechodzi między czterema stanami: | Stan | Opis | |------|------| | **Bezczynny** | Nie słucha aktywnie | | **Słuchający** | Przechwytuje i transkrybuje Twoją mowę | | **Myślący** | Agent przetwarza Twoje żądanie | | **Mówiący** | Odpowiedź agenta jest odczytywana | ### Dostawcy zamiany tekstu na mowę | Dostawca | Opis | |----------|------| | **ElevenLabs** | Wysokiej jakości synteza głosu z wyborem głosu | | **OpenAI TTS** | API zamiany tekstu na mowę OpenAI | ### Preferencje głosowe - **Wybór głosu** -- Wybierz spośród dostępnych głosów TTS - **Niestandardowy prompt systemowy** -- Zastąp osobowość agenta dla trybu głosowego - **Niestandardowy format odpowiedzi** -- Kontroluj, jak agent formatuje wypowiadane odpowiedzi - **Obsługa języków** -- Ciągi głosowe zlokalizowane dla 18+ języków ## Polecenia głosowe ### Wykrywanie wielu intencji Agenci mogą wykrywać i wykonywać wieloetapowe polecenia głosowe: > "Utwórz wydarzenie w kalendarzu na jutro o 15:00, następnie wyślij e-mail do zespołu w tej sprawie i opublikuj przypomnienie w Slack" Jest to automatycznie analizowane jako sekwencja poleceń, z których każde jest wykonywane po kolei, a wyniki są przekazywane do następnego kroku. ### Wykonywanie narzędzi Podczas rozmów głosowych agenci mogą wykonywać narzędzia tak samo jak w rozmowach tekstowych -- przeglądać internet, uruchamiać kod, zarządzać plikami, sterować urządzeniami i nie tylko. Wyniki są podsumowywane i odczytywane głośno. ### Egzekwowanie prawdziwości działań Tryb głosowy obejmuje walidację, która sprawdza, czy twierdzenia agenta odpowiadają rzeczywistym wynikom narzędzi. Jeśli agent powie „Wysłałem e-mail", ale narzędzie e-mail zawiodło, system wykrywa rozbieżność i zgłasza rzeczywisty wynik. ## Połączenia głosowe (wtyczka) Wtyczka Voice Call dodaje obsługę telefonii SIP: - Obsługa połączeń przychodzących - Połączenia wychodzące (zależne od dostawcy) - Dwukierunkowe audio w czasie rzeczywistym (strumienie PCM) - Synteza TTS wstrzykiwana do audio połączenia ## Zarządzanie limitami Usługi głosowe mogą mieć limity użytkowania: - Miesięczna alokacja minut dla TTS i STT - Śledzenie na poziomie sesji - Ostrzeżenie przy 80% użycia - Automatyczne odcięcie po osiągnięciu limitu