cn-blog-writing
按节奏规则生成自然风格的中文技术博客,支持风格分析与内容规划。
根据脚本生成带情感、语速控制的语音旁白,支持多种语气和音色。
openclaw skills install @runware/voiceover命令、参数、文件名以原文为准
将文字脚本转化为自然流畅的口语音频,实现精准的情感表达、语速控制、重音处理和声音选择,适用于视频旁白、广告、有声书或 IVR 提示音。核心在于使用方括号 [bracket] 内的指令标签来引导每一行的朗读方式,而不仅仅是文字本身。
voice-cloning。fishaudio:s2.1@pro)领先的多语言 TTS 模型,支持丰富的方括号标签控制情感与副语言特征,覆盖 80+ 种语言,支持快速流式传输。是通用旁白任务的最佳选择。
inworld:tts@2) 支持自由形式的自然语言指令标签,并内置 settings.textNormalization 功能,可直接处理原始文本生成清晰语音。适用于智能助手、IVR、客服系统等场景。
alibaba:qwen@3-tts-1.7b-customvoice) 提供九种预设声音,通过 positivePrompt 添加风格提示。已针对 Runware 进行优化。
runware:dia2@2b)支持实时流式传输,包含非语言表达和说话人标记。已针对 Runware 进行优化。
live,并通过 runware-models 和 runware-run 检查其具体字段。切勿硬编码过时模型。runware-run),确认字段名称。标准结构为 audioInference,包含 speech.text 和 speech.voice(部分模型支持 speech.language)。speech.text,并在每行前插入对应的 [bracket] 方括号指令标签,标签应紧贴所作用的文本之前。$1,249.99、缩写等),启用文本规范化功能以确保发音准确:在 Inworld TTS-2 中设置 settings.textNormalization: true。audioInference,并轮询 getResponse 直至完成。音频生成是耗时操作,不可阻塞同步调用。audioURL 获取结果,回听音频,核对演绎效果是否符合需求,对表现不佳的片段进行重试。 放置在文本前的 [bracket] 标签会持续影响后续内容,直到遇到下一个标签或输入结束。无需关闭或重置。当情绪变化时,直接添加新标签即可:
[speak cheerfully] Great news, the build passed! [lower voice, more serious] But we need to talk about the memory leak.
“像深夜里向亲密朋友倾诉”比“亲密”更有效。模型对描述性语言响应更好。可在单个标签中叠加多个维度:情绪 + 语速 + 音量 + 表达方式,例如:
[say sadly with deliberate pauses in a low voice and hushed style]
而仅写“sad”则无法产生真实效果。
Fish S2.1 Pro 提供一组稳定的核心标签(如 [excited]、[sad]、[whisper]、[laughs]、[angry]、[surprised]),也接受任意描述性短语(如 [whispers sweetly]、[laughing nervously])。建议优先使用核心标签保证一致性,仅在需要细微差别时使用自由表达。
在合适位置插入具体的音频事件。Fish S2.1 Pro 支持括号内提示:(break)、(long-break)、(breath)、(sigh)、(laugh)、(cough),但需设置 settings.normalize: false 才能生效。Inworld TTS-2 使用内联非语言表达:[laugh]、[sigh]、[breathe]、[clear throat]、[cough]、[yawn]。应放置在人类实际发声的位置。
大写单词可强调(I told you NOT to do that),部分大写可强调音节(AbsoLUTEly)。标点符号影响朗读节奏:句号为完整停顿,逗号为短暂停顿,省略号表示犹豫拖长。每句最多强调一两个词。
LLM 输出常包含数字、日期、货币、Markdown 格式。启用 settings.textNormalization: true(Inworld)可将 $1,249.99 展开为“一千二百四十九美元九十九美分”,将 3:45 PM 展开为“三点四十五分 PM”。也可在 LLM 系统提示中要求其输出口语化文本并禁止使用 Markdown(参见 TTS-2 的 LLM 系统提示指南)。日期规范化可能存在歧义,关键场景建议手动处理。
“Uh”、“um”、“well”等填充词可让旁白更有人味,但在专业 IVR 或客服系统中会显得不连贯。用于非正式叙述时可保留,用于正式旁白则应剔除。
标签必须与内容一致。在悲伤段落使用 [sound happy] 会造成矛盾,降低语音质量。保持每个标签内部逻辑统一。例如 [whisper] 与 [very loud] 明显冲突。
Fish S2.1 Pro 支持使用 CMU Arpabet 语音标注,在 <|phoneme_start|> 与 <|phoneme_end|> 之间指定发音,适用于同音异义词、品牌名、专业术语等。此功能需配合 settings.normalize: false 使用。仅在模型确实发音错误时才启用。
本技能不适用于多角色对话。如需多说话人音频,请参考 dialogue-audio。如需非预设声音(如特定人物或品牌声音克隆),请参考 voice-cloning。
[bracket] 标签,将对后续内容持续生效,直到遇到下一个标签或输入结束。仅在情绪发生变化时添加新标签,而非每句话都添加。(cue) 括号(如 (break)、(breath)、(sigh)),需设置 settings.normalize: false。Inworld 使用内联的 [non-verbal] 方括号(如 [laugh]、[sigh]、[breathe])。应根据人类自然表达的位置进行放置。settings.textNormalization: true 会将原始数字、日期和价格展开为口语化表达。Fish 的 settings.normalize(默认为 true)在使用 (cues) 和 <|phoneme|> 覆盖时必须设为 false,否则这些标记会被移除。references/examples.md 获取完整示例(情感广告配音、已归一化的解说、品牌IVR语音)。speech.text: 语音脚本,包含内联的 [bracket] 引导标签及任何非语言表达提示。必填。speech.voice: 语音ID或预设名称。不同语音对相同引导标签的响应强度不同,因此应先选定语音,再调整标签以适配。speech.language: 在模型支持的语言场景中(如 Qwen、部分 Inworld 地区)设置,以确保发音准确。settings.textNormalization(Inworld TTS-2):true 表示将原始文本中的数字、日期、缩写展开为口语形式。settings.normalize(Fish S2.1 Pro):使用 (cues) 或 <|phoneme|> 覆盖时必须设为 false,否则这些标记会被过滤掉。positivePrompt(Qwen CustomVoice):可选的风格/情绪提示,例如 "用极大的热情说话"。runware-run)为准确认字段名。不同模型的括号标签与非语言表达语法存在差异,切勿直接将一种模型的提示迁移到另一种模型,务必核对。audioURL 读取。若出现误读、语速过快或情绪不符,需重试相关片段。runware-run, runware-models, runware-prompting; dialogue-audio(单次生成多角色对话)、voice-cloning(自定义或克隆声音)、talking-avatar(用语音驱动面部动画)、ugc-ad(在完整广告中嵌入语音配音)。
已收录 2 个 Skill