Blogi·
Laite
July 7, 2026

Ääniagentin käyttö laitteessa
Yksi putkisto, kolme muistibudjettia.

Paikallinen ääniagentti ei ole yksi malli . Se on putki neljä: äänen toiminnan havaitseminen, puhe-to-text, kielimalli, ja teksti-to-speech, kytkettynä yhteen kääntyvä tila kone. Putkijohto on sama puhelimessa ja kannettavalla tietokoneella. Mitä muutoksia on mikä malli menee kussakin ruutuun , ja että ...

Numero, josta pitää kiinni, on koko silmukka, ei yksi malli: puhenäkö (STT) + vastausten sukupolvi (LLM) + puheen synteesi (TTS) Kaikki mahtuu sen sisään ~1.2 GB iPhonessa, ~1.5 GB galaksissa S23, ja alla ~4 GB on Mac Kunnon juttutuokiolla.

Ydinkirjasto: Putkisto on kannettava osa.

speech-core:ssä on analoginen C++-tilakone: neljä vaihetta ovat rajapintoja, jotka liität minkä tahansa backendin päälle asennettavaan ONNX, LiteRT CoreML/MLX tai jopa pilvi API . Sama putki johtaa 270M-työkalusoittimen puhelimeen ja Gemma 4 -aivoihin Mac.

On-device voice-agent pipelineMicrophone audio passes an optional wake-word gate, echo cancellation, and enhancement, then voice activity detection, speech-to-text (perception), a language model with tool calls (generation), and text-to-speech (synthesis) back to the speaker. The synthesized audio feeds back as the echo-cancellation reference.wake word · AEC · enhance (opt.)tools?Audiomic inVADturn gateSTTperceptionLLMgenerationTTSsynthesisAudiospeakerAEC reference

Yksi silmukka, neljä vaihetta. Wake sana, AEC, ja parantaminen ovat valinnaisia pre-VAD vaiheet; LLM... työkalupuhelut ovat mitä antaa sen toimia, ei vain vastata.

Orkesteri on VoicePipeline in speech-core . Se omistaa turn havaitseminen, keskeytys, keskusteluhistoria, työkalun kutsumisen silmukka, ja puheen jonottaminen . Mutta ei malleja omasta. Jokainen vaihe on vaihdettavissa takana liitäntä (VADInterface, STTInterface, LLMInterface, TTSInterface) että olet takaisin ONNX Runtime, LiteRT, CoreML/MLX - speech-swift sisarus), tai jopa pilvi API. Kevyempiä tiloja on liian Echo (VAD → STT → TTS) ja TranscribeOnly (VAD → STT → teksti).

Matkapuhelin: NPU-ensin ja koko silmukka sopii ~1,5 GB:ään.

Puhelimessa rajoitteena on muisti, akku ja lämpö. Oikea kohde on neuroprosessoriyksikkö (NPU): Applen Neural Engine on iOS, NNAPI / Hexagon on Android. Se toimii kvantitatiivisesti muuntajien murto-osana tehosta CPU tai GPU ja jättää CPU

Miksi? NPU - Ei, ei... CPU tai GPU? NPU on kiinteä-toimintoinen datavirta moottori rakennettu yhteen tehtävään . Matala-tarkkuus moninkertaistaa-kertyvät, että hermoverkot on valmistettu. Se pitää painot päällä-siru SRAM aivan laskentayksikön vieressä ja ohittaa ohje noutaa / decode ja laaja yleiskäyttöinen datapaatit, jotka polttavat suurimman osan CPU tai GPUMoving data maksaa paljon enemmän kuin tekee matematiikan, joten pitää molemmat paikalliset on voitto: samat matmulit ajaa murto-osa wattia ei lämpö kuristaminen, ei akku viemäri, ja CPU Hän pysyy vapaana kaikesta muusta.

Mobiiliputki on pieni, kvantitatiivinen, NPU-ystävällinen malli: Silero VAD, Parakeet-EOU 120M (kevyet streaming STT with inline end-out-out-putterance), FunctionGemma 270M (työkaluja kutsuvat aivot) ja Kokoro-82M tai Supertonic-3 äänen osalta.

Vaihe · malliiPhone 16 Pro (CoreML / ANE)Galaksi S23 (LiteRT / ONNX, CPU)
STT · Parakeet-EOU 120M0.04 RTF · 297 MB0.21 RTF · 232 MB
STT · Omnilingual 300M0.28 RTF · 495 MB0.15 RTF · 831 MB
TTS · Kokoro-82M0.08 RTF · 676 MB0.53 RTF · 640 MB
TTS · Supertonic-3 99M0.15 RTF · 956 MB0.34 RTF · 832 MB
LLM · FunctionGemma 270M128 tok/s · 236 MB118 tok/s · 611 MB

RTF = seinän aika - äänisekuntit (alempi = nopeampi; < 1.0 on reaaliaikaista nopeampi). Huippumuisti on eristyksissä.

Jokainen vaihe tyhjentää reaaliajassa. Lastattu yhdessä elävän agentin, asukas työ setti on ~1.2 GB iPhonessa sekä ~1.5 GB Galaxy S23:llä Ero on lähes kaikki LLM: FunctionGemma ilu 236 MB ANE vs. 611 MB S23 CPU. iOS on jo käynnissä NPU (eli 0.04 RTF STT ja 128 tok/s LLM); Android on CPU-reaaliaikainen tänään, kun NNAPI / Hexagon delegaatiot ovat hyvä puoli, ei ennakkoedellytys.

Kokeile. Examples/iOSEchoDemo käyttää Parakeet + Silero+ Kokoro:ää täydellisenä kaikusilmukkana iPhonella; Android-puoli asuu speech-android , kääriä sama putki. ( Examples/iOSBenchmark on valjaat takana iPhone numerot yllä.)

Työpöytä: Todellinen LLM, joka ajaa konetta ... vielä alle 4 GB.

Mac rajoite rentoutuu: yhtenäinen muisti, joka on jaettu CPU ja Metal GPU välillä. Samat neljä vaihetta, isommat mallit ja ratkaisevalla tavalla oikeat chat-aivot 270M:n työkalusoittimen sijaan, ja koko silmukka mahtuu edelleen ~4 GB:ään.

LLM on aivot, ja se on se, jossa mallin koko lakkaa olemasta valinnainen. Testauksen jälkeen kaksi mallia ansaitsi työn: FunctionGemma 270M matkapuhelimessa (tarpeeksi työkalupuhelun lähettämiseen, kaikki puhelimen puolella toimivan agentin tarpeet) ja Gemma 4 E2B/E4B (4-bit MLX) työpöydällä (aito multi-turn keskustelu ja päättely, joka pitää, samalla pysyä kevyt). sub-1B chat pää näyttää vapaa jalanjäljellä, mutta wobbles todellinen multi-käännös, joten se ei tehdä leikkaus. Hyppy, että merkitystä ei ole. 0.27B → 0.8B; se FunctionGemma Työkalupuhelut → Gemma 4-Keskustelua.

Loput pinosta nousee myös: työpöydällä vaihtaa kevyt Parakeet-EOU Parakeet-TDT (täydellinen monikielinen), ja TTS pysyy päällä Supertonic-3 kaikkialla nopea, 44.1 kHz, vakaa. Hyppäämme tarkoituksella raskaamman TTS-mallin ohi; kloonaus ei ole riittävän luotettava istuakseen aina päällä olevan aineen sisällä.

Vaihe Matkapuhelin Työpöytä (Mac / MLX)
VADSilero v6.2.1Silero v6.2.1
STTParakeet-EOU (streaming)Parakeet-TDT (multilingual)
LLMFunctionGemma 270MGemma 4 E2B/E4B
TTSKokoro-82M / Supertonic-3Supertonic-3
Resident setiPhone ~1.2 GB · S23 ~1.5 GB~3.6 GB
Vaihe · malliMac · M5 Pro (4-bit MLX / CoreML)
VAD · Silero v6.2.1sub-ms / chunk
STT · Parakeet-TDT0.04 RTF · 1.3 GB
LLM · Gemma 4 E2B214 tok/s · 2.9 GB
TTS · Supertonic-30.03 RTF · 0.9 GB

RTF = seinän äänisekuntia (alempi = nopeampi); LLM Rivi on dekoodauksen läpisyöttö. Huippumuisti on mallia kohti yksinään . Koko silmukka on ladattu yhteen ~3.6 GB (hyvin alle 4 GB): CoreML STT/TTS/VAD painot ovat muisti-kartoitus, joten ne eivät pinota kuten yksittäiset huiput olisi.

Takeaways

Yksi putkisto, joka vastaa budjettia.

Putken satamat; mallit eivät

VAD → STT → LLM → TTS on kaikkialla samanlainen. Kaikki mielenkiintoinen sopii jokaiseen vaiheeseen laitteen kiihdyttimen ja muistin kanssa.

Matkapuhelin: ~1.2.1.5 GB

Akku ja lämpövoimat poimivat mallit. ANE tekee iOS tehokkaasti vapaa CPU-viisas; Android on CPU-reaaliaika tänään NPU tulevana.

Työpöytä: oikeat aivot, edelleen ~4 GB

Koko silmukka sopii ~4 GB:ään ja että budjetti ostaa Gemma 4 päättely, joka ajaa koneen äänen, plus monikielinen Parakeet-TDT.

Kaikki se on paikallista

Äänen ja keskustelun tila ei koskaan jätä laitteen ... havaintoa, päättelyä ja synteesiä kaikki käynnissä metalli edessäsi.

Where next

Jatka lukemista.