Overseas access: www.kdjingpai.com
Bookmark Us

InfiniteRadio is an open source project that aims to generate an infinite stream of music through artificial intelligence technology and dynamically adjust the music style based on the user's current context. Developed by LaurieWired, the project combines Magenta RealTime music modeling with InternVL3 or system process monitoring to automatically switch between music genres. Users can enjoy a personalized music experience that changes based on their activity or environment, either running locally or through a Mac application. The code is hosted on GitHub for developers and users interested in music generation and AI technology.

 

Function List

  • Automatic generation of unlimited music streams, based on the Magenta RealTime model.
  • Supports context-aware, dynamic selection of music types based on InternVL3 or system processes.
  • A Mac tray application is available for easy configuration and control of music playback.
  • Supports running music models locally, requires configuration of Docker containers.
  • Allows users to access the music control interface through a browser.
  • Supports both LLM DJ and Process DJ modes, adjusting the music through language modeling or process monitoring, respectively.

Using Help

Installation process

To use InfiniteRadio, users need to run the project locally or through a Mac application. Below are the detailed installation and usage steps:

local operation

  1. environmental preparation
    • Make sure Docker is installed, as the music model needs to be containerized to run.
    • Install Python (recommended version 3.8 or above) for running the relevant scripts.
    • If you are using LLM DJ, you need to install LM Studio to run the Language Modeling Server.
  2. cloning project
    Run the following command in the terminal to clone the InfiniteRadio project locally:

    git clone https://github.com/LaurieWired/InfiniteRadio.git
    cd InfiniteRadio
    

  1. Configuring Docker Containers
    • Go to the project directory, find Dockerfile and run the following command to build the container:
      docker build -t infiniteradio .
      
    • Start the container:
      docker run -p 8080:8080 infiniteradio
      
    • Once the container is running, open a browser and visit the http://127.0.0.1:8080 or the IP address where the container is located to access the music control interface.
  2. Configuring the LLM DJ (optional)
    • Start the Language Modeling Server in LM Studio (refer to the LM Studio documentation for specific configuration).
    • Ensure that the server is running properly and InfiniteRadio will call the model via the API to dynamically select the music genre.
    • If using a Mac application, you can skip the Python configuration and select LLM DJ directly from the tray application.
  3. Configuring Process DJ
    • Process DJ monitors active system processes (e.g. browsers, code editors, etc.), switching music styles according to process type.
    • On a Mac, you need to grant the application screen view permissions to ensure that dynamic selection of music types works properly.
    • Permission Settings: In System Preferences > Security & Privacy > Screen Recording, check the InfiniteRadio app.

Usage Process

  1. Start music playback
    • Access via browser http://127.0.0.1:8080To access the InfiniteRadio control interface, click on the "InfiniteRadio" icon on the left.
    • The interface displays the current music type, playback status, and contextual information.
    • Users can select LLM DJ or Process DJ mode and click the "Start" button to start the music stream.
  2. LLM DJ mode operation
    • LLM DJ uses InternVL3 models to analyze context (e.g., screen content or user input) and automatically selects matching music types (e.g., focused music for work, intense music for gaming).
    • In the control screen, click on "Switch to LLM DJ" and make sure the LM Studio server is running.
    • A context description (e.g. "Programming" or "Relaxation") can be entered manually, and the model will generate the appropriate music.
  3. Process DJ mode operation
    • Process DJ monitors system processes and adjusts music types based on active applications (e.g. VS Code, game clients).
    • In the Mac Tray app, click "Enable Process DJ" and the program will automatically detect and switch music.
    • The user can view the current process and the corresponding music genre (e.g. "VS Code - Focus on Electronica") in the interface.
  4. music control
    • The interface provides pause, play, and volume adjustment functions.
    • Users can manually select the type of music or let the system adjust it automatically.
    • Support for saving favorite music clips, stored in the local project directory.

caveat

  • Ensure that the network is stable and that the LLM DJ mode requires communication with the language model server.
  • Process DJ mode requires screen permissions on a Mac, otherwise you can't monitor processes.
  • Higher performance hardware is required for local operation. 16GB of RAM and a multi-core CPU are recommended to ensure smooth music generation.
  • The project documentation is located in the README file in the GitHub repository, so you can refer to it or file an issue if you run into problems.

application scenario

  1. Developer work environment
    InfiniteRadio provides developers with focused music streaming. For example, when opening VS Code, Process DJ detects programming activity and automatically plays light electronic music to improve focus.
  2. Background music for gamers
    As the player runs the game, Process DJ recognizes the progress of the game and switches to intense or epic style music for enhanced immersion.
  3. Daily Relaxation
    Users can enter "relax" or "meditate" through the LLM DJ to generate soothing music for resting or reading.
  4. Creative work
    Designers or artists can be inspired by on-screen content analysis that allows InfiniteRadio to generate music that matches the theme of their creation.

QA

  1. Does InfiniteRadio require an internet connection?
    If you are using LLM DJ mode, you will need an internet connection to connect to the LM Studio server. process DJ mode can be run offline and only requires a local Docker container.
  2. What music genres are supported?
    Music genres are generated by the Magenta RealTime model, including electronic, classical, rock, etc., with specific genres dynamically adapted to the context.
  3. How are Mac apps installed?
    Download the Mac application package from the GitHub repository, install it, run it from the system tray, and grant screen recording permissions to use it.
  4. Can I customize the music model?
    Magenta RealTime models are currently supported, more models may be supported in the future through community contributions, so keep an eye on the project for updates.
0Bookmarked
0kudos

Recommended

Can't find AI tools? Try here!

Just type in the keyword Accessibility Bing SearchYou can quickly find all the AI tools on this site.

Top

en_USEnglish