Why don't I hear any sound?

Common causes:

  • Speaker compatibility: The speaker doesn't support HTTP audio streams
  • Network: Firewall blocking the stream, or speaker on different subnet
  • Volume: Channel volume or master gain set to 0
  • Speakers muted: The speaker button left of the channel's Volume slider is red
  • Unassigned tracks: Tracks in the Theme Editor's Unassigned section don't play. Pick a Mode or drag them into a section
  • Device muted: Physical speaker is muted

Try playing to a different speaker to narrow it down, and check Settings › Logs. More in Troubleshooting.

My speakers aren't showing up

In the Home Assistant add-on, Sonorium discovers speakers from Home Assistant's media_player entities. On Docker it also finds Google Cast, Sonos, DLNA, AirPlay, LinkPlay and HEOS speakers on your network (use network_mode: host), and you can add one by its address.

  • Verify speakers are set up as media_player entities in HA
  • Check they aren't disabled in Sonorium Settings
  • In Docker, click Rescan network on Settings → Speakers

Speakers Sonorium finds are switched off until you turn them on on Settings › Speakers. See Speakers.

What audio formats are supported?
  • .mp3 — Most compatible, recommended
  • .wav — Uncompressed
  • .flac — Lossless
  • .ogg — Open format

Use MP3 at 128-320kbps for best results. Longer tracks (1-10 min) loop more seamlessly.

What do "Interval" and "Duration" do?
  • Intermittent: Interval sets the wait between plays. For occasional sounds like thunder or bird calls, try 20-40%.
  • In an Intermittent group: how fast a track's weight wears off. Higher comes back sooner; lower plays less often.
  • Ebb & Flow: Duration increases or decreases the amount of time the track is at a value, while the Rise increases or decreases the speed at which the track reaches that value.
What are the playback modes?
  • Background: plays all the time, looping smoothly. Rain, wind, a fire.
  • Intermittent: plays once, then goes quiet before playing again. Interval sets the wait. In a group, the group decides when it plays. Bird calls, a thunder crack, a door.
  • Ebb & Flow: Tracks can be configured with a minimum and maximum volume, and will automatically move to any value between those two limits randomly for a period of time. This interval is controlled by the Duration and Rise sliders. Duration increases or decreases the amount of time the track is at a value, while the Rise increases or decreases the speed at which the track reaches that value. Wind, surf, rain that gusts.
  • Rise: in an Ebb & Flow track's ⋯ menu, from Gradual to Sudden. A group can set the same Rise for every file.
  • Pause between plays: in an Ebb & Flow track's ⋯ menu. Off, the file loops and is always heard. On, it plays once from start to finish, fades out at its end, then pauses before it comes back. Rain on a tin roof that comes and goes.
  • Unassigned: uploads and files added from another theme start here. Nothing here plays. Pick each file's Mode, or drag it into a section or a group.

Before 1.5.0, Background was Continuous, Intermittent was Sparse, and Ebb & Flow was Presence. Auto is retired in 1.6.1: each Auto track became the mode it was playing as. Gapless loops a Background track without crossfade.

What is a group?

A group is a folder inside a theme. Groups replace the old per-track "Exclusive" switch.

  • Groups: a group belongs to its section and plays that section's way: Background groups are Merry-go-round, Intermittent groups take turns, Ebb & Flow groups play every file at once. Make one with the section's New group.
  • Take turns: a group is a folder of tracks. In an Intermittent group only one plays at a time, never overlapping. Use it for sounds that shouldn't pile up, like thunder cracks or songs from one musician.
  • Group mode: Intermittent plays one track at a time with a gap; Merry-go-round makes a continuous bed; Ebb & Flow plays every file at once.
  • Gap: after a track finishes, the group waits a random time in this range (minutes) before the next one starts. Different groups don't wait for each other.
  • Intermittent group: on its turn, a track plays its whole file once, start to finish, then hands over. Background and Ebb & Flow are for the ambience outside Intermittent groups.
  • Merry-go-round: one file plays, then crossfades into another picked at random, never the same one twice in a row. Crossfade sets the overlap. One file crossfades into itself. Use 3 or more files of the same scene for a bed that never repeats the same way.
  • Ebb & Flow group: every file plays at once, each between its minimum and maximum volume. Each file keeps its settings; the group's Volume and Duration scale them down. With the group's Pause between plays on, every file pauses between plays, at staggered times, so at least one is always playing. Off, each file follows its Pause between plays setting.
  • Weight: each time a track plays, it gets heavier and is less likely to be picked next. The weight wears off as other tracks play. The same track never plays twice in a row.
  • Interval: how fast a track's weight wears off. Higher comes back sooner; lower plays less often.
  • Deleting a group: keeps its files; they move back into its section.
How do I blend two themes?

Link files from another theme. They play from the theme they came from, without being copied, and a preset turns them on.

  • In the Theme Editor, click Add from another theme above the list. Pick a theme, preview its files, tick the ones you want and click Add.
  • Linked file: plays here but stays in the theme it came from. It starts in Unassigned. If the file is gone, it shows Missing. Pick its Mode, or drag it into any section or group.
  • Presets: turn linked files on and other tracks off, like rain that mutes the crickets. A preset that turns a linked file on shows ⚭.

Example: a Campsite theme links rain from a Rainy Day theme. Its "Rain" preset turns the rain on and mutes the crickets. Pick it on a channel and the rain fades in while the crickets fade out.

A linked file can sit in any section or group. Exports copy linked files in, so a shared theme is complete.

Why does my theme go quiet between loops?

Some recordings fade in at the start and fade out at the end. Looped, the sound drops each time the file ends.

Put the file in a group in the Background section (a Merry-go-round), and set its Crossfade at least as long as the file's fade. A single file crossfades into itself, so the next pass is already playing while this one fades. With 3 or more recordings of the same scene, the bed never repeats the same way.

Can two channels play the same theme with different presets?

Yes. The preset is chosen per channel, so changing it on one channel doesn't change the other. Picking a preset glides the mix to it over 3 seconds.

What are sequences and playlists?

They let a channel change over time.

  • Sequence: plays presets of this theme in the order you choose, gliding from one to the next. Marked with the sequence icon (square, triangle, circle). For example, a mild summer storm that becomes a heavy one.
  • Playlist: themes that play one after another on a channel: each entry is a theme, with a preset or sequence if you want one, played in order or shuffled, for a random time in the playlist's range, once or on repeat.

Make a sequence from Sequences in the Theme Editor; it is then listed in the Preset menu after the presets. Make a playlist on the Playlists page, then press the playlist button to the right of a channel's boxes to play it. Next on the channel skips ahead.

In Home Assistant, sequences are options of the channel's Preset select, as "name (sequence)", and each channel has a Playlist select, a Next button and a Step sensor.

Can I listen in my browser?

Yes. The headphones button on a channel plays it on the device you're using, with a separate volume slider, even while the speakers are stopped. Start on headphones, add speakers, then press Play: the speakers join the same stream without a break. Stop stops the speakers only.

The speaker button left of the Volume slider mutes the speakers: the sound sent to them goes silent, on any kind of speaker.

Does it work with Sonos/Google Home/Alexa?

In the Home Assistant app, any media_player in Home Assistant that plays an internet audio stream. The Docker version also finds these on your network:

  • Sonos: Full support
  • Google/Chromecast: Works great
  • DLNA/UPnP: Most network speakers work
  • AirPlay: Works with AirPlay devices
Where can I get ambient audio files?
  • Included themes: Sleigh Ride, Tavern and "A Rainy Day... Or is it?" come with Sonorium
  • Freesound.org: Large free sound library
  • Ambient-Mixer.com: Downloadable ambient soundscapes
  • YouTube Audio Library: Free ambient tracks
  • Record your own: Nature sounds, rain, etc.
Which install should I use?

There are three, each with a step-by-step guide:

  • Home Assistant app: you run Home Assistant OS or Supervised. Plays on Home Assistant's speakers, and every Home Assistant user can open it from the sidebar.
  • Docker: you have a Linux server or NAS with Docker, with or without Home Assistant. Finds Google Cast, Sonos, DLNA, AirPlay, LinkPlay and HEOS speakers on your network.
  • Windows: Sonorium on a Windows PC.

A comparison is on Getting Started.

Is Sonorium free?

Yes, for noncommercial use. Sonorium is licensed under the PolyForm Noncommercial License 1.0.0: you can use, change and share it for any noncommercial purpose, at home or in a charity, school or public institution. Commercial use needs a separate licence.

The source code is on GitHub. Sonorium was originally based on Amniotic by fmtr, and has since been rewritten.

Do I have to sign in?

On a new Docker install, yes: the first visit creates the admin account, and every browser signs in after that. In the Home Assistant app, Home Assistant's sidebar opens Sonorium without a second sign-in, and Home Assistant's users are Sonorium's users. Speakers never sign in.

An install updated from a version before 1.7.0 stays open until an admin turns on Require login. See Sign-in and Users.

Can Home Assistant or a script make announcements?

Yes. Home Assistant (each channel's notify entity), MQTT, Node-RED or any program that can send a web request with a key can send a chime, words to speak, or both. Sonorium plays them on the channels named, and a playing channel gets quieter while they play. The other system decides when to announce; each channel has an Announcements switch to turn them off. See Announcements.

Is there a phone app?

The Sonorium app for Android links to your Sonorium with a QR code: Link App on the Channels page. On any phone, the web UI also works in the browser. See Link App.

How do I report a bug?

Open an issue on GitHub:

Include your setup details, steps to reproduce, and any error logs.

The Sonorium version and install type (Home Assistant app or Docker) are shown at the bottom left of the menu. On a phone, open the menu with the button in the top bar.