音乐生成
Elftia 的音乐生成功能让你通过文本描述使用 AI 创作音乐,支持对时长、节拍、调式、节拍类型等音乐参数的细粒度控制,还可以提供歌词进行带词演唱生成。
使用场景
- 根据文字描述快速生成背景音乐
- 为视频、播客或演示制作配乐
- 使用自定义歌词生成 AI 演唱的歌曲
- 尝试不同的音乐风格和参数组合
支持的提供商
| 提供商 | 类型 | 说明 |
|---|---|---|
| ACEMusic | OpenAI 兼容 API | 本地或云端部署的音乐生成服务,通过 OpenAI 兼容接口调用 |
配置提供商
操作步骤
- 打开 设置 > 媒体提供商 > 音乐
- 选择 ACEMusic 提供商
- 填写 API 端点(默认为
http://127.0.0.1:8002) - (可选)填写 API Key(如果你的部署需要认证)
- 选择默认模型
- 保存并启用
提供商配置表
| 配置项 | 说明 | 默认值 |
|---|---|---|
| API 端点 | 音乐生成服务的地址 | http://127.0.0.1:8002 |
| API Key | 认证密钥(可选) | 无 |
| 默认模型 | 默认使用的模型 | 取决于提供商 |
| 启用状态 | 是否启用此提供商 | 否 |
生成音乐
操作步骤
- 选择音乐生成功能
- 选择提供商和模型
- 在提示词输入框中输入音乐风格描述(如 "轻快的爵士钢琴曲")
- 配置音乐参数(见下方参数表)
- (可选)输入歌词
- 点击 生成
- 等待生成完成,播放和预览结果
生成参数
| 参数 | 说明 | 可选值 / 范围 | 默认值 |
|---|---|---|---|
| 提示词 (Prompt) | 音乐风格和内容的文字描述 | 任意文本 | 必填 |
| 时长 (Duration) | 音乐时长(秒) | 数字,或 auto 自动 | auto |
| 节拍 (Tempo/BPM) | 每分钟节拍数 | 数字(如 120),或 auto | auto |
| 拍号 (Time Signature) | 音乐的节拍类型 | 4/4、3/4、6/8 等,或 auto | auto |
| 调式 (Key) | 音乐的调性 | 音名 + 调式,如 C_major、A_minor,或 auto | auto |
| 纯器乐 (Instrumental) | 是否生成纯器乐曲(无人声) | true / false | false |
| 歌词 (Lyrics) | 带词演唱的歌词内容 | 任意文本 | 无 |
| 任务类型 (Task Type) | 生成任务的类型 | 由提供商定义 | 无 |
:::tip 参数设置建议
- 如果不确定具体参数值,将其设为
auto,让 AI 根据提示词自动决定 - 提示词中可以包含风格描述、情感氛围和乐器偏好
- 使用纯器乐模式时无需提供歌词 :::
歌词输入
当需要生成带演唱的音乐时:
- 取消勾选纯器乐选项
- 在歌词输入区域输入歌词文本
- 歌词会作为额外参数发送给音乐生成 API
- AI 会根据提示词的风格和歌词内容生成带演唱的音乐
简单模式
音乐生成支持简单模式(Simple Mode),启用后会使用采样模式进行更快速的生成,适合快速预览效果。
结果管理
生成完成后,系统会返回一个或多个音轨(Track),每个音轨包含:
| 字段 | 说明 |
|---|---|
| 音频数据 | 生成的音频内容 |
| 格式 | 音频格式(通常为 WAV 或 MP3) |
| 时长 | 实际生成的音乐时长 |
你可以:
- 在界面中直接播放预览
- 保存到本地文件系统
- 在聊天消息中查看和分享
ACEMusic 部署说明
ACEMusic 是一个可本地部署的音乐生成服务。如果你希望在本地运行:
- 按照 ACEMusic 官方文档部署服务
- 确保服务监听在配置的端口上(默认 8002)
- 在 Elftia 中配置 API 端点为
http://127.0.0.1:8002 - 如果服务部署在远程服务器上,使用对应的地址和端口
常见问题
| 问题 | 解决方案 |
|---|---|
| 无法连接到音乐服务 | 确认 ACEMusic 服务正在运行,且 API 端点地址正确 |
| 生成结果没有声音 | 检查音频播放器是否正常,尝试将文件保存后用外部播放器打开 |
| 生成时间过长 | 音乐生成可能需要较长时间,取决于时长参数和硬件性能 |
| 歌词不生效 | 确认已取消勾选纯器乐模式,且所选模型支持带词生成 |
| BPM 或调式不准确 | AI 生成的音乐可能不会严格遵循指定参数,这取决于模型能力 |