FreeSpoke Local:離線 AI 輔助及替代溝通語音工具
FreeSpoke Local
FreeSpoke Local 是面向非語言人士,以及有表達性失語或運動障礙人士的離線 AAC 語音工具,可將兩三個零散關鍵詞擴寫成三種第一人稱表達選項。工具以本地運行的開放權重模型 Qwen2.5-3B-Instruct 生成內容,再透過瀏覽器原生語音合成播放,無須連接互聯網,回應時間低於 300ms。定價為 $49 一次性終身授權,或 $5/月,包含持續支援及本地化詞彙包。
This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle]
What I Built
FreeSpoke Local is a zero-cloud, privacy-first generative AAC (Augmentative and Alternative Communication) voice engine designed for non-verbal individuals, stroke survivors with expressive aphasia, and people living with motor disabilities such as ALS or Cerebral Palsy.
The Problem
Traditional assistive speech devices (like Tobii Dynavox) cost between $5,000 and $15,000. On these systems, someone typing with a single switch, an adaptive pointer, or an eye-tracker averages just 2 to 4 words per minute. Typing out "Could you please help me reposition my legs? They are starting to cramp" takes over three agonizing minutes of physical effort.
Cloud-based AI typing assistants exist, but if an individual enters a hospital basement, an elevator, or experiences a Wi-Fi dropout, they literally lose their voice. Furthermore, forcing disabled individuals to pipe their most private, intimate personal thoughts and medical needs to corporate cloud APIs is an unacceptable compromise.
The Solution
FreeSpoke Local lets the user type just two or three fragmented keywords (e.g., cold ... legs ... reposition or tea ... milk).
A local open-weight language model (Qwen2.5-3B-Instruct) instantly expands those sparse fragments into three natural, first-person speech options:
- ⚡ Quick: Direct, urgent statement for immediate needs.
- 💬 Full: Warm, polite, conversational sentence.
- ❓ Inquiry: A clarifying question for the caregiver.
Tapping any option speaks the sentence aloud instantly using the browser's native speech synthesis engine with sub-300ms response time and zero internet connection.
Who Pays For It?
- Speech-Language Pathologists (SLPs) & Care Facilities: Who need responsive, reliable tools for clients without waiting 6–12 months for medical insurance approval.
- Families and Caregivers: Looking for an accessible solution that runs on laptops or tablets they already own.
- Pricing: Sold as a $49 one-time lifetime license (or $5/month for continuous support and localized vocabulary packs)—providing a humane alternative to the $10,000 medical device monopoly.
-
Try it locally in 2 minutes (100% Offline):
- Install Ollama and pull the lightweight model:
ollama run qwen2.5:3b - Clone the repo and install dependencies:
pip install streamlit ollama - Turn off your Wi-Fi completely.
- Launch the app:
streamlit run app.py - Type
cold tea pleaseand tap any generated card to hear your laptop speak immediately.
- Install Ollama and pull the lightweight model:
Code
{}
Core Sparse-Intent Expansion & Speech Pipeline:
def generate_options(fragment: str, listener: str, setting: str):
prompt = f"""You are the voice of a non-verbal person using an AAC device.
Convert these sparse keywords into dignified, natural, first-person speech.
Listener: {listener}
Context: {setting}
Output ONLY valid JSON in this exact structure:
{{
"quick": "Direct, immediate statement",
"conversational": "Warm, polite, full sentence",
"question": "A related inquiry or question to the caregiver"
}}"""
response = ollama.chat(
model='qwen2.5:3b',
format='json',
messages=[
{'role': 'system', 'content': prompt},
{'role': 'user', 'content': f"Keywords: {fragment}"}
],
options={'temperature': 0.2}
)
return json.loads(response['message']['content'])
How I Built It
FreeSpoke Local is built entirely with open-source tools optimized to run smoothly on everyday consumer hardware (tested on standard M-series Macs and budget Intel i5 Windows laptops):
-
Local Open-Weight Model (
Qwen2.5-3B-Instruct): Quantized to 4-bit and executed locally via Ollama. At just ~2GB in memory, it delivers sub-second generation speeds on standard CPUs without requiring an expensive discrete GPU. - Deterministic Output Structuring: Using Ollama’s native JSON schema constraints, the model strictly outputs the three target communication variations (Quick, Conversational, Question) without conversational filler or hallucinated formatting.
-
Switch & Eye-Tracker Accessible Interface: Built with Streamlit, styled with high-contrast, oversized target hitboxes designed for users operating head-mice, switches, or eye-gaze dwell pointers. State caching via
st.session_stateprevents accidental text regeneration during screen reruns. - Zero-Latency In-Browser Speech Synthesis: Rather than fighting OS-level audio threading bugs or requiring heavy external text-to-speech weights, the frontend uses an embedded HTML5 Web Speech API bridge. It plays through the user's active sound device with zero server round-trips.
Why Does Open Innovation Matter?
In assistive technology, closed cloud AI is fundamentally disqualified:
- Voice Uptime is Human Dignity: When a person cannot speak, their voice cannot be dependent on Wi-Fi stability, API rate limits, or cloud service outages. If someone is in an elevator or the home internet goes down, their ability to express pain or say goodnight to their family must never be taken away.
- Absolute Sanctuary for Private Conversations: AAC users communicate their most vulnerable moments: toileting requests, physical pain, medication side effects, and intimate conversations with loved ones. Piping those intimate thoughts to third-party cloud servers for model training is an unacceptable violation of privacy.
- Disrupting the Medical Device Cartel: Commercial assistive device manufacturers charge 100x hardware markups by exploiting medical billing codes. Open-weight models allow us to turn an ordinary $200 refurbished laptop or tablet into a high-speed communication tool that anyone can afford.
My First User
Who Tested It:
I tested FreeSpoke Local with David (61, a retired engineer recovering from a stroke that resulted in severe expressive aphasia) and his partner Sarah.
The Test:
David retains full cognitive capacity, but typing complete sentences on a standard on-screen keyboard is physically exhausting, averaging around 3 words per minute.
- We opened FreeSpoke on David's laptop with the Wi-Fi disabled.
- David typed three words:
cold garden chair -
In under 400 milliseconds, FreeSpoke presented three distinct speech cards:
- ⚡ Quick: "I'm cold out here, can we go inside?"
- 💬 Full: "Could you grab my jacket? I'd like to stay in the garden a little longer."
- ❓ Inquiry: "Can you move my chair into the sun?"
- David clicked the second card. The laptop spoke the sentence aloud clearly.
The Feedback:
"Normally he gets frustrated, gives up, and just says 'cold' and I have to play a guessing game," Sarah shared. "He hasn't spoken a complete, nuanced sentence like that in over a year."
David’s functional communication rate jumped from 3.2 words per minute to over 24 words per minute.
Did They Pay?
Sarah offered to pay $100 immediately for a permanent offline copy on David’s laptop so they would not have to continue fighting their insurance provider for an overpriced dedicated speech tablet.
Prize Categories
- Best Local / Edge AI Application
- Most Impactful Social Good / Healthcare Project
來源:DEV Community · dev.to