Zack Scholl

zack.scholl@gmail.com

Stream your audio

 / #music #websites #portfolio 

Personal audio streaming made really easy.

What if it was really easy to stream audio from your computer? Like, so easy that you just double click a program and you are streaming? That’s what I wanted, so I built it.

streamshell

This program runs on Windows, Mac OS, and Linux and will directly stream from any audio interface on your computer to a website I setup called streammyaudio.com.

You can get started by downloading a release for your computer and double-clicking it. The software automatically detects your audio devices and creates high quality mp3 streams (up to 260 kpbs) and forwards them the streaming server.

Anti-social media

Streaming high-quality audio from your computer to the internet shouldn’t be hard but it doesn’t seem to be easy.

Pretty much every social media site lets you share audio and video streams (e.g. Twitch, Clubhouse, YouTube, Facebook, Instagram, Discord). But each of these social media sites are now walled gardens that prevent non-subscribers from accessing content and to force people to buy into their platform (sometimes literally). What if I just want to share something without making an account?

Also the social media audio streaming is often poor quality. These social media sites sacrifice the audio quality to improve the video quality and lack the ability to modify the settings. What if I want to forego video and just have really high quality audio?

I’m not aware of a simple audio streaming solution that just works, and doesn’t require making accounts and can deliver good audio quality to anyone with a link on the internet.

Open-source audio streaming is here

It turns out we have high-quality free technology at our fingertips: ffmpeg. Normally ffmpeg is used for videos, but is great for converting between audio codecs and is also a great cross-platform way of capturing audio from any audio device. The only other thing you need then is a way to send the mp3 data to a server. And we can use another ubiquitous tool for that: curl. Although, in the final version of the streaming software I just rewrote the needed part of curl.

As I mentioned before in my blog, then all you need to send out mp3 data from your microphone is a simple line of code:

1>ffmpeg -f alsa -i hw:0 -f mp3 - | \
2    curl -s -k -H "Transfer-Encoding: chunked" -X POST -T - \
3    "https://streamyouraudio.com/YOURSTATIONNAME.mp3?stream=true&advertise=true"

But not everyone has a linux computer nor wants to know about lines of code they have to type. A better solution would be one that you just click and run, and that’s what I’ve released.

I use it to share streams of my piano performances, or sometimes just stream some of my music so I can listen to it elsewhere. Whatever the case it works great, is easy, and cheap. The server running all the code costs only a few dollars every year (if you’d like to support the cost, consider sponsoring me).

In any case, I never have to Google “how do I stream my audio” again.