Skip to content

Releases: Austinshu/PC2Sonos

PC2Sonos v1.5.9

Choose a tag to compare

@Austinshu Austinshu released this 28 Sep 06:25

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it. It installs VB-Audio Virtual Cable and PC2Sonos, then starts PC2Sonos automatically when you log in.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. The first launch offers to install the free BlackHole virtual audio device and asks for Microphone access. That request is expected; the macOS section of the README explains why.

No account, no license and no paywall on either platform.

What's new in v1.5.9

"Scale everything together" now turns everything up, not just Sonos. Above 100%, the slider at the top of the Sonos card used to raise only your Sonos speakers and leave your PC speakers and headphones where they were, so dragging it up looked like it did nothing on the PC. It now raises every PC speaker too, each stopping at its own 100% maximum. Below 100% it turns everything down as before, and dragging it back to 100% returns every speaker exactly to where it was. The PC speaker boost under Advanced is still never changed by it.

PC2Sonos v1.5.8

Choose a tag to compare

@Austinshu Austinshu released this 28 Sep 06:09

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it. It installs VB-Audio Virtual Cable and PC2Sonos, then starts PC2Sonos automatically when you log in.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. The first launch offers to install the free BlackHole virtual audio device and asks for Microphone access. That request is expected; the macOS section of the README explains why.

No account, no license and no paywall on either platform.

What's new in v1.5.8

No more static from a big EQ boost. A large bass, mid or treble boost in the PC speaker EQ pushes loud music past full scale. PC2Sonos used to squash that with its limiter inside the EQ, before your volume slider. So with, say, +11 dB of bass, loud passages crackled with static at any volume, even with the slider turned well down where there was plenty of room. On Windows, the EQ now keeps the full boost, and the limiter only acts if the sound would still clip after your volume is applied. With the volume below full, a boosted EQ now comes through clean. At 100% volume a very large boost still has to be limited; a bass boost of about +6 dB or less stays clean even there.

PC2Sonos v1.5.7

Choose a tag to compare

@Austinshu Austinshu released this 28 Sep 05:56

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it. It installs VB-Audio Virtual Cable and PC2Sonos, then starts PC2Sonos automatically when you log in.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. The first launch offers to install the free BlackHole virtual audio device and asks for Microphone access. That request is expected; the macOS section of the README explains why.

No account, no license and no paywall on either platform.

What's new in v1.5.7

No more static at low PC speaker volumes. When a PC speaker's volume was turned well down in PC2Sonos and the device's own knob turned up to make up for it (common with a headset whose Windows volume is fixed), the sound could turn grainy and staticky. PC2Sonos was lowering the volume on 16-bit audio, and at a low setting that leaves only about 12 bits of detail for the headset to amplify. On Windows, PC2Sonos now sends your PC speakers full-resolution 32-bit float audio, the format Windows mixes in anyway, so a low volume stays clean.

Smoother volume changes. Moving a PC speaker's volume slider now fades to the new level over a few milliseconds instead of jumping, so it can't click. Moving the slider for a headset whose volume Windows can't change also no longer touches the headset's Windows settings each time.

PC2Sonos v1.5.6

Choose a tag to compare

@Austinshu Austinshu released this 28 Sep 05:40

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it. It installs VB-Audio Virtual Cable and PC2Sonos, then starts PC2Sonos automatically when you log in.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. The first launch offers to install the free BlackHole virtual audio device and asks for Microphone access. That request is expected; the macOS section of the README explains why.

No account, no license and no paywall on either platform.

What's new in v1.5.6

A volume slider for each PC speaker. When more than one PC speaker was ticked, they all shared one volume. A level that suited loud desk speakers left a pair of headphones nearly silent, even at the headphones' own maximum. On Windows, each PC speaker you tick now gets its own Volume slider, so headphones and speakers can sit at different levels. "Scale everything together" turns each one down from its own level and puts it back exactly at 100%.

Headsets whose volume Windows can't change. Some USB and wireless headsets, such as the SteelSeries Arctis Nova Pro, report a fixed volume in Windows and are turned up and down only on the headset. Setting their Windows volume does nothing, so for those devices the slider is PC2Sonos's own volume for that headset, and the headset's knob still works as usual. The dashboard says which devices work this way.

