讲师中心 微信公众号
AI工具推荐 视频效率加速

音乐工具箱免费版

Polar Sponsor
爱发电 赞助
.NET 9.0

音乐生成与编辑工具,支持MIDI生成、音频处理与基础乐理分析

音乐工具箱 (免费版)

功能概述

音乐工具箱 (免费版)是一项面向实际任务的技能,主要用于本工具为个人音乐爱好者与学习者提供音乐生成与编辑能力,涵盖 MIDI 生成、音频处理、乐理分析、和弦进行设计、旋律创作辅助等功能;所有处理在本地完成,无版权限制,适合音乐学习、创作原型、视频配乐、游戏音效等场景;

核心要点

  • 免费版聚焦个人创作与学习,适合音乐爱好者、独立开发者、视频创作者使用;
  • 免费版支持;
  • MIDI 生成;

使用与执行

程序化生成旋律与伴奏。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

音乐工具箱 (免费版)

概述

本工具为个人音乐爱好者与学习者提供音乐生成与编辑能力,涵盖 MIDI 生成、音频处理、乐理分析、和弦进行设计、旋律创作辅助等功能。所有处理在本地完成,无版权限制,适合音乐学习、创作原型、视频配乐、游戏音效等场景。

免费版聚焦个人创作与学习,适合音乐爱好者、独立开发者、视频创作者使用。

核心能力

能力模块 描述 免费版支持
MIDI 生成 程序化生成旋律与伴奏 支持
音频处理 混音、效果、格式转换 基础
乐理分析 调性、和弦、节奏分析 支持
和弦进行 自动推荐和弦走向 支持
旋律创作 辅助旋律设计 支持
节奏生成 鼓点与节奏模式 支持
音色库 内置音色 基础
AI 编曲 智能编曲 不支持 (升级 PRO)
多轨录音 多轨音频录制 不支持 (升级 PRO)
母带处理 专业母带 不支持 (升级 PRO)
商业授权 商业用途 个人
协作创作 多人协作 不支持 (升级 PRO)

核心功能执行

用input_params参数进行配置。

输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 按照skill规范执行核心功能执行操作,遵循单一意图原则。 输出: 返回核心功能执行的执行结果,包含操作状态和输出数据。

  • 执行此能力时使用input_params参数,支持创建/查询/导出操作

参数配置与调用

用config_options参数进行配置。

输入: 用户提供参数配置与调用所需的指令和必要参数。 处理: 按照skill规范执行参数配置与调用操作,遵循单一意图原则。 输出: 返回参数配置与调用的执行结果,包含操作状态和输出数据。

  • 执行此能力时使用config_options参数,支持修改/重置/导入操作

结果处理与输出

用output_format参数进行配置。

输入: 用户提供结果处理与输出所需的指令和必要参数。 处理: 按照skill规范执行结果处理与输出操作,遵循单一意图原则。 输出: 返回结果处理与输出的执行结果,包含操作状态和输出数据。

  • 执行此能力时使用output_format参数,支持导出/保存/转换操作 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:音乐生成与编辑工、音频处理与基础乐、面向个人音乐爱好、者与学习者的音乐、生成与编辑工具箱、核心能力、旋律创作辅助、适用场景、音乐学习、创作原型、视频配乐、游戏音效、个人娱乐、差异化、免费版聚焦个人创、作与学习、本地处理、无版权限制、适用关键词、音乐生成等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。

使用场景

场景一: MIDI 旋律生成

程序化生成旋律 MIDI 文件。

from midiutil import MIDIFile
import random

