Install
On the machine with the speakers.
Everything runs there. Your phone is only a browser pointed at it, so there is nothing to install on the phone and nothing to sign up for anywhere.
1 · The two things it needs
brew install node ffmpeg2 · Put it on the machine
npx @loicortola/surroundify install3 · Make it start on its own
npx @loicortola/surroundify service installOn a Mac, Surroundify starts when you log in, not at boot — macOS gives no sound card to a program running before someone logs in. For a Mac that lives in a cupboard, turn on automatic login in System Settings → Users & Groups.
Then open
http://localhost:7171, or http://<its-name>.local:7171 from your phone
Once it is up
The first five minutes
- 01
Choose the output
Every sound card, HDMI output and connected Bluetooth speaker the machine can see is listed. Pick one — a six-output USB interface, a receiver, or the two speakers already there.
- 02
Say where the speakers are
Draw the room and drag each output channel to where the speaker actually stands. This is what gives “behind you” and “to your left” a meaning for the rest of the session.
- 03
Place the sounds
Pick a soundscape and move its layers around the room. Nothing is permanent until you save it as a mix profile — your version of that soundscape, recallable by name.
Optional
Put it on your phone’s home screen
Phones only offer to install a site served over HTTPS, and a plain http://192.168.… address will never qualify. So Surroundify can give itself a real, public name with a real certificate.
In Settings → System Settings → Domain, type the name you want — something like salon — and press Claim. It becomes salon.apps.surroundify.co. Nothing to configure, nothing to sign up for. The name resolves to your machine’s address on your own network, so it only works from home, which is the point.
From that HTTPS address: on iPhone and iPad, Share → Add to Home Screen. On Android, the Install app prompt in Chrome. On desktop, the install icon at the right of the address bar. The certificate renews itself without interrupting playback.
Afterwards
Checking on it, and taking it away
Installed? Running? Starts by itself?
npx @loicortola/surroundify service statusRestart it
npx @loicortola/surroundify service restartStop it, and stop it starting again — your data stays put
npx @loicortola/surroundify service uninstallThose npx prefixes are there because installing this way deliberately puts nothing on your PATH. If you would rather type just surroundify, install it globally as well and both spellings work. Something still wrong? The questions page covers what usually goes sideways.