Nothing gets louder when you update. If your old shared volume was below 100%, the first launch moves it into each speaker's own volume, so everything sounds the same as before and you can then set each one separately.

This supersedes v1.5.5's single PC speaker slider. On macOS the PC speaker volume works as before.

PC2Sonos v1.5.5

Choose a tag to compare

@Austinshu Austinshu released this 27 Sep 02:51

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it. It installs VB-Audio Virtual Cable and PC2Sonos, then starts PC2Sonos automatically when you log in.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. The first launch offers to install the free BlackHole virtual audio device and asks for Microphone access. That request is expected; the macOS section of the README explains why.

No account, no license and no paywall on either platform.

What's new in v1.5.5

v1.5.5 changes what the PC speaker Volume slider controls on Windows. Everything described under v1.5.4 and earlier below is part of this release as well.

The PC speaker Volume is now your speakers' own Windows volume. Until now, the Volume slider on the main page was a separate PC2Sonos volume that sat on top of your speakers' Windows volume. That was misleading, because the Windows volume can get stuck. While PC2Sonos runs, Windows' volume keys and taskbar slider control the virtual cable, not your speakers. If the speakers' own Windows volume had been left low, they sounded far quieter than normal even with PC2Sonos at 100% and the boost turned all the way up, and nothing on the dashboard showed why. On Windows the slider is now the very same setting as your speakers' entry in Settings > System > Sound. It shows the real value, it follows along if you change it in Windows, and moving it unmutes the speakers. With more than one PC speaker ticked, it sets all of them. "Scale everything together" turns it down the same way it did before. The Boost under Advanced is unchanged and still separate. On macOS the slider works as it did before.

Your current setting carries over without a jump in loudness. If you had the old Volume below 100%, the first launch of v1.5.5 lowers your speakers' Windows volume by the same amount and sets PC2Sonos's own volume back to 100%, so everything sounds exactly as loud as before. If any of your PC speakers can't be adjusted, PC2Sonos leaves everything as it was and tries again at the next launch, so no speaker is ever turned down twice.

This replaces the low-volume warning added in v1.5.4, since the slider now shows the real value itself.

PC2Sonos v1.5.4

Choose a tag to compare

@Austinshu Austinshu released this 27 Sep 01:48

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it. It installs VB-Audio Virtual Cable and PC2Sonos, then starts PC2Sonos automatically when you log in.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. The first launch offers to install the free BlackHole virtual audio device and asks for Microphone access. That request is expected; the macOS section of the README explains why.

No account, no license and no paywall on either platform.

What's new in v1.5.4

v1.5.4 is a small fix release. Everything described under v1.5.3 and earlier below is part of this release as well.

A warning when your PC speakers' own Windows volume is set low. While PC2Sonos runs, Windows' volume keys and taskbar slider control the virtual cable, not your real speakers. That means your speakers' own Windows volume stays wherever it was last set, and you can't reach it without opening Sound settings. If it was left low, the PC speakers sound much quieter through PC2Sonos than they do normally, even with PC2Sonos's own Volume at 100% and no boost. PC2Sonos passes the audio through at full level; the drop happens in Windows after that. On one PC the speakers had been left at 6%, about 40 dB down. The dashboard now shows a warning under the PC speaker Volume when a speaker it's playing to is muted or below 50% in Windows. The warning has a "Set it to 100%" button that raises that speaker's Windows volume and unmutes it. Nothing changes unless you press it, because some speakers with their own amplifier are meant to run low in Windows.

The startup diagnostics can check the virtual cable again. Every launch wrote a diagnostics snapshot to the log, and its virtual cable and default output lines always said "couldn't check". The check ran on a background thread that hadn't set up the Windows audio interface first. That's fixed. While fixing it, another problem turned up: a newer version of the pycaw library returns the default output in a different form, so PC2Sonos always read its name as blank. As a result, startup never recognized the virtual cable as already being the default output, and it set it again on every launch. Both now work, and there are regression tests for them.

PC2Sonos v1.5.3

