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.
streamophone/
├── api/ # Backend API (Express + TypeScript)
├── streamer/ # CORS proxy service (Express + TypeScript)
├── www/ # Frontend (React 18 + TypeScript + Redux)
└── docker-compose.yml
make bun-installmake dev-cacheCopy .env-test and adjust values if needed:
source .env-testmake dev-api # Start API
make dev-streamer # Start Streamer
make dev-www # Start Frontendmake prod-build
# or
docker-compose buildmake prod-up
# or
docker-compose up| Command | Description |
|---|---|
bun run dev |
Development mode with hot reload |
bun run start |
Production mode |
| Command | Description |
|---|---|
bun run dev |
Development server |
bun run build |
Production build |
bun run start |
Serve production build |
- React 18
- TypeScript
- Redux + Redux Thunk
- React Router 6
- Socket.IO Client
- Bun runtime
- Express
- TypeScript
- Redis (caching)
- Axios
- Docker & Docker Compose
- Redis 7
- HAProxy 2.9
- Deezer (Playlist, Album, Artist, Search)
- Spotify (Album, Artist, Search)
- Freesound (Pack, Search)
- INA (French National Archives)
- Keyboard (AZERTY/QWERTY)
- MIDI Controllers (BCF2000, KORG NanoKey2, ROLI LightPadBlock)
- Custom Socket Controllers
MIT