Skip to main content

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

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hermes_music-0.1.0.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hermes_music-0.1.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

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

Hashes for hermes_music-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8382379a4c0a2239cebc07f3b7ac109764d756e3e10f2edbf404655edabc26be
MD5 0f417d89198d622246fce3366860a701
BLAKE2b-256 8ac3db59851c4442f1d189f538ac98f66ac928d94cdb15b81e5fd7b0565c1738

See more details on using hashes here.

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

Hashes for hermes_music-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 726821124606faa5bb2b455db84a8afc5f4c07d10156c091910d619f189d8c6d
MD5 342d901901b45cd65eed231c4b45d21f
BLAKE2b-256 f36282c837f4d738ccfb1a574b5d703446e5e37f1a2892f40155649950bab9b9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page