Blog

Alexsay 0.1: the first release

Alexsay has its first release. It is a voice assistant you install with one line, talk to by name, and own from the microphone to the server.

curl -fsSL https://alexsay.com/install.sh | sh

That line downloads one file: the alexsay binary for your machine, checked against a signed list of checksums. Then alexsay setup prints the speaker's id, you add it in the app with your OpenAI key, and alexsay run starts listening. Say "Alexsay" and talk.

What is in 0.1

  • One Rust binary for every platform. Static on Linux x86_64 and aarch64, including the Raspberry Pi 5, plus macOS on Apple Silicon and Intel and Windows on x86_64 and Arm. It is under 13 MB, with no Python, no Node.js and no runtime to install.
  • A wake word that runs on the device. A small neural network listens for "Alexsay" locally, so nothing leaves the room until you say it. alexsay wake record and alexsay wake train teach it your own voice in a few minutes.
  • Full-duplex conversation. GPT-Live answers in about a second, and you can talk over it.
  • Echo cancellation in software. WebRTC's AEC3, in pure Rust, removes the speaker's own voice from the microphone, so a laptop or any USB microphone works as well as dedicated hardware.
  • Memory. After each conversation, the assistant keeps the facts that matter: your people, home, routines and reminders. You can read and edit all of it in the app.
  • Phone calls. With Twilio connected, it calls, texts and WhatsApps your contacts. It joins the call with you, presses menu keys, and hands you a report when the call ends.
  • Lights. Lightwave lights and dimmers by room, by voice.
  • Your locale and time zone. Every session knows your language, currency and clock.
  • Signed updates. The speaker checks for releases, verifies the signature, installs, restarts and tells you out loud.

Your own server, too

The app at app.alexsay.com runs on Cloudflare. If you would rather keep everything at home, alexsay-server is the same server in one file: the API, the app, an HTTP server and an embedded SQLite database. It runs the exact code that serves app.alexsay.com, and every release has to pass the same end-to-end tests against both. It is meant for your own machine or home network, and it never updates itself behind your back.

What comes next

The hardware is on the bench: a Raspberry Pi 5, a ReSpeaker four-microphone array and a 4 inch driver, heading for a printed cylinder. Next up are the speaker's own phone line over SIP, a wake word trained on real room recordings, and more providers for the assistant and the home.

The code, the parts list and the build notes are on GitHub, under the MIT licence. Issues and pull requests are welcome.

More from the blog