def generate_melody(key="C", scale="major", bars=4, bpm=120):
    """生成旋律 MIDI"""
    # 音阶定义
    scales = {
        "major": [0, 2, 4, 5, 7, 9, 11],
        "minor": [0, 2, 3, 5, 7, 8, 10],
        "pentatonic": [0, 2, 4, 7, 9],
    }
    key_notes = {"C": 60, "D": 62, "E": 64, "F": 65, "G": 67, "A": 69, "B": 71}

    base_note = key_notes[key]
    scale_notes = scales.get(scale, scales["major"])

    # 创建 MIDI 文件
    midi = MIDIFile(1)
    midi.addTempo(0, 0, bpm)

    # 生成旋律
    current_time = 0
    for bar in range(bars):
        for beat in range(4):
            # 随机选择音阶内的音
            scale_idx = random.randint(0, len(scale_notes) - 1)
            octave = random.choice([-1, 0, 0, 1])
            note = base_note + scale_notes[scale_idx] + 12 * octave
            duration = random.choice([0.5, 1, 1, 2])

            midi.addNote(0, 0, note, current_time, duration, 100)
            current_time += duration

    # 保存
    with open("melody.mid", "wb") as f:
        midi.writeFile(f)
    return "melody.mid"

generate_melody(key="C", scale="pentatonic", bars=8, bpm=128)

场景二: 和弦进行推荐

根据调性推荐合适的和弦进行。

class ChordProgressionGenerator:
    # 常见和弦进行 (用罗马数字表示)
    PROGRESSIONS = {
        "major": {
            "I-V-vi-IV": ["C", "G", "Am", "F"],  # 流行经典
            "I-IV-V-I": ["C", "F", "G", "C"],    # 民谣
            "ii-V-I": ["Dm", "G", "C"],          # 爵士
            "I-vi-IV-V": ["C", "Am", "F", "G"],  # 50年代
        },
        "minor": {
            "i-VI-VII": ["Am", "F", "G"],        # 摇滚
            "i-iv-VII-III": ["Am", "Dm", "G", "C"], # 史诗
            "i-VII-VI-VII": ["Am", "G", "F", "G"],  # 暗黑
        },
    }

    def recommend(self, key="C", mood="happy", bars=4):
        """推荐和弦进行"""
        scale = "major" if mood == "happy" else "minor"
        progressions = self.PROGRESSIONS[scale]

        recommendations = []
        for name, chords in progressions.items():
            recommendations.append({
                "name": name,
                "chords": chords,
                "description": self._describe(name),
                "difficulty": self._difficulty(name),
            })
        return recommendations

    def _describe(self, name):
        descriptions = {
            "I-V-vi-IV": "流行音乐最常用,温暖正能量",
            "I-IV-V-I": "民谣风,简单明亮",
            "ii-V-I": "爵士经典,复杂有深度",
            "I-vi-IV-V": "50年代老歌感,怀旧",
            "i-VI-VII": "摇滚力量感,激昂",
            "i-iv-VII-III": "史诗感,适合配乐",
            "i-VII-VI-VII": "暗黑神秘,紧张",
        }
        return descriptions.get(name, "")

    def _difficulty(self, name):
        if "ii-V-I" in name: return "advanced"
        if "VII" in name or "III" in name: return "intermediate"
        return "beginner"

gen = ChordProgressionGenerator()
for r in gen.recommend(mood="happy"):
    print(f"{r['name']}: {r['chords']} - {r['description']}")

场景三: 音频处理

基础音频处理与格式转换。

from pydub import AudioSegment
import numpy as np

class AudioProcessor:
    def __init__(self, file_path):
        self.audio = AudioSegment.from_file(file_path)

    def normalize(self, target_db=-20):
        """音量标准化"""
        change = target_db - self.audio.dBFS
        return self.audio.apply_gain(change)

    def fade_in_out(self, fade_in_ms=2000, fade_out_ms=3000):
        """渐入渐出"""
        return self.audio.fade_in(fade_in_ms).fade_out(fade_out_ms)

    def cut_segment(self, start_ms, end_ms):
        """截取片段"""
        return self.audio[start_ms:end_ms]

    def add_reverb(self, decay=0.5):
        """添加简单混响 (示例)"""
        # 这里使用简化的混响算法
        samples = np.array(self.audio.get_array_of_samples())
        delayed = np.roll(samples, int(44100 * 0.1))  # 100ms 延迟
        delayed = (delayed * decay).astype(np.int16)
        mixed = samples + delayed
        self.audio = AudioSegment(
            mixed.tobytes(),
            frame_rate=self.audio.frame_rate,
            sample_width=self.audio.sample_width,
            channels=self.audio.channels,
        )
        return self.audio

    def export(self, output_path, format="mp3", bitrate="192k"):
        """导出音频"""
        self.audio.export(output_path, format=format, bitrate=bitrate)
        return output_path

