Open-source project
StreamWhatYouHear/SWYH avatar
StreamWhatYouHear/SWYH

SWYH: pushing your PC sound to a DLNA renderer

Stream What You Hear (SWYH) is a lightweight Windows application that streams your PC audio to UPnP/DLNA-compatible devices

636 stars98 forksC#GPL-2.0

At a glance

What is it?
Stream What You Hear is a small Windows application that captures the audio your machine is playing and serves it to UPnP and DLNA devices over HTTP, so a TV, an amplifier or a network player can play it. The project has been open source since June 2015, and the current release line is a long run of 2.0.0 betas.
Who is it for?
SWYH suits a Windows user with a DLNA speaker, an amplifier or a TV who wants the PC's sound on it without a dedicated client, and it suits a developer who wants to read a small, complete .NET application for the UPnP stack. It does not suit anyone on a modern Windows release expecting a signed installer, because the documented environment is .NET Framework 4.0 on Windows Vista through 8.1, and the 2.0 line is still in beta after many releases.
Can I use it commercially?
Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 36 days ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A loopback capture served over HTTP

Stream What You Hear is a Windows application to broadcast the sound of your computer on a UPnP or DLNA device, and the readme names the target devices as TVs, amplifiers, network receivers and game consoles.

The mechanism has two halves. The first is capture: the application records what your machine is playing, which on Windows is the loopback device that mirrors whatever the sound card is outputting. The second is delivery: the audio is served over HTTP as MP3 or as WAV with PCM, and the UPnP stack advertises it to the network so that a renderer can discover it and press play.

The feature list is short enough to be a complete description. It captures any sound on your computer, streams it as MP3 or WAV over PCM L16 over HTTP, it is UPnP and DLNA 1.0 Media Server compliant, it supports automatic UPnP and DLNA Media Renderer detection and the Play action, and it can record what you hear into an MP3 file.

That last feature is the one that makes it more than a casting utility. Because the capture path is the same one used for streaming, the application can write the same audio to a file, so it doubles as a recorder for whatever the machine happens to be playing.

The reason the project still exists in this form is the shape of the standard. DLNA is the only widely supported way to push audio to a network speaker or a TV without each device having a vendor app, and the standard is old enough that the devices are still in people's homes. SWYH is a server for that standard, not a client for any particular one.

The stack is .NET Framework, NAudio, LAME and the UPnP tools

The dependencies are listed in the readme and they tell you what the application is made of.

The runtime is .NET Framework 4.0, which dates the application precisely. The sound capture uses WASAPI, the Windows Audio Service API. The audio stream manipulation uses NAudio, the .NET audio library. The MP3 encoding uses LAME, through the NAudio.Lame wrapper. The UPnP stack comes from the Developer Tools for UPnP Technologies, the reference implementation of the protocol.

The primary language of the repository is recorded as C#, and the top-level layout is that of a classic Visual Studio solution: SWYH.sln, a SWYH/ directory for the application, a DeveloperToolsForUPnPTechnologies/ directory holding the vendored UPnP stack, an SWYH Installer.iss file which is the Inno Setup script for the installer, a Gitversion.yml file that drives versioning from git tags, an SWYH.licenseheader file, and a CONTRIBUTING.md.

The Installer.iss file is worth a second look, because it is a signal about how the software is distributed. It is an Inno Setup script, which is a common choice for small Windows utilities, and it means the shipped installer is built from source in the repository rather than being an opaque binary blob. That is the same philosophy as the source release described further down.

The Gitversion.yml file indicates the same for version numbers. Rather than a version string typed into a properties file, the version is derived from the git tags, which is why the release tags in this repository are numerous and consistently formatted.

Getting it running takes five steps and a device check

The getting started section is short, and the order matters because the last two steps are the ones that catch people out.

First, before installation, check that the environment complies with the minimum requirements, which are Windows Vista, 7 or 8 and 8.1 on x86 or x64 with .NET Framework 4.0 installed. That is the stated support matrix and it is worth checking against your machine before downloading anything.

Then download and install the latest release from the download page, launch the application, right click the SWYH icon in the system tray and go to the Stream to menu, select your device, and wait a few seconds.

The system tray is the entire user interface. There is no window to configure, no settings dialog to hunt through, and the application is driven from a tray icon. For a utility whose entire job is one thing, that is a defensible design, and it is also why the app starts with the machine rather than being something you open.

The five seconds of waiting is the UPnP discovery and the renderer's response, so a device that does not appear in the menu is usually a network or firewall problem rather than an audio problem.

Beyond the quick start there is a getting started page on the website, a FAQ page, and forums in English and French, which matters because the supported device list is long and the failure modes are device specific.

The device lists are the real documentation

The most useful part of the readme for anyone about to install this is the two long device lists, and the third list of things that do not work.

