# audio_line —— 音频创作管线配置 # 复制到 agent-local/tools/ave/config/local.yaml 并填入真实 API 密钥 # 优先级: local.yaml > config.yaml > 默认值 # === 输入/输出路径 === paths: work_dir: "./work/audio_line" # 临时工作目录 output_dir: "./output/audio_line" # 成品输出目录 model_cache: "./cache/models" # 模型缓存 # === 音轨分离 === separation: model: "htdemucs_ft" # Demucs 模型: htdemucs | htdemucs_ft | htdemucs_6s device: "cpu" # cpu | mps (M1/M2/M3 GPU) shifts: 2 # 推理增强次数 (≥1), >1 提高质量但慢 overlap: 0.25 # 分帧重叠率 segments: "default" # 分帧长度 "default" | int # === BPM/节拍检测 === beat: min_bpm: 60 # 最小 BPM max_bpm: 200 # 最大 BPM onset_backend: "librosa" # 节拍 onset 后端 downbeat_model: "madmom" # 重拍检测模型 (madmom | librosa) # === 节奏重塑 (Mubert API) === mubert: api_key: "" # Mubert API Key base_url: "https://api.mubert.com/v2" default_duration: 30 # 默认生成时长(秒) default_genre: "electronic" # 默认风格 default_bpm: 128 # 默认 BPM max_retries: 3 timeout: 60 # === 歌词创作 (oMLX 本地 LLM) === lyrics: llm_url: "http://localhost:8000/v1" # oMLX 地址 llm_model: "Qwen3-8B" # 可用模型 max_tokens: 1024 temperature: 0.8 # 提示词模板 rewrite_prompt: > 你是一位专业歌词改编者。请根据以下要求对原曲歌词进行二次创作: 主题: {topic} 风格: {style} 保留原曲的段落结构(Intro/Verse/Chorus/Bridge/Outro)和押韵模式。 输出格式: 每段以[Intro][Verse][Chorus]标记开头。 lyric_analysis_prompt: > 分析以下歌词的段落结构、押韵模式和情感走向。 输出 JSON 格式。 # === 旋律编曲 (Suno API) === suno: api_key: "" # Suno API Key base_url: "https://api.suno.ai/v1" default_duration: 30 # 默认生成时长 model: "suno-v4" # Suno 模型版本 max_retries: 2 timeout: 120 # === 混音母带 === mixing: target_loudness: -14.0 # LUFS 目标响度 (Spotify: -14, YouTube: -14, Apple: -16) headroom: 1.0 # 峰值头上空间 (dB) sample_rate: 44100 # 输出采样率 bit_depth: 16 # 输出位深 eq_preset: "default" # EQ 预设 compressor_threshold: -20 # 压缩器阈值 (dB) compressor_ratio: 3.0 # 压缩比 compressor_attack: 5 # 启动时间 (ms) compressor_release: 100 # 释放时间 (ms) # === 对齐 === alignment: time_tolerance: 0.1 # 时间对准容差 (秒) crossfade: 0.05 # 交叉淡入淡出时长 (秒) stretch_method: "phase_vocoder" # 时间伸缩方法: phase_vocoder | wsola | rubberband # === 输出 === export: formats: ["wav", "mp3"] # 默认导出格式 mp3_bitrate: "320k" # MP3 比特率 include_stems: true # 是否同时导出分轨 stem_labels: ["vocals", "drums", "bass", "other", "full_mix"]