Choose a tag to compare

@Austinshu Austinshu released this 26 Sep 19:05

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it. It installs VB-Audio Virtual Cable and PC2Sonos, then starts PC2Sonos automatically when you log in.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. The first launch offers to install the free BlackHole virtual audio device and asks for Microphone access. That request is expected; the macOS section of the README explains why.

No account, no license and no paywall on either platform.

What's new in v1.5.3

More than one PC speaker at once. Under Advanced, the PC speaker output is now a list of checkboxes instead of a single dropdown. Tick more than one (headphones and desk speakers, say, or a monitor's speakers too) and each one plays the same delayed audio, held to the same sync delay. Each device gets its own connection and buffer, so a slow or unplugged device doesn't stall the others. If you leave every box unticked, PC2Sonos picks the first real output it finds, as before. A PC speaker you picked in an older version carries over as the one ticked box.

Play a file, or a device plugged into the PC. Advanced has a new "Play a file or an external device instead" section. It can take over from the normal audio source for a while and send something else through the same delayed PC speakers and Sonos speakers:

  • From a file: upload a WAV, FLAC, OGG or MP3 and press Play. The dashboard shows the position as it plays. When the file ends, or you press Stop, streaming goes back to whatever Audio source is set to. You don't need ffmpeg or anything else installed.
  • From a device: pick a real input device (a USB audio interface, a mixer, a turntable preamp) and press Start. Stop hands back to the normal source.

The test-tone calibration is gone, so your real microphone is never used. The optional "Calibrate with test tone" button was the only part of PC2Sonos that ever used your real microphone. Auto calibration, which reads Sonos's own playback clock and never listens to the room, gives the same result without a microphone, so the button has been removed. This applies on Windows and macOS, and the macOS permission prompt now says so. The dashboard also shows the version number at the bottom of the page.

Fixes found in review

  • If a file wouldn't decode or an input device wouldn't open, or dropped out partway through, Sonos and the PC speakers went silent until you changed the audio source by hand. PC2Sonos now goes back to the normal source on its own.
  • Changing the audio source or capture method while a file or device was playing restarted live capture underneath it. The file or device playback is now stopped cleanly first.
  • Pressing Stop after a file had already finished, or after a device had already dropped out, restarted live capture a second time and caused a short gap in the audio. Stop now does nothing in that case.
  • If you pressed Play-file and Start-device at almost the same moment, both could start. A new lock makes sure only one of them takes over.
  • The PC speaker threads shared a table of device names without a lock, which could cause errors when more than one device was in use. It now has a lock.
  • If the same output appeared twice in the saved PC speaker list, one of its playback threads was left running and nothing could stop it. Duplicate entries are now ignored.
  • Removed old references to the microphone calibration and code that nothing used any more. Added regression tests for all of the above.

Everything from v1.5.2 and earlier, including the fix for PC speakers drifting out of sync with the EQ on, is part of this release.

Full technical commit history: compare v1.5.2...v1.5.3

If it's useful to you, there's an optional donation link in the dashboard.

PC2Sonos v1.5.2

Choose a tag to compare

@Austinshu Austinshu released this 20 Sep 21:10

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it — installs VB-Audio Virtual Cable and PC2Sonos, then starts automatically at login.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. First launch offers to install the free BlackHole virtual audio device and asks for Microphone access (expected — see the macOS section of the README for why).

No account, no license, no paywall, on either platform.

What v1.5.2 fixes

The PC speakers could slide out of sync with the audio and crackle whenever the PC speaker EQ was on — including on v1.4.5. With a bass boost (or any EQ band) on, the PC speakers fell a little further behind every second: on the test PC 134 ms behind shortly after start, 318 ms behind 100 seconds later, still climbing. Sonos was unaffected. Switching the EQ off stopped it getting worse but left the delay where it had got to; only restarting the PC speaker path or the app cleared it.

Why: the EQ ran its filters one sample at a time in a Python loop (about 6,000 steps per 21 ms of audio). PC2Sonos has no window, and Windows 11 runs a windowless background program on slower cores with slipping timers, so that loop ran a fraction of a percent slower than real time. The lag piled up in a queue that nothing ever drained — the safeguard that was meant to bound it watched a different buffer — so the speakers stayed as far behind as they had got, and every moment the device ran dry was a crackle.

What changed:

  • The EQ is the same filter, ~19× cheaper (0.15 ms instead of 2.1 ms per 21 ms of audio): one convolution per chunk instead of one step per sample. On real music its output is within a single 16-bit step of the old one; the EQ sounds and behaves the same.
  • The PC speaker path skips ahead within half a second if it ever falls behind (a stall, sleep/wake, heavy load) instead of staying late. Normal bursts of audio are left alone; only a queue that never comes near empty counts as lag. It's logged when it happens.
  • PC2Sonos tells Windows it's an audio app: opts out of background throttling, asks for a 1 ms timer (the default is 15.6 ms, which also made loopback capture deliver audio in uneven bursts), and registers its capture/render threads as multimedia "Pro Audio" threads. Troubleshooting > diagnostics shows what is in effect.

Checked on a real PC by recording the audio going into the virtual cable and coming out of the PC speakers at the same time: with the packaged app launched with no window and a +13 dB bass boost on, the delay held at a constant 165 ms for three minutes (it previously climbed 2–3 ms every second), and by ear it was clean and in sync. New automated tests cover the EQ against the old filter, its speed, no click on a mid-song EQ change, the backlog safeguard, and a render loop handed a 40-chunk backlog.

One thing to know: that steady delay — about 0.165 s on the test PC, with the EQ on or off — is roughly 0.07–0.08 s more than v1.4.5's 0.08–0.1 s with the EQ off (loopback delivers audio in short bursts, and playing it gap-free means holding a little in reserve). It no longer grows, but if you watch video on the PC speakers you may notice the sound arriving a touch later than on v1.4.x.

Everything since v1.4.5 (all included here)

  • PC2Sonos no longer opens a microphone (Windows). It now reads what's playing by WASAPI loopback of the virtual cable's playback side instead of opening its recording device, which Windows classifies as a microphone. Windows no longer lists PC2Sonos under Privacy & security > Microphone and the mic-in-use indicator stays off (checked against Windows' own per-app "last used" record). You can switch back under Advanced > Capture method, and it falls back to the recording device by itself, with a notice on the dashboard, if loopback can't be used. macOS is unchanged (no loopback equivalent).
  • Steadier capture. An idle loopback stream is fed real-time silence so Sonos and the PC speakers never starve; the capture reads with blocking reads (a polling read silently lost ~0.5% of the audio); and a change of sample rate (loopback runs at the cable's rate, usually 48 kHz, vs. 44.1 kHz before) now restarts the PC-speaker path and reconnects Sonos at the right rate instead of decoding the wrong format.
  • PC speaker Volume and Boost are now two controls. Volume (0–100%, main page, default 100%) can only turn things down; the boost (100–500%, under Advanced, with the hardware-risk warning) is separate, applied first and soft-limited, and the master volume slider never touches it. Volume is a plain linear scale applied after the limiter, so 56% is exactly 56% of the level at any boost. Existing configs migrate automatically.
  • The update banner shows this release's notes under "What's new" — from the same single request the version check already makes.
  • A tidier dashboard: two balanced columns with Advanced full width underneath, no gaps under short cards, and a fixed Advanced header.
  • Removed the last leftover code from an early paid-download idea; PC2Sonos is free with an optional donation link.

Full technical commit history: compare v1.4.5...v1.5.2

If it's useful to you, there's an optional donation link in the dashboard.

PC2Sonos v1.4.5

Choose a tag to compare

@Austinshu Austinshu released this 16 Sep 02:07

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it — installs VB-Audio Virtual Cable and PC2Sonos, then starts automatically at login.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. First launch offers to install the free BlackHole virtual audio device and asks for Microphone access (expected — see the macOS section of the README for why).

No account, no license, no paywall, on either platform.

If you're on v1.4.1 or earlier, please update — v1.4.1 broke the entire dashboard (fixed since v1.4.2).

Changes since v1.4.4: fixed the dashboard layout leaving big empty gaps below shorter cards on wider windows — the Sonos speakers card (which holds a variable-length speaker list) no longer shares a grid row with the smaller cards, so everything sits flush together instead of stretching to match its height.

Everything since v1.4.0 (all included here):

  • Fixed the master volume slider compounding/resetting instead of being reversible, added the ability to scale Sonos speakers above 100%, and fixed it silently pushing the PC boost to its hardware-risk ceiling as a side effect (it now only ever scales the boost down — raising it still needs the dedicated slider).
  • Removed every "Apply" button (master volume, delay, PC speaker boost) — they apply the moment you release the slider now, like per-speaker volume already did.
  • Redesigned dashboard: a grid of tiles instead of one long column, icons on every card, a status strip up top (streaming count, sync delay, output device, a live input level meter), and long explanations tucked behind "what does this do?" toggles.
  • "Now Playing" shows under the header (Windows only), and Sonos sees the real track title at moments PC2Sonos already reconnects instead of a generic "PC Audio" label.
  • Per-speaker connection health — a count of real dropouts this session and how long ago the last one was.
  • Sleep timer, and a reduced-bandwidth Sonos streaming option for a speaker on a weak Wi-Fi link.
  • Shortened the periodic Sonos resync from 2 hours to 10 minutes.
  • Clearer explanation (dashboard + README, both platforms) of why the OS shows PC2Sonos using the microphone continuously — it's a virtual capture device, not your actual mic.

Full technical commit history: compare v1.4.0...v1.4.5

If it's useful to you, there's an optional donation link in the dashboard.

PC2Sonos v1.4.4

Choose a tag to compare

@Austinshu Austinshu released this 16 Sep 01:55

Free, open-source PC audio-to-Sonos sync, for Windows and macOS.

  • Windows: download PC2Sonos-Setup.exe below and run it — installs VB-Audio Virtual Cable and PC2Sonos, then starts automatically at login.
  • macOS: download the .dmg for your Mac (Apple Silicon or Intel), drag PC2Sonos to Applications, and open it. First launch offers to install the free BlackHole virtual audio device and asks for Microphone access (expected — see the macOS section of the README for why).

No account, no license, no paywall, on either platform.

If you're on v1.4.1 or earlier, please update — v1.4.1 broke the entire dashboard (fixed since v1.4.2).

Changes since v1.4.3: a real safety fix. Master volume scaling upward was multiplying whatever the PC speaker boost was already set to — a boost previously set to 150% times an innocuous "turn everything up to 200%" on master volume landed at 300%, nowhere near either slider's displayed number. This was caught because it pushed a real boost to its 500% hardware-risk ceiling from a single master-volume press. Sonos speakers still scale up through master volume (no hardware risk there — each is still capped at 100% by Sonos itself); the PC boost now only ever moves down through master volume. Raising it still requires the dedicated boost slider, which is the one place that hardware-risk warning is supposed to apply.

Everything since v1.4.0 (all included here):

  • Fixed the master volume slider compounding/resetting instead of being reversible, and added the ability to scale Sonos speakers above 100% (not just down).
  • Removed every "Apply" button (master volume, delay, PC speaker boost) — they apply the moment you release the slider now, like per-speaker volume already did.
  • Redesigned dashboard: a grid of tiles instead of one long column, icons on every card, a status strip up top (streaming count, sync delay, output device, a live input level meter), and long explanations tucked behind "what does this do?" toggles.
  • "Now Playing" shows under the header (Windows only), and Sonos sees the real track title at moments PC2Sonos already reconnects instead of a generic "PC Audio" label.
  • Per-speaker connection health — a count of real dropouts this session and how long ago the last one was.
  • Sleep timer, and a reduced-bandwidth Sonos streaming option for a speaker on a weak Wi-Fi link.
  • Shortened the periodic Sonos resync from 2 hours to 10 minutes.
  • Clearer explanation (dashboard + README, both platforms) of why the OS shows PC2Sonos using the microphone continuously — it's a virtual capture device, not your actual mic.

Full technical commit history: compare v1.4.0...v1.4.4

If it's useful to you, there's an optional donation link in the dashboard.