MCPcopy Index your code
hub / github.com/LaurieWired/InfiniteRadio

github.com/LaurieWired/InfiniteRadio @v1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0 ↗ · + Follow
82 symbols 248 edges 8 files 52 documented · 63%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

License GitHub release (latest by date) GitHub stars GitHub forks GitHub contributors Follow @lauriewired

logo

Infinite Radio

Infinite Radio generates endless music that automatically changes based on your current context. It combines the Magenta RealTime music model with contextual genre selection either from InternVL3 or the top processes running on your machine.

Installation

Prerequisites

For running the music model locally, you will need: - Docker with GPU support - NVIDIA GPU with CUDA support - NVIDIA Container Toolkit

Music Model

  1. Run the Docker Container from Dockerhub: bash docker run --gpus all --network host lauriewired/musicbeats:latest

  2. Access the web interface:

  3. Open your browser and navigate to http://127.0.0.1:8080 or the IP where the music container is runnning
  4. Click the play button to start streaming

Running a DJ

Option 1: Running the DJ on MacOS

TODO

Option 2: Running Process DJ with Python

The Process DJ will monitor the processes on your system and automatically change music genres based on what applications are most active.

python process_dj.py 127.0.0.1 8080 # Point this to the IP and port of the music model

Option 3: Running the LLM DJ with Python

The LLM DJ analyzes the data on your screen to automatically configure the genre that best suits your activity.

  1. Run the LLM in LM Studio:
  2. Download InternVL3 (or any image to text model)
  3. Start the server in LM Studio

lm_studio

  1. Run the Python Connection: bash python llm_dj.py 127.0.0.1 8080 # Point this to the IP and port of the music model

API Reference

Change Genre

POST /genre

curl -X POST http://localhost:8080/genre \
  -H "Content-Type: application/json" \
  -d '{"genre": "jazz"}'

Get Current Genre

GET /current-genre

curl http://localhost:8080/current-genre

Building

Building the Mac application:

pip install py2app jaraco.text setuptools
python3 setup.py py2app

Core symbols most depended-on inside this repo

is_running
called by 11
mac_app.py
stop
called by 8
mac_app.py
rebuild_menu
called by 7
mac_app.py
toggle_dj_process
called by 6
mac_app.py
update_status
called by 3
mac_app.py
_cleanup_console
called by 3
mac_app.py
show
called by 2
mac_app.py
update_content
called by 2
mac_app.py

Shape

Method 53
Function 20
Class 7
Struct 2

Languages

Python89%
Go11%

Modules by API surface

mac_app.py37 symbols
MusicContainer/music_server_pipe.py13 symbols
MusicContainer/music_server.py12 symbols
MusicContainer/webrtc_server.go9 symbols
process_dj.py6 symbols
llm_dj.py4 symbols
MusicContainer/setup_model.py1 symbols

For agents

$ claude mcp add InfiniteRadio \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact