Uruchomienie czynnika głosowego na urządzeniu
Jeden rurociąg, trzy budżety pamięci.
Lokalny agent głosowy nie jest jednym modelem - jest to rurociąg składający się z czterech: wykrywanie aktywności głosu, przemówienie do tekstu, model językowy, i text- to- mowy, podłączony do siebie przez automat do odbioru zwrotnych stanów. który model idzie w każdym pudełkuI to jest decyzja dwóch liczb: ile masz pamięci i jakiego akceleratora karmisz.
Numer, który należy utrzymać, to cała pętla, a nie jeden model: percepcja mowy (STT) + generacja odpowiedzi (LLM) + synteza mowy (TTS) Wszystko pasuje do środka - ~1.2 GB na iPhone, ~1.5 GB na galaktyce S23i pod4 GB na Mac z prawdziwym czatem.
Biblioteka bazowa: Rurociąg jest częścią przenośną.
Orchestracja mieszka w speech-core jako czysta maszyna stanu C++, która jest model- agnostyczna: cztery etapy są interfejsy można podłączyć dowolny backend do - on- device ONNX i LiteRT oraz CoreML / MLX lub nawet chmurę API - więc ten sam rurociąg uruchamia na telefonie 270M tool- dzwoniący i na mózgu Gemma 4 na Mac.
Jedna pętla, cztery etapy. Budzenie słowo, AEC, i wzmocnienie są opcjonalne kroki pre- VAD; narzędzia LLM są to, co pozwala działać, nie tylko odpowiedzieć.
Orchestrator jest VoicePipeline w speech-core . Posiada wykrywanie skrętu, przerw, historii rozmowy, narzędzia-pętli wywołania i kolejki mowy - ale nie ma własnych modeli. interfejs (VADInterface, STTInterface, LLMInterface, TTSInterface), że powrót z ONNX Runtime, LiteRT i CoreML / MLX (za pośrednictwem speech-swift rodzeństwo), a nawet chmura API. Tryby jaśniejsze istnieją również - Echo (VAD → STT → TTS) oraz TranscribeOnly (VAD → STT → tekst).
Mobile: NPU- najpierw, a cała pętla pasuje do ~ 1,5 GB.
W telefonie ograniczeniem jest pamięć, bateria i termiczne - nie surowe obliczenia. Prawym celem jest neuronowa jednostka przetwarzania (NPU): Apple 's Neural Engine dnia iOS, NNAPI / Hexagon on Android. Działa kwantyfikowane transformatory z ułamkiem mocy CPU lub GPU i opuszcza CPU za darmo dla audio i UI.
Dlaczego? NPU a nie CPU lub GPU? NPU jest ustawionym silnikiem dataflow funkcji zbudowanym dla jednego zadania - niskiej precyzji multipli- akumulacja, że sieci neuronowe są wykonane. Trzyma wagi w on-chip SRAM tuż obok jednostek obliczeniowych i pomija instrukcje pobrać / dekodować i szerokie general-purpose datapaths, które palą większość z CPUlub GPUenergia. Przenoszenie danych kosztuje znacznie więcej niż matematyka, więc utrzymanie obu lokalnych jest wygraną: te same mamuls uruchomić w ułamku watów - bez termicznego przepustnicy, bez odprowadzania baterii, i CPU pozostaje wolny dla wszystkiego innego.
Tak więc ruchomy rurociąg jest mały, kwantyfikowany, NPUprzyjazny modele: Silero VAD, Parakeet- EOU 120M (lekkie streaming STT z inline end- of- utterance), FunctionGemma 270M (przyrząd-wołanie mózgu), oraz Kokoro-82M lub Supertonic-3 dla głosu. Mierzone na urządzeniu:
| Etap · model | iPhone 16 Pro (CoreML / ANE) | Galaktyka S23 (LiteRT / ONNX, CPU) |
|---|---|---|
| STT · Parakeet-EOU 120M | 0.04 RTF · 297 MB | 0.21 RTF · 232 MB |
| STT · Omnilingual 300M | 0.28 RTF · 495 MB | 0.15 RTF · 831 MB |
| TTS · Kokoro-82M | 0.08 RTF · 676 MB | 0.53 RTF · 640 MB |
| TTS · Supertonic-3 99M | 0.15 RTF · 956 MB | 0.34 RTF · 832 MB |
| LLM · FunctionGemma 270M | 128 tok/s · 236 MB | 118 tok/s · 611 MB |
RTF = czas ścienny ^ audio-sekundy (niższy = szybszy; < 1.0 jest szybszy niż w czasie rzeczywistym).
Każdy etap oczyszcza się w czasie rzeczywistym. Załadowany razem dla żywego agenta, zestaw pracy rezydenta jest ~ 1.2 GB na iPhone oraz ~ 1.5 GB na Galaxy S23 - Przepaść jest prawie wszystkim. LLM: FunctionGemma en 236 MB na ANE versus 611 MB na S23 CPU. iOS już działa na NPU (to jest 0.04 RTF STT i 128 tok / s LLM); Android Czy CPU- real- time dzisiaj, z delegatów NNAPI / sześciokątnych jako plusy, nie jest warunkiem wstępnym.
Spróbuj: Examples/iOSEchoDemo Biegi Parakeet + Silero + Kokoro jako pełna pętla echo na iPhone; Android side lives in speech-android , owijanie tego samego rurociągu. ( Examples/iOSBenchmark jest uprząż za numery iPhone powyżej.)
Desktop: Prawdziwy LLM, który napędza maszynę - nadal pod 4 GB.
W sprawie Mac Relaksy ograniczające: ujednolicona pamięć współdzielona pomiędzy CPU oraz Metal GPU. Te same cztery etapy, większe modele, i przede wszystkim prawdziwy czat mózgu zamiast 270M tool- dzwoniący - a cała pętla nadal pasuje ~4 GB.
LLM jest mózgiem i tam rozmiar modelu przestaje być opcjonalny. Po teście, dwa modele zdobyły pracę: FunctionGemma 270M na telefon komórkowy (wystarczy, aby emitować telefon z narzędziami, wszystko, czego potrzebuje agent telefoniczny) i Gemma 4 E2B / E4B (4- bit MLX) na pulpicie (prawdziwa wielokierunkowa rozmowa i rozumowanie, które trzyma się, podczas pozostania światła). Kuszące środek - kompaktowy sub-1B czat head - wygląda za darmo na odcisku stopy, ale chwieje się na prawdziwym wieloskręcie, więc nie zrobił cięcia. Skok, który ma znaczenie nie jest 0.27B → 0.8B; to jest FunctionGemma Narzędzia - połączenia → Gemma 4 To rozmowa.
Reszta stosu również krok w górę: swapy pulpitu lekki Parakeet- EOU Parakeet- TDT (pełna wielojęzyczność), a TTS pozostaje na Supertonic-3 wszędzie - szybko, 44.1 kHz, stabilny. Opuszczamy cięższe zero- shot- klonowanie modeli TTS celowo; klonowanie nie jest wystarczająco wiarygodne, aby siedzieć wewnątrz zawsze-na agenta.
| Etap | Mobile | Desktop (Mac / MLX) |
|---|---|---|
| VAD | Silero v6.2.1 | Silero v6.2.1 |
| STT | Parakeet-EOU (streaming) | Parakeet-TDT (multilingual) |
| LLM | FunctionGemma 270M | Gemma 4 E2B/E4B |
| TTS | Kokoro-82M / Supertonic-3 | Supertonic-3 |
| Resident set | iPhone ~1.2 GB · S23 ~1.5 GB | ~3.6 GB |
| Etap · model | Mac · M5 Pro (4- bit MLX / CoreML) |
|---|---|
| VAD · Silero v6.2.1 | sub-ms / chunk |
| STT · Parakeet-TDT | 0.04 RTF · 1.3 GB |
| LLM · Gemma 4 E2B | 214 tok/s · 2.9 GB |
| TTS · Supertonic-3 | 0.03 RTF · 0.9 GB |
RTF = ściana ^ audio- sekundy (niższe = szybciej); LLM wiersz jest przepustowość dekodowania. Pamięć szczytowa jest na model sam - załadowany razem cała pętla jest współrezydentem w ~3.6 GB (dobrze poniżej 4 GB): CoreML STT /TTS/VAD ciężarki są zapamiętane, więc nie układają się tak, jak odizolowane szczyty.
Jeden rurociąg, dopasowany do budżetu.
VAD → STT → LLM! TTS jest wszędzie identyczny. Wszystko interesujące dopasowuje się do każdego etapu akceleratora i pamięci urządzenia.
ANE sprawia, że iOS skutecznie wolne CPU- mądry; Android jest CPU- real- time dzisiaj z NPU headroom przyjść.
Cała pętla pasuje do ~ 4 GB, a ten budżet kupuje rozumowanie Gemma 4, które napędza maszynę głosem, plus wielojęzyczny Parakeet- TDT.
Stan audio i rozmowy nigdy nie opuszczają urządzenia - percepcja, rozumowanie i synteza wszystko działa na metalu przed tobą.
