Skip to content

rlods/streamophone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

304 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Streamophone

Interactive web-based music remixing and sampling application that allows users to create custom audio samples from multiple music sources (Deezer, Spotify, Freesound, INA) and control playback using various input devices.

Requirements

  • Bun (recommended) or Node.js 20+
  • Docker & Docker Compose (for production)
  • Redis (for caching)

Project Structure

streamophone/
├── api/          # Backend API (Express + TypeScript)
├── streamer/     # CORS proxy service (Express + TypeScript)
├── www/          # Frontend (React 18 + TypeScript + Redux)
└── docker-compose.yml

Installation

make bun-install

Development

1. Start Redis cache

make dev-cache

2. Configure environment

Copy .env-test and adjust values if needed:

source .env-test

3. Start services

make dev-api       # Start API
make dev-streamer  # Start Streamer
make dev-www       # Start Frontend

Production (Docker)

Build

make prod-build
# or
docker-compose build

Run

make prod-up
# or
docker-compose up

Available Scripts

API & Streamer

Command Description
bun run dev Development mode with hot reload
bun run start Production mode

Frontend (www)

Command Description
bun run dev Development server
bun run build Production build
bun run start Serve production build

Tech Stack

Frontend

  • React 18
  • TypeScript
  • Redux + Redux Thunk
  • React Router 6
  • Socket.IO Client

Backend

  • Bun runtime
  • Express
  • TypeScript
  • Redis (caching)
  • Axios

Infrastructure

  • Docker & Docker Compose
  • Redis 7
  • HAProxy 2.9

Supported Audio Sources

  • Deezer (Playlist, Album, Artist, Search)
  • Spotify (Album, Artist, Search)
  • Freesound (Pack, Search)
  • INA (French National Archives)

Supported Controllers

  • Keyboard (AZERTY/QWERTY)
  • MIDI Controllers (BCF2000, KORG NanoKey2, ROLI LightPadBlock)
  • Custom Socket Controllers

License

MIT

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •