Budgie Stream

screenshot of Budgie Stream
express
react
material-ui

Stream system output to your Sonos devices. Built with Electron, React and Express

Overview

The Budgie Stream project is a software application that captures raw audio using Electron's desktopCapturer. The captured audio is then converted to a stream of 16-bit signed integers and sent to the backend using IPC. The stream is encoded to mp3 format using LAME and then broadcasted to selected devices using node-sonos. The project is built using Electron, React, Express, Material UI, and nicercast.

Features

  • Audio Capture: Budgie Stream uses Electron's desktopCapturer to capture raw audio.
  • Conversion: The captured raw audio is converted to a stream of 16-bit signed integers before sending it to the server.
  • Encoding: The stream of 16-bit signed integers is encoded to mp3 format using LAME.
  • Broadcast: The encoded mp3 stream is linked to an endpoint served by Express and sent to selected devices using node-sonos.

Summary

Budgie Stream is a software application built with Electron, React, Express, Material UI, and nicercast. It captures raw audio, converts it to a stream of 16-bit signed integers, encodes it to mp3 format, and broadcasts it to selected devices. The project utilizes Electron's desktopCapturer, IPC, LAME, Express, and node-sonos for different functionalities.

express
Express

Express.js is a simple Node.js framework for single, multi-page, and hybrid web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

material-ui
Material UI

material-ui adds classes to Tailwind CSS for all common UI components. Classes like btn, card, etc. This allows us to focus on important things instead of making basic elements for every project.