Built to order

EKA-1-Inspired Offline Multilingual Voice Assistant Project for Indian Languages

This project builds an EKA-1-inspired offline multilingual voice assistant that listens and answers in Hindi, Marathi, Tamil and English on a Raspberry Pi 5 with no internet: a USB mic array captures speech, Vosk transcribes it on-device, a 2B-class quantized model replies in the same language, Piper speaks the answer, and MQTT switches a light and a fan. EKA-1 itself, at 26.3 billion parameters, cannot run on a Pi, so the build uses a 2B-class open model in the same offline spirit. Suitable for B.E./B.Tech final-year projects in Electronics, IoT and Computer Science.

IoT & Embedded llama.cpp quantized model inference runtimeHybrid
Raspberry Pi 5 offline voice assistant device with microphone array, speaker and waveform display on a white background
More project photos (3)

The problem

Most voice assistants in Indian homes only work while they can reach a cloud server, which fails in homes and hostels with patchy internet and in classrooms or labs where sending every spoken word to a server is not acceptable. The assistants that do work offline are usually English-only command matchers that recognise a fixed list of phrases and cannot hold a conversation. The IndiaAI Mission's launch on 3 November 2026 of EKA-1, a 26.3-billion-parameter foundation model covering all 22 scheduled Indian languages, and the open-source Dhir 2B and Dhir 5B models built for secure on-premise use, made Indian-language AI a national priority, but none can run on a student's desk. This project closes that gap honestly: a Raspberry Pi 5 voice-assistant device that listens, understands and answers in Hindi, Marathi and Tamil entirely offline, using a small quantized 2B-class language model with on-device speech recognition, plus a dashboard showing the conversation log, language picker and device status.

SYSTEM FLOW

6 components 5 connections

Live flow
Drag to explore
100%
sensorUSB Mic Array

Far-field microphone array on the device captures spoken words in the room.

Follow the working sequence

How it works

The mechanism runs from spoken word to spoken answer in five stages a student can trace and an examiner can test. The USB mic array captures audio and a small on-device recognizer listens only for the wake word "Namaste Pi", so the heavier stages stay asleep until the device is called. Once woken, Vosk transcribes the spoken sentence on the Pi, the text goes to the small quantized language model running through llama.cpp, and the model replies in the same language. Piper then turns that reply into speech and plays it through the speaker, while a light-on command travels as a local MQTT message to the relay. A wake word is only a short audio-pattern match, which is why the Pi can listen all day on one small recognizer while the 2B model stays asleep until the wake word fires, and why nothing is recorded or processed before the wake word.

  1. The builder assembles the device: Raspberry Pi 5 in a case on a wooden base, USB mic array on top, speaker beside it, 3.5-inch status display at the front, and two relay channels wired to a light and a fan.
  2. The builder installs the offline stack on the Pi: Vosk with one small speech model per demo language, Piper with matching voices, llama.cpp, and the 2B-class quantized language model in GGUF form, all downloaded once before the demo.
  3. The builder starts the local MQTT broker on the Pi and connects the two relays, then checks from the dashboard that the light and fan switches respond.
  4. For the conversation demonstration, the builder says the wake word, asks a question in Hindi, and shows the dashboard log recording the question and the spoken Hindi reply, then repeats the same exchange in Marathi and Tamil.
  5. For the home-control demonstration, the builder says "light on" in one of the demo languages and shows the relay switching the light, then switches the fan the same way, with each action appearing in the dashboard log.
  6. For the offline demonstration, the builder disconnects the Pi from the internet and repeats a full exchange, showing that the wake word, transcription, reply and spoken answer all still work with no network.
  7. The builder exports the conversation log from the dashboard, points to the wake-word events, the language switches and the MQTT actions, and reports honestly in the report which exchanges succeeded and where recognition struggled.

Tech stack:

  • Raspberry Pi 5 · 8 GB board for on-device inference
  • USB microphone array · far-field voice capture
  • Vosk offline speech recognition · on-device transcription
  • llama.cpp · quantized model inference runtime
  • 2B-class quantized language model · Dhir-2B-style open model
  • Piper offline text-to-speech · Hindi and English voices
  • MQTT local broker · home-device control messages
  • Companion web dashboard · conversation log and device status

Dataset & model details

  • Dataset: No training dataset is used: the build runs a pre-trained open-weight language model and pre-trained Vosk and Piper speech models, so there is no dataset to validate and no training run to report.
  • Task: Spoken question in Hindi, Marathi, Tamil or English in, free-form text reply out in the same language, plus a device-control intent when the question is a command.
  • Model: 2B-class open-weight language model in quantized GGUF form (Q4_K_M) run through llama.cpp, with Vosk for speech-to-text and Piper for text-to-speech, all on-device.
  • Metrics: Task success on a scripted test phrase set in each demo language, response latency per reply, and wake-word misses per test session, all reported from the student's own demo runs, never claimed in advance.
Parameter Value
Build type Hybrid voice-assistant device plus companion dashboard software (design target)
Controller Raspberry Pi 5 · Broadcom BCM2712 quad-core Cortex-A76 at 2.4 GHz · 8 GB LPDDR4X-4267 RAM (Datasheet value)
Power supply 5 V 5 A · 27 W USB-C power supply (Datasheet value)
Microphone USB microphone array · far-field voice capture for a small room (design target)
Speaker Small USB speaker · spoken replies in the active language (design target)
Status display 3.5-inch display · waveform and active language and listening state (design target)
Speech recognition Vosk offline models · small model about 40 MB per language (Datasheet value)
Language model 2B-class quantized GGUF model · Q4_K_M · file about 1.1 GB (Datasheet value)
Text-to-speech Piper offline engine · CPU-only · Hindi voice in the supported voice catalog · voices about 21–137 MB each (Datasheet value)
Wake word "Namaste Pi" · on-device detection · model starts only after the wake word (design target)
Demo languages Hindi · Marathi · Tamil · English · 4 languages in the demo set (design target)
Home control 2 MQTT relay channels · living-room light and ceiling fan (design target)
Response latency Approximately 2 s per reply (design target)
Dashboard Web dashboard · conversation log · language picker · wake-word status · device switches (design target)
Trend reference IndiaAI Mission launch 3 November 2026 · EKA-1 26.3 billion parameters · trained on about 7.5 trillion tokens · 22 scheduled Indian languages plus English · Dhir 2B and Dhir 5B open-source · on-premise and offline use · reported figures only · never claimed for this build
Builder note Dashboard demo test: a headless browser test switched the dashboard language to Tamil, ran a sample exchange and toggled the fan switch, with the conversation log growing to 7 messages and every action reflected in the log · a wake word is only a short audio-pattern match, so the Pi can listen all day on one small recognizer while the 2B model stays asleep until the wake word fires

How this build compares

Capability This build Vosk command assistant Cloud voice assistant
Hardware Raspberry Pi 5 device with mic array, speaker and display Desktop or laptop running a Python script Smart speaker or phone app
Conversation Free-form replies from a 2B-class language model Fixed command list only, no free-form replies Free-form replies from a cloud model
Languages Hindi, Marathi, Tamil and English English only in the usual build Many languages, cloud-dependent
Internet needed No, fully offline after setup No Yes, every request goes to the cloud
Home control Yes, local MQTT light and fan Sometimes, one relay at most Yes, through the cloud account
Privacy Voice never leaves the room Voice stays on the computer Voice is sent to a server

Project features

This offline voice assistant is built around one promise: nothing spoken in the room ever leaves the room. A USB mic array listens for the wake word, Vosk transcribes speech on the device, a small quantized language model answers in the same Indian language, and Piper speaks the reply aloud, all without an internet connection. The companion dashboard makes the whole loop visible: the conversation log, the language picker, the wake-word status and the device controls. Two MQTT relay channels turn the assistant into something demonstrable rather than a talking box, switching a light and a fan on spoken command. The demo set is Hindi, Marathi and Tamil plus English, and every behaviour below is demonstrated in the same run, so the examiner never has to take a claim on trust.

  • [Offline multilingual conversation] The device listens, understands and answers in Hindi, Marathi, Tamil and English with no internet at any point after setup: speech is transcribed on-device, the reply is generated on-device, and the answer is spoken on-device — implemented in the base build.
  • [Wake-word listening] The mic array listens continuously for the wake word "Namaste Pi" using a small on-device recognizer, and the language model only starts after the wake word is heard, so the device is not recording or processing conversation before it is called — implemented in the base build.
  • [2B-class quantized language model] A small open-weight language model of the 2B-parameter class, in the style of the open-source Dhir 2B model, runs in quantized GGUF form through llama.cpp on the Pi, giving free-form replies instead of fixed command matching — implemented in the base build.
  • [On-device speech recognition and synthesis] Vosk handles speech-to-text and Piper handles text-to-speech, both fully offline, with a Hindi voice among Piper's supported voices, so the spoken answer arrives in the language the question was asked in — implemented in the base build.
  • [MQTT home-device control] Two relay channels switch a living-room light and a ceiling fan from spoken commands, sent as local MQTT messages on the home network, giving the assistant a visible physical action to demonstrate — implemented in the base build.
  • [Companion web dashboard] The dashboard shows the live conversation log, the language picker, wake-word status, model and device status, and the light and fan switches, so the whole offline loop is inspectable from a browser on the same network — implemented in the base build.
  • [Small status display] A 3.5-inch display on the device shows the waveform, the active language and the listening state, so the device communicates what it is doing without needing the dashboard open — implemented in the base build.
  • [Extra language packs] Future scope only, not implemented: adding further Indian languages by loading additional Vosk and Piper voice packs, listed as an extension rather than a claimed feature, since the base build ships the four demo languages.

