Voice Controlled Swarms

https://news.ycombinator.com/rss Hits: 6
Summary

Inspired by Command School from Enders Game, let’s make swarms that we can control with our voice! We will do this by having a voice-to-text program feed our voice commands into an LLM, and then that LLM can run a bunch of commands to control the swarm.Below is the final result. Your browser does not support the video tag. And we will make this in two parts:First we will create a general voice-controller that can plug into any application that supports the Model Context Protocol (MCP). As an example, we will make a canvas application where the LLM can draw shapes on a canvas and move the shapes around, allowing us to “draw” with our voice.Then we will make a swarm simulation with a large set of commands which allow the LLM to direct the swarms according to our commands.Voice-ControllerThe overall architecture for how users interact with the simulation will be as follows: the player holds down a button to speak a command, which gets transcribed using a voice-to-text model. The transcription is sent to an LLM agent connected to an MCP server. That server controls the simulation, meaning the agent can directly interact with the simulation using any available tools implemented on the server.One neat aspect of this architecture is that the voice-controlled agent is independent of the application running on the MCP server. This means we can reuse the voice-controlled agent for any MCP-compatible application. In fact, we’ll develop the voice-controlled agent only once and then use it to interact with multiple MCP servers.As an example, we create a fairly simple MCP server below.Canvas MCP ServerWe create a canvas that can show squares and circles. We create a few simple functions on the canvas that the LLM can call, then the LLM will be able to turn the voice commands we say into actual function calls on the canvas.Here are the commands we provide, which in the language of LLM agents are called the ‘tools’.create_circlecreate_squaremove_shapesremove_shapesget_canvasIt’s es...

First seen: 2025-08-08 17:29

Last seen: 2025-08-08 22:30