用途:当用户需要低成本、本地生成的音乐音频文件时使用,尤其适合背景音乐、lo-fi、氛围、温馨循环、游戏/菜单音乐,以及粗糙的朋克/流行朋克小样。它不是 Suno/Udio 级别带人声完整歌曲的替代品。
核心原则:不要生成“一段随机循环重复两分钟”,而要生成小型编曲,如 Intro → A → A' → B → A'' → breakdown/bridge → 最终 A/B → 结尾/淡出。
渲染后端:A 纯 Python 合成,仅需 Python + ffmpeg,适合 lo-fi、氛围铺底、简单游戏音乐、drone,弱于真实摇滚吉他与声学真实感;B SoundFont/MIDI,适合钢琴、贝斯、弦乐、GM 鼓与简单流行/摇滚小样,弱于失真吉他与现代制作质感;C 采样包混合,适合真实鼓、黑胶噪声、lo-fi 打击乐,但采样授权必须清晰。
风格预设:lofi-study(70–88 BPM,60–180 秒,柔和温暖,含黑胶噪声与 wow/flutter)、cozy-background、ambient-soft、simple-corporate、2000s-pop-punk-demo。
人性化规则:时间偏移 ±5–20 ms、力度变化 ±5–20%、每 8 或 16 小节加鼓花、分段改变和弦排列、旋律成句出现、末段与首段不同、淡出或明确结尾。
反循环检查:同一 4 小节是否贯穿全曲、是否有 intro、是否有 B 段或 breakdown、每 8 小节是否有变化、主奏是否有时停歇、结尾是否有意。
质量检查:不削波,峰值约低于 0.92;贝斯不过响;噪声不掩盖音乐;失真仅限朋克/垃圾摇滚;需有公开 MP3 链接与简单试听页。
推荐流程:选预设、时长与种子;本地渲染 WAV;用 ffmpeg 编码 MP3;发布到 /home/hermes/apps/container-host/music/<slug>/;创建简单试听/下载 index.html;验证本地与公开 URL 返回 200。
脚本用法:python ~/.hermes/skills/creative/local-music-generation/scripts/render_music.py --style lofi-study --duration 120 --seed 42 --slug rainy-desk --outdir /home/hermes/generated-music,输出 <outdir>/<slug>.wav 与 <outdir>/<slug>.mp3。
限制:若用户要求真实人声、电台级流行/摇滚、Suno 级吉他或精确模仿某艺人,应说明本地程序化生成只能廉价勾勒氛围,真实感需要采样、SoundFont 或专用音乐模型。