Skip to content
The Standing Wave

The Home That Speaks Marathi

Voice notes in Marathi, sent from the sofa, becoming lights and old songs on the TV.

Most smart homes speak English, because the assistants that ship with the hardware only really speak English. Mine speaks Marathi, because I do. The setup is two days old and already the default way I turn things on without getting up.

How it works

A voice note lands on WhatsApp. The gateway hands the audio to a Marathi speech-to-text model (Sarvam AI’s saaras:v3, language code mr-IN), which returns a transcript. A small mapping layer turns the transcript into a Home Assistant call, and the house acts.

The automation itself is boring: a couple of REST calls. The interesting part is that the speech-to-text is good enough to act on, in a language almost no commercial assistant bothers with.

Today’s log

Four commands, all executed from the sofa.

लाईट नंबर एक आणि चार लिविंग रूमचा लावतोस का? — “Turn on living room lights one and four?” Both came on. Note the casual “तोस का” suffix — this is how you actually talk to someone in Marathi, not how a phrasebook expects you to. The model handled it.

टीव्ही चालू कर. — “Turn on the TV.” The LG OLED woke from standby. The Home Assistant call can time out while the TV decides to wake; the state goes off → paused, and then it is on.

टीव्हीच्या यूट्यूबवर जुनी मराठी गाणी लाव. — “Put on old Marathi songs on the TV’s YouTube.” This one needed actual work. The webOS integration on this Home Assistant instance cannot launch the YouTube app with a video: no app-launch services are exposed, and the source list comes back empty. The fallback was to search YouTube, take the direct MP4 stream, and hand the URL to the TV’s built-in media receiver. It played an hour of old songs. The honest trade is that you cannot skip tracks with the remote, because it is not the app — the TV is just playing a stream.

किचन मधले सगळे दिवे पांढरे कर. — “Make all the kitchen lights white.” A minute later: “coolest.” This is where the integration lied. Home Assistant’s Wiz integration rejects color temperature changes on these bulbs outright — 400 for both kelvin and mireds. Wiz bulbs, however, answer on UDP port 38899, and one setPilot with temp: 6500 did what the integration refused to do. Verified by reading the state back from the bulb itself, because Home Assistant’s copy of it was stale.

What actually matters

The speech-to-text is the product; the rest is plumbing. And the language is not a gimmick: every mainstream assistant assumes English or, at best, Hindi. A household that runs on Marathi gets a system that is genuinely usable instead of a demo that gets admired once.

It is also honest to say the chain is fragile. The intent mapping is small and hand-written. The TV trick is a stream, not the app. The kitchen bulbs work because I went around the integration, which means the integration now disagrees with reality until it is fixed. None of that makes it less useful. It makes it a project.

Status

Active, and two days old. It is already the default way I turn lights on from the sofa, which is the only metric that matters.