The supported media renderers include Marantz amplifiers, tested on the SR6008, NR1504, NR1603, NR1604 and the media m-cr610, Pioneer amplifiers on the VSX-921, VSX-922, VSX-827, VSX-527, VSX-S510 and X-HM71, Denon amplifiers on the AVR-1912 and AVR-1713, Yamaha amplifiers on the RX-A3010 and RX-V773, a Sony CMT MX700, a Sony Bravia TV, a Philips Fidelio A1, and Teufel Raumfeld speakers. The list also covers the LaCie LaCinema Classic HD, Foobar2000 with the UPnP plugin, the Intel AV Renderer, and XBMC, both v12 on Windows and on OpenELEC on a Raspberry Pi.

The supported media players list includes the Sonos system, the Freebox V6 Player, the Bouygues BBox, a PlayStation 3, Onkyo amplifiers, a Western Digital WD TV HD, a Toshiba Places STB2F, Windows applications such as Windows Media Player, VLC and Home Cinema Media Player, the Intel AV Controller, and smartphone applications for WP7, Android and iPhone.

The parenthetical notes are the important part. The Xbox 360 works with the PCM and L16 stream only, and so do the Freebox V6 Player, the PlayStation 3, the Onkyo TX-NR609 and TX-NR808 and the WD TV HD. That is a real constraint: the MP3 stream, which is the convenient default, does not work on all of these, so the choice of codec is per device rather than a global setting.

The not supported list names Samsung TVs, Popcorn Hour players, Philips TVs from 2009, the Philips CSS5123 sound bar, Sony home theatre systems on the NS510, NS310 and BDV NF720, and Onkyo amplifiers from 2009, each with the model that was tested. The readme notes the list is not exhaustive and points to the forums for other devices.

Open source since 2015, and still in beta

The project's history is stated in the about section, and it explains the shape of the repository.

SWYH was developed by Sebastien Warin, who lives in Lille in France. The first version was developed in July 2012 and published in October 2012, and the original article about the project was posted on 12 October 2012 in French, with the link still in the readme. Since June 2015 the author decided to release the source code, with the stated aim of enabling everyone to understand, diagnose, fix and improve the application.

That is a thirteen year old application, and the maintenance facts follow from that. The repository is not archived, the default branch is master, and the last push was on 2026-09-16. The three most recent tags are v2.0.0-beta.30 from 2026-09-16, v2.0.0-beta.25 from 2026-09-15 and v2.0.0-beta.23 from 2026-09-14, which shows the 2.0 line has been in beta for a long time and is still moving.

The licence is the GNU GPL, with the LICENSE file at the root, and the readme says so directly. Contributing is handled through the CONTRIBUTING.md file in the repository root.

What the release pattern suggests is a mature, stable 1.x line still in daily use, with a 2.0 rewrite being prepared in the open. For a user of the 1.x build, that combination is good news, since the stable version is what the download page will serve. For someone who wants to work on the code, the 2.0 betas are where the changes are, and the Developer Tools for UPnP Technologies directory in the tree suggests the 2.0 work involves the protocol layer.

Editorial conclusion

SWYH suits a Windows user with a DLNA speaker, an amplifier or a TV who wants the PC's sound on it without a dedicated client, and it suits a developer who wants to read a small, complete .NET application for the UPnP stack. It does not suit anyone on a modern Windows release expecting a signed installer, because the documented environment is .NET Framework 4.0 on Windows Vista through 8.1, and the 2.0 line is still in beta after many releases. Before installing, check the download page for the current build, confirm your device is on the supported list rather than the not supported one, and note that several renderers only accept the PCM/L16 stream, so the MP3 default will not work everywhere.

Frequently asked questions

What does Stream What You Hear do?

It is a Windows application that captures the sound your computer is playing and streams it to UPnP and DLNA compatible devices such as TVs, amplifiers, network receivers and game consoles. It can also record what you hear into an MP3 file.

How do I set up SWYH?

Check that your machine meets the minimum requirements of Windows Vista, 7 or 8 and 8.1 with .NET Framework 4.0, download and install the latest release, launch the application, right click the SWYH icon in the system tray, open the Stream to menu, select your device and wait a few seconds.

Which audio formats does SWYH stream?

MP3 or WAV with PCM, using the L16 encoding, over HTTP. Several renderers and players only accept the PCM and L16 stream, including the Xbox 360, the Freebox V6 Player, the PlayStation 3 and several Onkyo amplifiers, so the codec choice is per device.

What licence is Stream What You Hear under and when was it open sourced?

It is released under the GNU GPL, with the LICENSE file in the repository root. The author decided in June 2015 to release the source code so that people could understand, diagnose, fix and improve the application, and the first version was published in October 2012.

Official sources

  1. License: GPL-2.0
  2. Project website
  3. README
  4. Releases
  5. StreamWhatYouHear/SWYH on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/streamwhatyouhear-swyh.svg)](https://hysenlabs.com/projects/streamwhatyouhear-swyh)

Was this useful?