Home · How-to

How Do I Make My Speakers Say Something on a Schedule?

Type the sentence, pick the time, walk away · 6 min read

Last updated

Every operating system can play a sound at a set time. The awkward part is saying a sentence — because the obvious routes either need a smart speaker and an account, or need you to record an audio file every time the wording changes.

The approach here has three moving parts and no account: something that keeps time, something that turns text into speech on the machine itself, and something that owns the speakers.

What is the shortest version?

  1. Install Multilarm on the machine attached to your speakers — a PC, or a Raspberry Pi.
  2. Add a scheduled event: a time, the days it applies to, and the text to say.
  3. Save. That is the whole job.

At the appointed time the machine speaks the sentence out loud. It does not contact a server to do it, so it works on a machine with no internet connection, and the wording changes by editing text rather than by re-recording anything.

How does the schedule actually decide when to fire?

A schedule fires on a rule rather than on a single timestamp, and four kinds of rule cover almost everything people ask for: a clock time on chosen days, a repeating interval inside a window, a rule limited to a date range that reverts on its own afterwards, and calculated times such as prayer times that move daily. Each carries its own volume:

Events carry their own volume, so a 6am reminder does not have to be as loud as a midday one, and a specific event can be silenced without dismantling the schedule.

Can it say something different each time?

Yes, within reason. The text of an event can include the date and time, so "the next bus leaves at 08:40" can be a rule rather than seven separate recordings. For anything that depends on outside information — a weather forecast, a calendar entry, a queue length — the trigger API is the honest answer: whatever already knows the fact sends the finished sentence over HTTP or MQTT and Multilarm speaks it.

What does the voice sound like?

The built-in voice is neural rather than the flat robotic synthesiser people remember from older systems. The model runs on the device itself: roughly a second per sentence on a desktop PC, a few seconds on a Raspberry Pi, and faster again for a phrase that has been spoken before. Several English voices ship, and the speaking rate is adjustable.

One honest limitation: the built-in neural voice speaks English only — US and UK accents. For any other language, schedule a recorded audio file instead. Recorded files are treated exactly like spoken text everywhere in the product, so nothing else about your schedule changes.

Do I have to leave a computer running?

Something has to be awake to keep time, and that something should be small. A Raspberry Pi draws a few watts, boots straight into the schedule, needs no screen or keyboard, and costs about as much per year in electricity as a couple of coffees. A desktop PC works equally well if one is already on.

The service starts at boot, so a power cut ends with the schedule running again rather than with somebody remembering to log in.

Frequently asked questions

Do I need a smart speaker or a cloud voice service?

No. The text-to-speech engine ships with the software and runs locally. Nothing you type leaves the machine.

Can it play a chime before the announcement?

Yes — a lead-in sound before speech is a normal configuration, and it measurably improves whether people actually listen to the sentence that follows.

What if music is already playing?

Background music ducks under the announcement and comes back afterwards, at a configurable amount and fade. There is a separate page on exactly that.

Can I schedule it on Windows as well as a Raspberry Pi?

Yes. Windows and Linux on ARM — including every modern Raspberry Pi — share the same scheduler and the same configuration file. A configuration written on one runs on the other.

How do I know it fired?

Every play is written to a local log with what played, when, and to which output, and the dashboard shows the recent history alongside the next events due.