AI Music Generation API • Real-time streaming • Custom fine-tuning support
Research ProjectDemo video will be embedded here
Showing the iPhone app generating music in real-time
This API powers AI music generation using Google's MagentaRT, designed for real-time audio streaming and custom model fine-tuning. Built for iOS app integration with WebSocket streaming support.
Connect to wss://<your-space>/ws/jam
for real-time audio generation:
{ "type": "start", "mode": "rt", "binary_audio": false, "params": { "styles": "electronic, ambient", "style_weights": "1.0, 0.8", "temperature": 1.1, "topk": 40, "guidance_weight": 1.1, "pace": "realtime", "style_ramp_seconds": 8.0, "mean": 0.0, "centroid_weights": "0.0, 0.0, 0.0" } }
{ "type": "update", "styles": "jazz, hiphop", "style_weights": "1.0, 0.8", "temperature": 1.2, "topk": 64, "guidance_weight": 1.0, "mean": 0.2, "centroid_weights": "0.1, 0.3, 0.0" }
{"type": "stop"}
Train your own MagentaRT models and use them with this API and the iOS app.
Use the official MagentaRT fine-tuning notebook:
🔗 MagentaRT Fine-tuning Colab
This will create checkpoint folders like:
checkpoint_1861001/
checkpoint_1862001/
cluster_centroids.npy
, mean_style_embed.npy
Checkpoints must be compressed as .tgz files to preserve .zarray files correctly.
Use this in a Colab cell to properly package your checkpoints:
# Mount Drive to access your trained checkpoints from google.colab import drive drive.mount('/content/drive') # Set the path to your checkpoint folder CKPT_SRC = '/content/drive/MyDrive/thepatch/checkpoint_1862001' # Adjust path # Copy folder to local storage (preserves dotfiles) !rm -rf /content/checkpoint_1862001 !cp -a "$CKPT_SRC" /content/ # Verify .zarray files are present !find /content/checkpoint_1862001 -name .zarray | wc -l # Create properly formatted .tgz archive !tar -C /content -czf /content/checkpoint_1862001.tgz checkpoint_1862001 # Verify critical files are in the archive !tar -tzf /content/checkpoint_1862001.tgz | grep -c '.zarray' # Download the .tgz file from google.colab import files files.download('/content/checkpoint_1862001.tgz')
Create a model repository and upload:
.tgz
checkpoint filescluster_centroids.npy
(for steering)mean_style_embed.npy
(for steering)In the iOS app's model selector, point to your Hugging Face repository URL. The app will automatically discover available checkpoints and allow switching between them.
/generate_style
endpoint is experimental and may not properly adhere to BPM without additional context (considering metronome-based context instead of silence).
This API is designed to work seamlessly with our iOS music generation app:
To run your own instance:
https://your-username-magenta-retry.hf.space
)This is an active research project. For questions, technical support, or collaboration:
Email: kev@thecollabagepatch.com
Built on Google's MagentaRT (Apache 2.0 + CC-BY 4.0). Users are responsible for their generated outputs and ensuring compliance with applicable laws and platform policies.