关于 scenario-sonilo
这是一个介绍如何使用 Scenario 中 Sonilo 模型的技能,可根据文本或视频生成音效和器乐。内容涵盖输出类型选择、视频条件音频生成,以及视频配乐时保留语音的方法。
主要功能
- 01文本生成音效和音乐
- 02基于视频生成音频
- 03输出独立音轨或混音视频
- 04按视频片段指定提示词
- 05介绍保留语音的方法
适用场景
- 01为静音游戏视频制作音效
- 02为视频生成配乐
- 03选择独立音轨或混音视频输出
MCP 相关
通过 Scenario MCP 工具(如 `search`、`model_schema_get`、`model_run` 和资源工具)发现模型、提交任务并获取结果。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-sonilo安装后在 Claude Code 中输入/scenario-sonilo确认已加载。
详细介绍
Scenario Sonilo Audio
概述
Scenario 的 Sonilo 音频系列分为两个维度:声音的类型(音效或器乐),以及返回内容(独立音轨,或将生成的音轨混入源视频且不改动画面)。选择返回内容符合交付需求的成员,比任何提示词都重要。使用 search 发现成员,并将 model_schema_get 视为接口约定。
连接方式和核心工作流:参见本仓库中的 scenario 技能;与模型无关的音频操作:参见 scenario-audio 技能。如果这里提到的某个同级技能不在你可用的技能中,请让用户安装它(npx skills add scenario-labs/skills --skill <name>);若无人值守,请根据工具架构继续操作,并指出这一缺失。
快速参考
成员名称说明模式;输入名称以实时架构为准:
| 成员 | 关键输入 | 返回内容 |
|---|---|---|
| 文本生成音效 | prompt、duration、audioFormat | 一个音效片段 |
| 文本生成音乐 | prompt、duration、numSamples | 器乐音轨 |
| 视频生成音效 | video,可选的 prompt 或 segments | 与视频时长匹配的音轨 |
| 视频生成音乐 | video,可选的 prompt、numSamples、startOffset、duration | 音乐音轨 |
| 视频转视频音效 | 同视频生成音效 | 混入音效的视频,以及音轨 |
| 视频转视频(音乐) | 同视频生成音乐,另加 keepSpeechVocal | 混入音乐的视频 |
编写本文时:文本生成音效的时长为 1 到 180 秒(默认 8 秒),文本生成音乐为 1 到 600 秒(默认 90 秒),视频输入最长 360 秒,segments 最多 50 个,numSamples 为 1 到 3;startOffset 按 10 秒递增,且 startOffset 加上 duration 不得超过视频时长。只有音效成员支持 audioFormat(默认 aac,也支持 mp3、wav、flac;编辑工作流建议使用 wav 或 flac);在混音成员中,它仅用于设置单独音轨的格式,视频本身的音频仍为 AAC。两个音乐混音成员曾使用相同架构同时在线;优先选择最新的搜索结果。每个时长参数都会产生费用,因此批量操作前先运行 dry_run。
视频决定时间轴
对于受视频条件约束的成员,画面决定声音何时发生,提示词只影响声音听起来如何;片段自身的音频不会影响生成,模型只读取画面。prompt 可以留空,而且通常这样效果最好:模型会为片段生成说明,并自行覆盖每个场景。当一条描述无法涵盖整个片段时,可使用 segments 为不同时间范围提供提示词;时间段必须连续,这是接口约定:第一个 start 为 0,每个 end 等于下一个 start,最后一个 end 不得超出视频范围。文本生成音效完全无法控制时间,因此每次只描述一个声音事件;多用具体的物理特征词描述声音,而非情绪词(空洞、沉闷、有力),按声源、材质、空间、强度的顺序描述,并同时在文字和参数中表达时长意图。所有成员都不接受种子,因此请保存喜欢的结果;音乐成员支持通过 numSamples 在一次运行中生成最多三个结果,避免反复重新生成。
音乐处理后会保留什么
音乐混音成员默认会替换整个原始音轨。keepSpeechVocal: true 会分离人声(对话、旁白、演唱、人群声),并将音乐音量压低到人声之下;所有非人声内容(引擎声、脚步声、环境音、原有拟音)都会被替换。因此,切勿在混入拟音后再为片段配乐:如果视频同时需要两者,请分别使用视频生成音效和视频生成音乐获取独立音轨,再在后期混音。音乐返回结果为器乐。
演练示例:为无声的游戏片段制作拟音
- 使用
target="models"、query="sonilo"、public=true调用search。成员列表会列出txt2audio、video2audio或video2video等能力;例如model_sonilo-v1-1-video-to-video-sound-effects(这是编写本文时可用的结果:每次会话都需重新发现)。 - 使用该 ID 调用
model_schema_get:先查看字段和功能上限。 - 使用
upload_asset上传片段(参见scenario技能),获取其资源 ID。 - 使用该
model_id调用model_run,设置dry_run=true,并传入parameters={"video": "asset_x", "segments": [{"start": 0, "end": 4, "prompt": "footsteps on wet metal, close and sharp"}, {"start": 4, "end": 12, "prompt": "plasma rifle shots, hollow hangar reverb"}]}: 费用随片段时长增加。 - 再次调用
model_run,设置wait=false,然后使用返回的作业 ID 调用jobs_wait;超时后使用pending_job_ids再次调用,切勿第二次调用model_run。 - 使用
asset_display查看混流后的视频,然后使用asset_download下载视频和单独的音轨。
常见错误
- 需要纯音轨时却选择混流,或反之:Video to SFX 仅返回音频;Video to Video SFX 返回完整片段。应根据交付需求选择。
- 使用包含音乐混流的成员处理已带有拟音的片段:非语音声音会被替换,拟音也会消失。
- 在对话人像片段中未启用
keepSpeechVocal(默认关闭):旁白会和音轨中的其他声音一起消失。 segments存在间隔或重叠:接口约定要求范围从 0 开始且连续。- 将一连串事件塞进一个 Text to SFX 提示词中:它无法控制时间;每次运行只能生成一个事件。
- 要求任何成员生成语音或人声:没有成员能生成对白、旁白或歌声;其功能仅限音效和器乐音乐。