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.npyCheckpoints 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.