AI Wake-Up Music: A New Track Every Morning, Tuned to the Day

Oct 20, 2026 | Build Log, Smart Home

A vinyl record glowing orange like a sunrise

Every morning a speaker at home plays a short spoken briefing as the alarm: two AI hosts talk through the day’s plan, the open tasks, the weather and a few AI stories. Under the voices runs a bed of music, and that music is new every morning. Google’s Lyria 3 Pro writes it fresh each day.

The first version did that too, but always in the same style: warm downtempo around 80 to 90 BPM, whatever the day. A wet, windy Monday got the same breezy chill-out as a sunny Friday. Now three things decide how the music should sound: the day of the week, the weather forecast and how busy the day is. A stormy morning gets dark Rhodes and cello. A clear Friday gets an upbeat balearic guitar track at 108 BPM. Nobody picks it; a few lines of code do.

Diagram: day of the week, weather and workload set the music style; Lyria 3 Pro makes two tracks that are crossfaded, with yesterday's bed as a fallback, then mixed under the two AI hosts into the morning alarm
From three inputs to the alarm. If every try comes back empty, yesterday’s bed plays instead.

Three inputs, one music style

The script reads the same written brief the hosts read from. It already contains the forecast and a Needs attention list with a count, so the inputs cost nothing extra to get. On weekends the brief carries no forecast, so the script fetches one from Open-Meteo, a free weather API that needs no key.

Input What it sets Where it comes from
Day of the week Energy and tempo (BPM) The calendar
Weather Mood and instruments The brief’s forecast, or Open-Meteo on weekends
Workload One extra step of energy on a heavy day The count of open items in the brief

The day of the week sets the energy

Each day has an energy level from 1 to 5. Monday starts low so the week eases in, midweek lifts, Friday is the peak, and the weekend settles back to relaxed. The tempo follows the energy: 70 BPM at level 1, plus 9.5 BPM for each step.

Day Energy Feel Tempo
Monday 2 Slow and gentle 80 BPM
Tuesday 3 Warm, relaxed groove 89 BPM
Wednesday 4 Bright and moving 98 BPM
Thursday 3.5 Between relaxed and bright 94 BPM
Friday 5 Energetic, sunny and uplifting 108 BPM
Saturday 3 Relaxed weekend groove 89 BPM
Sunday 3 Relaxed weekend groove 89 BPM
Seven glass jars of orange light on a dark shelf, brightest at the fifth
Seven days, seven energy levels: the week builds to Friday, then eases off.

The weather sets the mood

Three moods cover every morning. The script checks them in order and takes the first that matches. Each mood has three instrument palettes, so the same kind of day doesn’t always get the same sound.

Mood When Feel Instrument palettes
Stormy Gusts of 50 km/h or more, or rain of 0.5 mm/h or more Grounded and steady, deeper minor key, calm focus Deep Rhodes, low strings, muted kick · dark analog pads, sub bass, brushed snare · cello drone, felt piano
Cold Lowest temperature of 3 °C or below Warm and cosy, like coming in from the cold Mellow organ, soft strings · Wurlitzer, upright bass · felt piano, soft horns
Fair Anything else Bright, open and optimistic Nylon guitar, airy pads · balearic guitar, sunlit synths · vibraphone, shimmering pads

Stormy wins over cold on purpose. A freezing, windy morning needs focus more than comfort.

A heavy day adds energy

When the brief lists six or more items that need attention, the energy goes up one step, capped at 5. A busy Tuesday then sounds like a Wednesday, and a busy Wednesday reaches Friday’s 108 BPM. It’s a small nudge, but on a heavy day the music starts the day at the pace the day will need.

What we actually send to the model

The prompt is a fixed template with the style filled in. This is the first track on a fair Tuesday with a normal workload:

Instrumental only, no vocals. A sunrise chill-out track for a spoken morning briefing: first light before dawn, soft and spacious, slowly brightening. Mood: bright, open and optimistic. Energy: warm, relaxed groove, around 89 BPM. Palette: nylon guitar, airy pads, light house pulse. Unobtrusive and steady under speech, no big drops, fades cleanly. About three minutes.

Two phrases do most of the work. Unobtrusive and steady under speech keeps the model from writing anything that fights the voices, and no big drops stops the sudden build-and-release that dance tracks love and that sounds terrible behind someone reading out a phone number.

Two tracks: before dawn, then sunrise

Each morning gets two tracks of about three minutes each. The first is asked for first light before dawn, soft and spacious, the second the sun has just risen, warmer and brighter with a gentle lift. They are joined with a six-second crossfade into one bed, so the music brightens as the briefing goes on instead of repeating the same three minutes.

The music is generated in the background while the script for the hosts is written and voiced, so it adds almost no time. The whole episode, script, voices, music and mix, is built in about two minutes.

Mixing music under two voices

Fresh music is only half the job. It also has to sit under speech without anyone reaching for the volume. The mix is done with ffmpeg in four steps:

  • Lower to begin with. The music plays at about a third of its full level.
  • Ducking. A sidechain compressor uses the voices as its trigger. Whenever a host speaks, the music dips further, and it rises again in the pauses.
  • Fades. Two seconds in at the start, four seconds out at the end, so the alarm never starts or stops abruptly.
  • Even loudness. Both voices are levelled to the same loudness first, then the whole mix is normalised to -16 LUFS, so Friday’s upbeat track is no louder than Monday’s quiet one.

When the AI fails, there’s still music

Lyria is good, but not perfectly reliable. Sometimes a request streams back and finishes with no audio at all. In the first two and a half weeks of daily runs that happened eight times. The script treats anything under 30 seconds or about 100 KB as a failure and works through three layers of backup:

  1. Try again, differently. Each retry uses the next instrument palette for the same mood. A different prompt is more likely to succeed than the same one sent again.
  2. Reuse yesterday’s music. Every good bed is saved as the next day’s fallback. If every try comes back empty, yesterday’s bed plays. So far that has been needed once.
  3. An offline copy. Since this week, the last good bed is also copied to Home Assistant, so if the whole build fails, the alarm can still play music rather than nothing.

One lesson from running it daily: the music has been the most dependable part. The failures this month were upstream, when the written brief the hosts read from didn’t arrive or couldn’t be fetched, and that is where the next fixes go.

What it costs and what changed on the way

It is two music requests a morning, plus the occasional retry, through the same OpenRouter account that runs the voices, so there is no extra subscription or server. The design took three steps over two days. Day one: one fresh three-minute track, looped under the briefing. Later that day: two tracks, dawn and sunrise, crossfaded. Day two: the style rules for the day, the weather and the workload. Rotating the instrument palette after an empty result was there from the start, because Lyria’s empty responses showed up on the very first test runs.

Words used in this post

Term Meaning
Lyria 3 Pro Google’s AI music model. It turns a text description into an instrumental track.
BPM Beats per minute: the tempo of a piece of music.
Music bed Background music that runs under speech, as in radio or podcasts.
Crossfade Fading one track out while the next fades in, so there’s no gap.
Ducking (sidechain compression) Automatically lowering the music while someone speaks.
LUFS A measure of perceived loudness. Matching it keeps every episode at the same volume.
Open-Meteo A free, open weather forecast API that needs no account or key.

The same method, applied to your systems

The pattern here, an AI step driven by plain rules, a clear check for bad output and a fallback that always delivers something, is the one we use when we put AI into business processes. If you have a daily task where AI output would help but a silent failure isn’t acceptable, a free 30-minute call is enough to sketch how it could work.

FAQ

Can AI generate a new piece of music every day automatically?

Yes. We call Google’s Lyria 3 Pro through OpenRouter from a small Python script each morning. The prompt is built from the day, the weather and the workload, and the model returns roughly three minutes of instrumental audio per request.

How do you stop AI music from drowning out speech?

With sidechain compression, often called ducking. The voice track acts as the trigger: whenever someone speaks, the music drops to a fraction of its level, then rises again in the pauses. The music also sits at about a third of full volume to begin with.

What happens if the music model returns nothing?

It happens. In our first two and a half weeks, eight generations ended with no audio at all. The script tries again with a different instrument palette, and if every attempt comes back empty it plays yesterday’s music instead. A copy of the last good track also lives in Home Assistant, so the alarm still has music if the whole build fails.

Why generate two tracks instead of one?

One three-minute track would repeat noticeably under a longer briefing. Two tracks with different moods, before dawn and just after sunrise, crossfaded over six seconds, give one bed that develops instead of looping.

How does the weather change the music?

Strong gusts (50 km/h or more) or real rain (0.5 mm/h or more) give a darker, grounded track in a minor key. A cold morning (3 °C or below) gives warm, cosy instruments. Anything else gets bright, open music with guitar, airy pads or vibraphone.

Does this need Home Assistant?

No, the music is made by a standalone script. We use Home Assistant only to store the finished file and play it on a speaker at alarm time, and to keep the offline fallback track.

Want this working in your business?

D3X Solutions LABS builds AI agents and automation that pay back fast. Set up a free 30-minute call and we will map your first win together.

Get in touch

Blog

What We Do

Product

Consumer and enterprise software, built with taste and shipped fast.

Infrastructure

AI agents, automation, and orchestration - production systems, not demos.

Advisory

Hands-on engineering and strategy for teams shipping AI into production.