Skip to content

mage0535/Magicmusicwin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎵 MagicMusic — AI-Powered Music Creation Platform

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.

English | 中文


📋 Overview

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

📸 Screenshots

MagicMusic Main Interface - Creation Input Form Figure 1: Music creation input form

Agent Collaboration Status - Real-time Progress Figure 2: Agent configuration

Lyrics Creation Result - Sentiment Analysis Figure 3: Lyrics creation and sentiment analysis

Numbered Notation Generation - Chord Arrangement Figure 4: Numbered notation and chord arrangement


🏗️ System Architecture

┌─────────────────────────────────────────────────────────────────┐
│                          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          │   │    │
│  │  └─────────────────────────────────────────────────┘   │    │
│  └─────────────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────────────┘

📂 Project Structure

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

🛠️ Tech Stack

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

🚀 Quick Start

Download and Run

# 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

Run from Source

# 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.py

Main Interface: Desktop application (no port)


📡 API Configuration Example

Configuration Steps:

  1. Click menu SettingsAI Service Configuration
  2. Click "Add Provider"
  3. 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
  1. Click "Test" to verify configuration
  2. Configuration is automatically saved

Supported AI Providers:

  • ✅ Kimi (Moonshot AI)
  • ✅ DeepSeek
  • ✅ Qwen (Alibaba Cloud)
  • ✅ ERNIE Bot (Baidu)
  • ✅ Any OpenAI compatible API

🎵 Creation Workflow

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

📊 Data Models

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
);

🔌 MCP Plugin System

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 Roadmap

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

📄 License

Copyright © 2026 Magic&Kiki. All rights reserved.


🎯 Core Features

AI Agent System

  • 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

MCP Manager

  • Complete external tool integration support
  • Supports STDIO/HTTP/WebSocket transport
  • Graphical configuration interface
  • Instant save and load

Skill System

  • Pluggable skill architecture
  • Web search, URL reading, source comparison
  • Skill registration and management
  • Dynamic loading and unloading

Data Persistence

  • Local SQLite database
  • AI service configuration instant save
  • MCP configuration instant save
  • Configuration persists after restart

🤝 Development Team

  • Development: Magic&Kiki
  • Technical Support: Python + PyQt6

📖 Documentation

❓ FAQ

Q: Do I need to install Python?

A: No! The packaged exe file is standalone and requires no dependencies.

Q: Will configuration be lost?

A: No. All configurations are saved to the local database and automatically loaded on restart.

Q: Which AI providers are supported?

A: All OpenAI compatible API providers, such as Kimi, DeepSeek, Qwen, etc.

Q: How do I report issues?

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

About

AI-Powered Music Creation Platform

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages