# Stable Audio 3 small-sfx — 本地音效生成 ## 位置 - 代码仓库: `/home/ubuntu/SoundGame/tools/stable-audio-3` - Python 环境: `/home/ubuntu/SoundGame/tools/stable-audio-3/.venv`(uv 管理,Python 3.10) - PyTorch: 2.7.1+cu126(CUDA 可用,RTX 3090 已验证) - 模型缓存: `/home/ubuntu/SoundGame/models/hf`(通过 `HF_HOME` 指定) - 环境变量: `source /home/ubuntu/SoundGame/env.d/sfx.sh` ## 首次使用:必须申请模型访问权限(gated repo) `stabilityai/stable-audio-3-small-sfx` 是 **gated(auto 批准)** 仓库,匿名下载返回 403,必须: 1. 注册/登录 HuggingFace 账号(可用镜像 https://hf-mirror.com 浏览,但 accept 协议需在官网完成;官网打不开时可用镜像站对应的模型页 https://hf-mirror.com/stabilityai/stable-audio-3-small-sfx 登录后接受)。 2. 打开模型页 **https://huggingface.co/stabilityai/stable-audio-3-small-sfx**,点击接受 **Stable Audio Community License**(auto 模式,提交后立即通过,无需人工审核)。 3. 在 https://huggingface.co/settings/tokens 创建一个 **read** 权限的 token。 4. 把 token 写入 `/home/ubuntu/SoundGame/env.d/sfx.sh` 最后一行的 `HF_TOKEN`(去掉注释)。 注意:本机 huggingface.co 不可达,下载走 `HF_ENDPOINT=https://hf-mirror.com`(已在 sfx.sh 中设置),gated 模型带 token 经镜像下载是支持的。 ## 生成音效(CLI) ```bash source /home/ubuntu/SoundGame/env.d/sfx.sh cd /home/ubuntu/SoundGame/tools/stable-audio-3 # 3 秒冒烟测试 uv run stable-audio --model small-sfx \ -p "footsteps on gravel, slow walking" \ --duration 3 \ -o /home/ubuntu/SoundGame/tools/samples/sfx_test.wav ``` - 提示词必须是**英文**(模型只懂英文)。 - `--duration` 最长 120s;`--steps` 默认 8;small 模型峰值显存约 2.4GB(120s 时),与 TTS 共存无冲突。 - 多个提示词可批量生成:`-p "prompt1" "prompt2" --duration 3 5`。 - 其他功能:audio-to-audio(`--init-audio`)、inpainting(`--inpaint-audio/--inpaint-start/--inpaint-end`),详见 `uv run stable-audio --help`。 ## Gradio UI ```bash cd /home/ubuntu/SoundGame/tools/stable-audio-3 uv run python run_gradio.py --model small-sfx ``` ## Python API ```python from stable_audio_3 import StableAudioModel model = StableAudioModel.from_pretrained("small-sfx") audio = model.generate(prompt="thunder rumbling in the distance", duration=3) ``` ## 提示词参考 见仓库内 `docs/guides/prompting.md`。 ## 状态记录(2026-08-29) - [x] 仓库克隆 + `uv sync --extra ui` 完成(PyPI 走阿里云镜像,torch 走官方 cu126 源) - [x] torch CUDA 验证通过:`torch 2.7.1+cu126, cuda: True, NVIDIA GeForce RTX 3090` - [x] CLI 可用(flash_attn 未安装的警告可忽略,仅 medium 需要) - [ ] 模型权重下载被 gated 403 拦截 —— 待用户申请 token 后重跑上面的冒烟测试