Input music creation requirements and let 4 AI Agents automatically complete lyrics, composition, and arrangement.
Supports pop, rock, folk, electronic, and more music styles β style-agnostic.
| Module | Function | Output |
|---|---|---|
| π€ Magic (Director) | Task assignment, Agent coordination, quality control | Creation plan + progress tracking |
| π Word (Lyricist) | Lyrics creation, rhyme optimization, emotional expression | Complete lyrics + structure analysis |
| πΌ Kiki (Composer) | Melody creation, chord arrangement, rhythm design | Numbered notation + chord charts |
| πΉ Cat (Arranger) | Arrangement production, instrument selection, mixing suggestions | Arrangement plan + MIDI files |
Figure 1: Music creation input form
Figure 3: Lyrics creation and sentiment analysis
Figure 4: Numbered notation and chord arrangement
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend β
β Python + PyQt6 + Qt Widgets β
β β
β ββββββββββββ ββββββββββββββ ββββββββββββ ββββββββββββββββ β
β βMain Windowβ βAgentStatus β β ScoreViewβ βSettingsDialogβ β
β ββββββ¬ββββββ ββββββββββββββ ββββββββββββ ββββββββββββββββ β
β β Agent Orchestration β
βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β β
βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βΌ Backend β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Orchestrator β β
β β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β β β
β β β βββββββββββ βββββββββββ βββββββββββ β β β
β β β β Magic β β Word β β Kiki β β β β
β β β βDirector β βLyricist β βComposer β β β β
β β β ββββββ¬βββββ ββββββ¬βββββ ββββββ¬βββββ β β β
β β β β β β β β β
β β β ββββββββββββββ΄βββββββββββββ β β β
β β β β β β β
β β β βΌ β β β
β β β ββββββββββββββββββ β β β
β β β β Cat β (depends on all) β β β
β β β β Arranger β β β β
β β β ββββββββββββββββββ β β β
β β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β βββββββββββββββββ AI Router ββββββββββββββββββββββββ β β
β β β OpenAI β Anthropic β DeepSeek β Custom LLM β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β β β β
β β βββββββββββββββββ Services βββββββββββββββββββββββββ β β
β β β MCP Manager β Skill Registry β Database β β β
β β βββββββββββββββββββββββββββββββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
MagicMusic/
βββ data/ # Database files (created at runtime)
β βββ magicmusic.db
βββ dist/ # Build output
β βββ MagicMusic.exe
βββ docs/
β βββ mcp-guide.md # MCP usage guide
β βββ api-setup.md # API configuration guide
βββ static/
β βββ Screenshot/
β βββ main_interface.png
β βββ agent_status.png
β βββ lyrics_result.png
β βββ score_result.png
βββ agents/
β βββ __init__.py
β βββ base_agent.py # Agent base class
β βββ orchestrator.py # Orchestrator
β βββ magic.py # Director Agent
β βββ word.py # Lyricist Agent
β βββ kiki.py # Composer Agent
β βββ cat.py # Arranger Agent
βββ ai/
β βββ __init__.py
β βββ ai_router.py # AI router
β βββ llm_client.py # LLM client
β βββ providers/
β βββ openai_provider.py
β βββ anthropic_provider.py
β βββ deepseek_provider.py
βββ core/
β βββ __init__.py
β βββ music_theory.py # Music theory utilities
βββ db/
β βββ __init__.py
β βββ database.py # Database management
β βββ models.py # Data models
βββ memory/
β βββ __init__.py
β βββ memory_manager.py # Memory management
βββ skills/
β βββ __init__.py
β βββ skill_registry.py # Skill registry
β βββ search_web.py # Web search
β βββ read_url.py # URL reading
β βββ compare_sources.py # Source comparison
βββ mcp/
β βββ __init__.py
β βββ config.py # MCP configuration
β βββ client.py # MCP client
β βββ manager.py # MCP manager
β βββ store.py # MCP storage
βββ ui/
β βββ __init__.py
β βββ main_window.py # Main window
β βββ admin/
β βββ api_config.py # API configuration
β βββ agent_manager.py # Agent management
β βββ skill_manager.py # Skill management
β βββ mcp_manager.py # MCP management
β βββ memory_manager.py # Memory management
βββ .gitignore
βββ main.py # Program entry
βββ README.md # This document (English)
βββ README.zh-CN.md # Chinese documentation
βββ RELEASE_NOTES_v1.0.0.md # Release notes
βββ requirements.txt # Python dependencies
| Layer | Technology | Version |
|---|---|---|
| Frontend | Python + PyQt6 | 3.14+ / 6.x |
| Backend | Python + SQLite | 3.14+ / 3.x |
| AI Integration | OpenAI Compatible API | Multiple |
| Build | PyInstaller | 6.19.0 |
| Database | SQLite3 | Built-in |
# 1. Download executable
# Visit https://github.com/YOUR_USERNAME/MagicMusic/releases/latest
# Download MagicMusic.exe
# 2. Double-click to run
MagicMusic.exe
# 3. Configure AI service
# Settings β AI Service Configuration β Add provider information# 1. Clone repository
git clone https://github.com/YOUR_USERNAME/MagicMusic.git
cd MagicMusic
# 2. Install dependencies
pip install -r requirements.txt
# 3. Run program
python main.pyMain Interface: Desktop application (no port)
Configuration Steps:
- Click menu Settings β AI Service Configuration
- Click "Add Provider"
- Fill in information:
Provider Name: Kimi-K2.5
Usage Type: LLM - Text Generation
API URL: https://api.moonshot.cn/v1
Model: kimi-k2.5
API Key: sk-xxxxxxxxxxxxxxxx
- Click "Test" to verify configuration
- Configuration is automatically saved
Supported AI Providers:
- β Kimi (Moonshot AI)
- β DeepSeek
- β Qwen (Alibaba Cloud)
- β ERNIE Bot (Baidu)
- β Any OpenAI compatible API
1. Input Requirements
Create a pop song about "Spring"
Target audience: Young people
Emotional tone: Warm, hopeful
Tempo: Moderate
2. Agent Collaboration
Magic (Director) β Analyze requirements, assign tasks
β
Word (Lyricist) β Create lyrics (verse + chorus)
β
Kiki (Composer) β Create melody (notation + chords)
β
Cat (Arranger) β Arrangement production (MIDI + instruments)
3. Output Results
β
Complete lyrics (with structure analysis)
β
Numbered notation (with chord markings)
β
MIDI files
β
Arrangement plan
AI Service Configuration Table (api_providers)
CREATE TABLE api_providers (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
provider_type TEXT NOT NULL DEFAULT 'llm',
config TEXT NOT NULL DEFAULT '{}',
enabled INTEGER NOT NULL DEFAULT 1,
created_at TEXT NOT NULL DEFAULT (datetime('now'))
);MCP Configuration Table (mcp_configs)
CREATE TABLE mcp_configs (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
transport_type TEXT NOT NULL DEFAULT 'stdio',
command TEXT,
url TEXT,
enabled INTEGER NOT NULL DEFAULT 1
);| Plugin Type | Status | Description |
|---|---|---|
stdio |
β | Local process communication |
http |
β | HTTP API calls |
websocket |
β | WebSocket bidirectional communication |
Configuration Example:
{
"name": "github_mcp",
"transport_type": "stdio",
"command": "npx",
"args": ["@modelcontextprotocol/server-github"]
}| Version | Status | Focus |
|---|---|---|
| v0.0.1 | β | Project skeleton + basic Agents |
| v0.1.0 | β | MCP manager + UI interface |
| v1.0.0 | β | Complete features + configuration persistence |
| v1.1.0 | π | More music style support |
| v1.5.0 | π | MIDI export + audio generation |
| v2.0.0 | π | Historical project library + industry benchmarks |
Copyright Β© 2026 Magic&Kiki. All rights reserved.
- Magic (Director): Task assignment, progress tracking, quality control
- Word (Lyricist): Lyrics creation, rhyme optimization, sentiment analysis
- Kiki (Composer): Melody generation, chord arrangement, rhythm design
- Cat (Arranger): Arrangement production, instrument selection, MIDI generation
- Complete external tool integration support
- Supports STDIO/HTTP/WebSocket transport
- Graphical configuration interface
- Instant save and load
- Pluggable skill architecture
- Web search, URL reading, source comparison
- Skill registration and management
- Dynamic loading and unloading
- Local SQLite database
- AI service configuration instant save
- MCP configuration instant save
- Configuration persists after restart
- Development: Magic&Kiki
- Technical Support: Python + PyQt6
- Release Notes - Detailed version information
- Build Report - Technical details
- GitHub Release Guide - How to publish
A: No! The packaged exe file is standalone and requires no dependencies.
A: No. All configurations are saved to the local database and automatically loaded on restart.
A: All OpenAI compatible API providers, such as Kimi, DeepSeek, Qwen, etc.
A: Please submit issues in GitHub Issues and we'll handle them promptly.
Current Version: 1.0.0
Last Updated: 2026-04-08
Status: β
Stable