# 示例
processor = AudioProcessor("input.wav")
processor.normalize().fade_in_out().export("output.mp3", format="mp3")

不适用场景

以下场景音乐工具箱免费版不适合处理:

  • 版权受保护的媒体内容处理
  • 实时直播推流
  • 专业影视后期

触发条件

需要视频处理、音频编辑、媒体转换、配音生成时使用。不适用于非本工具能力范围的需求。

快速开始

依赖详情

# Python 音乐处理库
pip install midiutil pydub numpy

# 系统依赖 (FFmpeg)
# macOS: brew install ffmpeg
# Ubuntu: sudo apt install ffmpeg
# Windows: 下载 FFmpeg 并配置 PATH

Step 2: 生成第一段旋律

from midiutil import MIDIFile

midi = MIDIFile(1)
midi.addTempo(0, 0, 120)
midi.addNote(0, 0, 60, 0, 1, 100)  # C4, 1拍
midi.addNote(0, 0, 64, 1, 1, 100)  # E4
midi.addNote(0, 0, 67, 2, 1, 100)  # G4

with open("first_melody.mid", "wb") as f:
    midi.writeFile(f)

Step 3: 用 DAW 打开

用 GarageBand、FL Studio、Ableton 等任意 DAW 打开 MIDI 文件即可听到旋律。

结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,查阅错误处理章节获取恢复步骤。

命令参数说明

  • -VII-VI-VII: 命令参数,用于指定操作选项
  • -V-vi-IV: 命令参数,用于指定操作选项
  • -V-I: 命令参数,用于指定操作选项
  • -vi-IV-V: 命令参数,用于指定操作选项
  • -iv-VII-III: 命令参数,用于指定操作选项
  • -IV-V-I: 命令参数,用于指定操作选项
  • -VI-VII: 命令参数,用于指定操作选项

配置示例

音乐生成配置

# ~/.music-toolkit/config.yaml
generation:
  default_key: C
  default_scale: major
  default_bpm: 120
  default_bars: 8

  scales:
    major: [0, 2, 4, 5, 7, 9, 11]
    minor: [0, 2, 3, 5, 7, 8, 10]
    pentatonic: [0, 2, 4, 7, 9]
    blues: [0, 3, 5, 6, 7, 10]

audio:
  sample_rate: 44100
  bit_depth: 16
  channels: 2
  default_format: mp3
  default_bitrate: 192k

instruments:
  - piano
  - guitar
  - drums
  - bass
  - strings

乐理参考

MUSIC_THEORY = {
    "intervals": {
        "minor_second": 1, "major_second": 2,
        "minor_third": 3, "major_third": 4,
        "perfect_fourth": 5, "tritone": 6,
        "perfect_fifth": 7, "minor_sixth": 8,
        "major_sixth": 9, "minor_seventh": 10,
        "major_seventh": 11, "octave": 12,
    },
    "chord_formulas": {
        "major": [0, 4, 7],          # 大三和弦
        "minor": [0, 3, 7],          # 小三和弦
        "diminished": [0, 3, 6],     # 减三和弦
        "augmented": [0, 4, 8],      # 增三和弦
        "major7": [0, 4, 7, 11],     # 大七和弦
        "minor7": [0, 3, 7, 10],     # 小七和弦
        "dominant7": [0, 4, 7, 10],  # 属七和弦
    },
    "circle_of_fifths": [
        "C", "G", "D", "A", "E", "B", "F#",
        "C#", "G#", "D#", "A#", "F",
    ],
}

最佳实践

1. 旋律创作原则

好旋律的特征:
- 有明确的动机 (短小主题片段)
- 重复与变化结合 (熟悉感+新鲜感)
- 句法清晰 (像说话一样有呼吸)
- 高潮点明确 (情绪曲线)
- 留白与节奏变化

2. 和弦选择