What is included

  • Complete fabricated voice-assistant device (Raspberry Pi 5 8 GB, USB mic array, speaker, 3.5-inch status display, two relay channels, wooden base, wiring)
  • Offline software stack (Vosk speech models for the four demo languages, Piper voices, llama.cpp, 2B-class quantized language model, local MQTT broker, companion web dashboard)
  • Setup and calibration guide (model download, language pack setup, wake-word test, relay wiring, offline test procedure, log reading worksheet)
  • Project report PDF (IndiaAI and EKA-1 background, offline voice pipeline design, model-size honesty note, demonstration results, honest measurement limits)
  • PPT presentation for final review
  • Viva Q&A preparation document (why EKA-1 cannot run on a Pi, quantization and memory, Vosk vs language model roles, MQTT design, offline limits, language coverage)

Limitations & prerequisites

  • Not EKA-1 and not a Dhir model: this build runs a small 2B-class open-weight model in the same offline spirit, it shares no weights, training data or performance with EKA-1 or Dhir, and it must never be presented as running either of those models.
  • Small-model answers: a 2B-class quantized model gives short, simple replies and can misunderstand unusual phrasing, so it is a conversation demonstrator, not a general knowledge assistant.
  • Speech recognition limits: Vosk small models mishear accented speech, fast speech and background noise, and Marathi and Tamil recognition is weaker than Hindi and English, so the demo needs a quiet room and clear speech.
  • No live information: with no internet the assistant cannot give weather, news, live scores or any current facts, and it must say so plainly instead of guessing.
  • Two devices only: the demo controls one light and one fan through two relay channels, and adding more devices needs more relays and wiring.
  • Language coverage is the demo set: Hindi, Marathi, Tamil and English are demonstrated, and other Indian languages need extra speech and voice packs that are not in the base build.
  • Needs mains power: the Pi 5 needs its 5 V 5 A supply, and the relays switch mains-powered loads, so wiring must be checked before first power-up and the device must be powered down before any wiring change.

Frequently Asked Questions

Is this project suitable for a final-year project?

Yes, for Electronics, IoT and Computer Science programs, because it combines embedded hardware, offline speech processing, a small language model and a web dashboard into one testable loop, with a clear review thread around why a 26.3-billion-parameter model cannot run on a Pi and what a 2B-class model can honestly do in its place.

Can EKA-1 itself run on a Raspberry Pi?

No. EKA-1 has 26.3 billion parameters and was trained on about 7.5 trillion tokens, so even in 4-bit quantized form it would need roughly 13 GB or more of memory before any working space, far beyond the Pi 5's 8 GB. This build is honest about that: it runs a 2B-class quantized open model of about 1.1 GB, in the same IndiaAI offline spirit as the Dhir models, and the report states the difference plainly.

How is this different from the Offline Voice Assistant Project using Python and Vosk?

That listing is a desktop Python script that matches spoken words against a fixed command list in English only, using Vosk alone. This build is a different project: a Raspberry Pi 5 hardware device with a mic array, speaker and display, free-form conversation from a 2B-class language model in Hindi, Marathi, Tamil and English, and a companion dashboard with a conversation log and MQTT home-device control.

Does it really work without internet?

Yes, after the one-time setup download. The Vosk speech models, the Piper voices and the quantized language model all live on the Pi, and the MQTT broker runs on the Pi too, so the wake word, transcription, reply, spoken answer and light and fan control all work with the network cable unplugged, which the demo shows directly.

Can I add another Indian language?

Yes, as an extension. Each new language needs a Vosk speech model and a matching Piper voice, both downloaded once, plus a language entry in the dashboard picker, and the new language is tested with the same scripted phrase set before it is shown as working. The base build ships Hindi, Marathi, Tamil and English, and recognition quality varies by language because the small speech models are trained on different amounts of data.

What will I receive with the project?

The fabricated voice-assistant device with the Pi 5, mic array, speaker, status display and two relay channels, the full offline software stack with the dashboard, the setup and calibration guide, the project report, the presentation and the viva Q&A document. A 5 V 5 A USB-C supply and a home Wi-Fi network for the dashboard are needed, both covered in the setup guide.

Components & software requirements
  • Raspberry Pi 5 · 8 GB board for on-device inference
  • USB microphone array · far-field voice capture
  • Vosk offline speech recognition · on-device transcription
  • llama.cpp · quantized model inference runtime
  • 2B-class quantized language model · Dhir-2B-style open model
  • Piper offline text-to-speech · Hindi and English voices
  • MQTT local broker · home-device control messages
  • Companion web dashboard · conversation log and device status

Dataset & model details

  • Dataset: No training dataset is used: the build runs a pre-trained open-weight language model and pre-trained Vosk and Piper speech models, so there is no dataset to validate and no training run to report.
  • Task: Spoken question in Hindi, Marathi, Tamil or English in, free-form text reply out in the same language, plus a device-control intent when the question is a command.
  • Model: 2B-class open-weight language model in quantized GGUF form (Q4_K_M) run through llama.cpp, with Vosk for speech-to-text and Piper for text-to-speech, all on-device.
  • Metrics: Task success on a scripted test phrase set in each demo language, response latency per reply, and wake-word misses per test session, all reported from the student's own demo runs, never claimed in advance.
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download free synopsis (PDF)

Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.

Get a quotation