Music generation plugin for Hermes Agent — Suno AI, MIDI composition, and music library management
Project description
🎵 Hermes Music Plugin
Music generation plugin for Hermes Agent — powered by Suno AI.
Generate music, compose from MIDI, search & curate your library — all from your agent's toolbox.
Features
- AI Music Generation — Generate songs via Suno AI with style tags, prompts, and model selection (V3.5–V5)
- MIDI Composition — Create MIDI files from note names/numbers, then use them as references for AI generation
- Music Library — Browse, search, favorite, and track play counts across all generated songs
- Multi-Agent — Track which agent created which song with agent_id attribution
- Async Support — Generate in blocking mode (wait for result) or async (poll for status)
Install
# Basic (Suno generation only)
pip install hermes-music
# With MIDI composition support
pip install hermes-music[midi]
# Everything
pip install hermes-music[all]
Setup
Add your Suno API key to ~/.hermes/.env:
SUNO_API_KEY=your_key_here
Get a key at sunoapi.org.
The plugin auto-discovers via entry points — no config changes needed. After install, start a new Hermes session and the music tools will be available.
Enable the toolset:
hermes tools enable music
Tools
| Tool | Description |
|---|---|
music_generate |
Generate AI music with Suno (blocking or async) |
music_status |
Check generation progress |
music_result |
Get completed audio file |
music_list |
List recent generation tasks |
music_favorite |
Toggle favorite on a song |
music_library |
Browse library with filters |
music_search |
Search by title, prompt, or style |
music_play |
Mark played, get file path |
midi_create |
Create MIDI from notes (no API key needed) |
music_compose |
Generate music from MIDI reference |
Examples
# In a Hermes chat session:
"Generate an ambient electronic track for coding"
"Create a MIDI melody with C4 E4 G4 C5 and compose it into jazz piano"
"Search my music library for ambient tracks"
"Favorite that last track"
Data Storage
All data lives in ~/.hermes/music/:
~/.hermes/music/
├── audio/ # Downloaded MP3 files
├── midi/ # Generated MIDI files
└── tasks.json # Task state & library metadata
Development
git clone https://github.com/buckster123/hermes-music-plugin
cd hermes-music-plugin
pip install -e ".[dev]"
pytest
Credits
- Ported from ApexAurum music pipeline
- Powered by Suno AI via sunoapi.org
- Built for Hermes Agent by Nous Research
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hermes_music-0.1.0.tar.gz.
File metadata
- Download URL: hermes_music-0.1.0.tar.gz
- Upload date:
- Size: 21.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8382379a4c0a2239cebc07f3b7ac109764d756e3e10f2edbf404655edabc26be
|
|
| MD5 |
0f417d89198d622246fce3366860a701
|
|
| BLAKE2b-256 |
8ac3db59851c4442f1d189f538ac98f66ac928d94cdb15b81e5fd7b0565c1738
|
File details
Details for the file hermes_music-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hermes_music-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
726821124606faa5bb2b455db84a8afc5f4c07d10156c091910d619f189d8c6d
|
|
| MD5 |
342d901901b45cd65eed231c4b45d21f
|
|
| BLAKE2b-256 |
f36282c837f4d738ccfb1a574b5d703446e5e37f1a2892f40155649950bab9b9
|