def chord_for_mood(mood):
    """根据情绪推荐和弦"""
    mood_chords = {
        "happy": ["C", "F", "G", "Am"],
        "sad": ["Am", "Dm", "Em", "F"],
        "epic": ["Am", "F", "C", "G"],
        "mysterious": ["Em", "Am", "Bdim", "C"],
        "romantic": ["C", "Am", "F", "G"],
        "tense": ["Dm", "Bdim", "Am", "G"],
    }
    return mood_chords.get(mood, mood_chords["happy"])

3. 节奏设计

DRUM_PATTERNS = {
    "pop": {
        "kick":  [1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0],
        "snare": [0,0,0,0, 1,0,0,0, 0,0,0,0, 1,0,0,0],
        "hihat": [1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1],
    },
    "rock": {
        "kick":  [1,0,0,0, 0,0,1,0, 1,0,0,0, 0,0,1,0],
        "snare": [0,0,0,0, 1,0,0,0, 0,0,0,0, 1,0,0,0],
        "hihat": [1,1,1,1, 1,1,1,1, 1,1,1,1, 1,1,1,1],
    },
    "electronic": {
        "kick":  [1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0],
        "snare": [0,0,0,0, 1,0,0,0, 0,0,0,0, 1,0,0,0],
        "hihat": [1,0,1,0, 1,0,1,0, 1,0,1,0, 1,0,1,0],
    },
}

常见问题

Q1: 免费版生成的音乐有版权吗?

生成的音乐无版权限制,可用于个人项目。商业用途需要 PRO 版本授权。

Q2: 支持哪些音频格式?

支持 WAV、MP3、OGG、FLAC、AAC 等主流格式 (依赖 FFmpeg)。

Q3: 需要 DAW 吗?

不强制。可以直接生成 MP3。但用 DAW 打开 MIDI 文件可进一步编辑。

Q4: 免费版音色库有多少?

内置基础音色 (钢琴、吉他、鼓等)。专业音色库需要 PRO 版本。

Q5: 能做多轨混音吗?

免费版支持基础多轨。专业多轨混音与母带处理需要 PRO 版本。

依赖说明

运行环境

  • Agent 平台: 支持 SKILL.md 规范的任意 AI Agent (Claude Code、Cursor、Codex、Gemini CLI 等)
  • 操作系统: Windows / macOS / Linux
  • FFmpeg: 音频格式转换依赖

第三方依赖

依赖项 类型 是否必需 获取方式
LLM API 推理服务 必需 由 Agent 内置 LLM 提供
Python 3.8+ 运行时 推荐 python.org 下载
midiutil Python 库 MIDI 生成 pip install midiutil
pydub Python 库 音频处理 pip install pydub
numpy Python 库 信号处理 pip install numpy
FFmpeg 系统工具 格式转换 系统包管理器安装

API Key 配置

# 免费版无需外部 API Key
# 所有处理在本地完成

# 可选: 默认配置
export MUSIC_DEFAULT_KEY="C"
export MUSIC_DEFAULT_BPM="120"
export MUSIC_OUTPUT_FORMAT="mp3"

可用性分类

  • 分类: MD+EXEC (Markdown 指令 + 命令行执行)
  • 说明: 本 Skill 通过自然语言指令驱动 Agent 生成与处理音乐
  • 免费版限制: 个人使用、基础音色、无 AI 编曲、无多轨录音、无母带处理、无商业授权

错误处理

错误场景 原因 处理方式
配置错误 参数缺失或格式错误 检查依赖说明中的配置要求
运行时错误 运行环境不满足 确认运行环境符合依赖说明
网络错误 连接超时或不可达 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案

已知限制

  • 本地运行,不支持多设备同步

示例

基本用法

输入:用户提供操作指令和必要参数

输出:返回执行结果,包含操作状态和输出数据

用户: 执行核心功能
Skill: 正在执行核心功能...
Skill: 执行完成,结果如下: 操作成功
目录

热门AI工具

更多
墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

0

2026.11.02

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

0

2026.11.02

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

0

2026.11.02

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

0

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

0

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

0

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn