melogen
0
总安装量
2
周安装量
安装命令
npx skills add https://github.com/melogenai/skills --skill melogen
Agent 安装分布
opencode
2
cursor
2
claude-code
2
amp
1
kimi-cli
1
Skill 文档
Melogen CLI
AI-powered music tools: convert sheet music to MIDI, transcribe audio to MIDI, and analyze music structure.
Setup
pip install melogenai
export MELOGEN_API_KEY=melo_xxx
Verify your key works:
melogen auth verify
Commands
melogen sheet2midi FILE_URL
Convert sheet music (PDF/PNG/JPG) to MIDI and MusicXML.
# Basic conversion (outputs both MIDI and MusicXML)
melogen sheet2midi https://example.com/score.pdf
# Only MusicXML output
melogen sheet2midi https://example.com/score.pdf -f musicxml --no-midi
# Specify multiple output formats explicitly
melogen sheet2midi https://example.com/score.png -f midi -f musicxml
| Flag | Description |
|---|---|
-f, --format |
Output format: midi, musicxml (repeatable) |
--no-midi |
Skip MIDI output |
melogen music2midi FILE_URL
Convert audio files (MP3/WAV/FLAC/OGG/M4A) to MIDI.
# Basic conversion
melogen music2midi https://example.com/song.mp3
# Save separated instrument stems
melogen music2midi https://example.com/song.wav --stems
# Quantize to nearest beat
melogen music2midi https://example.com/song.flac --quantize
# Both stems and quantization
melogen music2midi https://example.com/song.mp3 --stems --quantize
| Flag | Description |
|---|---|
--stems |
Save separated instrument stems |
--quantize |
Quantize MIDI output to nearest beat |
melogen analysis
Analyze music structure, tonality, harmony, and form. Provide at least one input source.
# Analyze from sheet music image
melogen analysis --image https://example.com/score.png
# Analyze from PDF
melogen analysis --pdf https://example.com/score.pdf
# Analyze from MusicXML
melogen analysis --mxl https://example.com/score.mxl
# Specify language (default: en)
melogen analysis --image https://example.com/score.png --lang zh
# Disable streaming (get full result at once)
melogen analysis --pdf https://example.com/score.pdf --no-stream
| Flag | Description |
|---|---|
--mxl |
URL of a MusicXML (.mxl) file |
--image |
URL of a sheet music image |
--pdf |
URL of a PDF score |
--lang |
Language for analysis output (default: en) |
--stream / --no-stream |
Stream output as generated (default: stream) |
At least one of --mxl, --image, or --pdf is required.
Supported languages: en, zh, tw, ja, ko, de, fr, es, pt, it, ru, pl, el, vi
melogen auth verify
Verify your API key is valid. Reports user ID and scopes.
melogen auth verify
Global Options
These options apply to all commands:
| Option | Env Variable | Description |
|---|---|---|
--api-key |
MELOGEN_API_KEY |
Melogen API key |
--base-url |
MELOGEN_BASE_URL |
Override API base URL |
--version |
Show version and exit |
Error Handling
| Error | HTTP Status | Cause | Fix |
|---|---|---|---|
Invalid or expired API key |
401 | Bad or expired API key | Run melogen auth verify; get a new key from melogenai.com |
Insufficient credits |
402 | Account out of credits | Top up credits at melogenai.com |
Validation error |
422 | Invalid parameters or unsupported file format | Check file URL is accessible and format is supported |
Rate limit exceeded |
429 | Too many requests | Wait and retry; reduce request frequency |
Task ... timed out |
— | Processing exceeded timeout | Retry; for audio, shorter files process faster |
Task ... failed |
— | Server-side processing error | Retry with a different file or check input quality |
All errors print to stderr and exit with code 1.
Tips
- Input quality matters: Use high-resolution scans (300+ DPI) for sheet music. Use lossless formats (WAV/FLAC) for audio when possible.
- Format choice: For sheet music, multi-page PDFs are preferred over separate image files. For audio, WAV/FLAC give better accuracy than MP3.
- Stems for complex audio: Enable
--stemswhen converting multi-instrument recordings to get cleaner per-instrument MIDI tracks. - Quantize for clean MIDI: Use
--quantizeto snap notes to the nearest beat for cleaner MIDI output. - Streaming analysis: Analysis streams by default so you see results as they generate. Use
--no-streamif you need the complete output at once. - Audio takes longer: Audio-to-MIDI conversion is more computationally intensive than sheet music conversion. The default polling timeout is 600 seconds.