「回声工坊辅助插件」的帮助文档
这是文字视频(例如TRPG replay、视觉小说)制作软件「回声工坊」的辅助扩展,围绕整理剧本文件(跑团Log文件)提供了很多便利功能
关于新增回声工坊2.0支持的说明
从本扩展的2.0.0版本开始支持回声工坊2。
回声工坊2的三类文件(剧本文件,媒体定义文件,角色配置文件)已经被合并为一个项目文件(后缀名为.rgpj),如果想要使用回声2的相关功能,需要先在全局配置或者局部配置(详见下文)中配置项目文件的完整路径。
配置了回声2的项目文件后,会优先使用它,而不是回声1的配置。
目前已经支持的功能:
未来将要支持的功能:
- 通过侧边栏快捷添加背景媒体和音效媒体到项目文件中
- 读取项目文件中的剧本文件作为临时文件进行编辑,在保存后修改项目文件
基础功能使用方法
- 去官网安装vscode(不过你大概率是在vscode里面看到这句话,所以是一句废话)。注意,这玩意儿是免费的,不要下载到收费的盗版软件。
- 将要高亮的剧本文件的扩展名改为.rgl,txt文件是不会高亮的。
- 安装该扩展之后,在弹窗中使用该扩展提供的“RGL Dark Theme”或者“RGL Light Theme”主题。不用自带主题的话可能高亮起来怪怪的。当然,可以切换其他主题,同样有语法高亮。
- 开始润色你的剧本文件吧!不用考虑“那么多功能全部看完好麻烦”,你需要用到的时候再去看也行。
Tips:
高级功能使用方法
- 按照下文的方法进行本扩展的设置,一般来说,“文件路径”那一栏设置最好都给设置好
- 按照下文列出的功能去试试吧
全局配置与局部配置
点击左下角的齿轮图标或者使用 ctrl+,
快捷键可以打开设置面板,在搜索框中搜索本插件名称(或者在旁边的“Extensions”一栏中找这一项),里面有着相关配置。
以下配置可以写在rgl文件中作为局部配置,存在多条配置时,会使用第一个。(这属于高阶功能,如果不会用,可以跳过这一节)
- 若不存在局部配置,则使用全局配置。
#md
和 #MediaDefinition
两种写法都可以,且不区分大小写。
- 优先使用当前文件作为log文件,若未打开文件,则使用全局配置的log文件路径。
- 支持相对路径,局部配置相对于当前log文件,全局配置相对于当前log文件或者全局配置中的log文件(优先取当前log文件的路径)
- 代码片段
current directory
:快速输入当前文档所在目录,便于进行局部配置
- 代码片段
quickly configurate
:快速在本文件中配置与本文件同目录下的媒体定义文件media.txt和角色配置表characters.tsv
#! RplGenCore.exe
#md 媒体定义文件路径
#MediaDefinition 媒体定义文件路径
#ct 角色配置表路径
#CharacterTable 角色配置表路径
#op 输出路径
#Output 输出路径
#tl 导出XML时的时间轴文件的路径
#TimeLine 导出XML时的时间轴文件的路径
#ll 悬停提示和代码诊断的每行限制字数
#LineLength 悬停提示的每行限制字数
#tl 代码诊断所使用的对话行内容总字数
#TotalLength 代码诊断所使用的对话行内容总字数
#Project 回声2的.rgpj项目文件的路径
本扩展提供的功能
语法高亮与颜色主题
RGL Dark Theme
:暗色主题
RGL Light Theme
:亮色主题
支持的代码片段
代码片段 |
说明 |
内建动画行 |
支持 <dice> 和 <hitpoint> 的快速输入。例如:输入dice4可以快速输入含有4组参数的骰子行,输入hp可以快速输入生命值行 |
设置行 |
输入set可以在弹出的列表中选择需要输入的设置 |
背景行 |
输入background + 切换方式的名称或者bg+切换方式开头字母就可以快速输入背景行。例如 bgr 或 background replace 为 <background><replace=0>:背景媒体 |
音效框 |
输入audio可以快速输入音效框,即 {音效;*时间} |
正则表达式片段 |
便于复制使用的常用正则表达式片段,触发词前缀是regex。分别是“将跑团记录着色器得到的尖括号替换为方括号与冒号”,“批量给对话行末尾添加待处理星标“{*}”。”,“给某个特定角色对话行末尾加特定音效。”(现在推荐直接使用对应的命令 TRGL: Replace Angle Brackets 、TRGL: Add Asterisk Marks 、TRGL: Add Sound Effects In Batches 、 ) |
fold mark |
快速输入折叠标记 |
current directory |
快速输入当前文档所在目录,便于进行局部配置 |
quickly configurate |
快速在本文件中配置与本文件同目录下的媒体定义文件media.txt和角色配置表characters.tsv |
animation |
常驻立绘行 |
clear |
聊天窗内容清除行 |
set FreePos |
设置自由位置 |
折叠标记
- 在想要折叠的起始行和末尾行分别加上
#s
和 #e
的注释,即可对中间的内容进行折叠
- 可以嵌套,而且这两个边界标记后面可以加注释,例如
#s 这是折叠的起始行,意思是start
,#e 这是折叠的末尾行,意思是end
。
- 媒体定义文件支持按照媒体类型折叠以及折叠标记折叠(#s开头和#e结尾,使用方式同上)
悬停提示
鼠标移动到rgl文件的各个元素并悬停时,会出现相应的说明文字。可以在设置中关闭。
可以使用 #ll 50
或者 #lineLength 50
将单行字数限制设定为50,这里的数字可以改成其他整数,设置为负数将被视作正无穷
自动补全
- 角色差分:你在角色名后输入“.”即可自动补全角色差分,只要你正确配置了角色配置表(支持tsv和xlsx格式)
- 角色名:输入对话框的名字框时触发,多个角色时也支持
- 背景行:在
<background>
后输入英文冒号触发
- 音效:输入左花括号
{
触发
- 立绘媒体:常驻立绘行(
<animation>
)自动补全立绘
- 气泡媒体:常驻气泡行(
<bubble>
)自动补全气泡
- 聊天窗媒体:聊天窗内容清除行(
<clear>
)自动补全聊天窗
快捷换行
使用Ctrl+Enter快捷键插入和当前行同角色名的对话行,即换行时保留当前行角色框
例如:
[角色A,角色B]:发言内容1。发言内容2。
在两段发言内容中间用Ctrl+Enter快捷键进行换行,会变成下面这样:
[角色A,角色B]:发言内容1。
[角色A,角色B]:发言内容2。
代码诊断及快速修复
- 当角色或者差分未在角色配置表中定义的时候,报错
- 当背景行使用的背景未在媒体定义文件中定义时,报错
- 当对话行单行字数或者总字数超出用户设置的上限时,警告(可将对应字数设置为负数以关闭此功能)
- 自动检测多音字并标注,以防止语音合成不合预期,可在设置中调整多音字表和提示等级,并提供“在行尾添加合成指定文本的语音的标志便于修改”的快速修复
代码诊断新增音效框相关:
- 检查语音合成指定文本只能包含
,。:?!“”
等中文符号
- 检查音效框的文件路径是否正确
- 检查音效框使用的是否为wav文件
- 检查音效媒体是否在媒体定义文件中已经定义
状态栏
可以在状态栏里看到预估视频时长等统计信息,点击状态栏可以使用
侧边栏
点击侧边栏回声工坊图标即可打开回声工坊资源管理器
视图 |
说明 |
大纲 |
会将背景行视作跳转节点。侧边栏大纲可以使用折叠标记作为大纲节点,可嵌套(折叠标记正确闭合才会得到正确大纲),在【设置】->【侧边栏】中可以找到相应设置,默认使用背景行作为大纲节点 |
角色管理 |
可以通过侧边栏查看当前rgl文件有哪些角色差分(带*号)以及角色配置表里面有哪些角色差分,点击按钮手动刷新,可插入到剧本文件中 |
背景 |
会读取已配置的媒体定义文件得到可用背景媒体,点击可插入到剧本文件中 |
音效 |
会读取已配置的媒体定义文件得到可用音效媒体,点击可插入到剧本文件中 |
角色标识
可以在剧本文件内以“#颜色的十六进制编码#角色名”进行局部配置,例如“#ff0000#kp”,对应配置行下方的内容才会受到影响
可以在全局配置中搜索“角色标识”,配置以字体颜色或者以前置方块形式显示角色标记
命令
命令的使用方法是:ctrl+shift+p唤出命令面板,输入命令名字,enter键确认
打开命令面板的其他方式:
- 右键菜单中“命令面板”选项
- 菜单栏【帮助】>【显示所有命令】
TRGL: Open Document
可以快速打开配置的回声工坊软件路径下的 README.md
文件,方便查看回声工坊的文档
TRGL: Chat With DiceBot
可以询问答疑骰郎伊可(Exception)问题
TRGL: Correct Typos
调用阿里云key进行文本纠错的功能,详细使用方法见:https://www.wolai.com/yxchangingself/D5svMQ4DWThCzUyauUbSb
对于已经配置好语音合成的用户来说,你需要做的就一件事:开通文本纠错服务,key都是用以前的
TRGL: Count
可以统计对话行和骰子行的行数,并将rgl文件中提到的所有角色和背景不重复地列出,方便填写角色配置表和定义背景媒体,同时可以估算生成的视频的时间。
只统计选中部分的内容(行号为相对行号),当未选中任何文本时,统计整个文件
TRGL: Check Dialog Line Length
找出超出指定字数的对话行
TRGL: Replace Angle Brackets
将QQ跑团记录着色器得到的尖括号替换为方括号与冒号
TRGL: Add Asterisk Marks
(已经弃用,请使用TRGL: Edit Audio Box
命令代替)
批量给对话行末尾添加待处理星标“{*}”,拥有多个选项
- 给全部对话行添加待处理星标
- 只给无音效框的行添加待处理星标
- 去掉纯标点符号行的待处理星标
- 把某个角色已经合成的语音框替换为待合成星标以便重新合成
- 把某个角色已经合成的语音框删除。可以先添加全部{*},再删除某个特定角色的语音框,实现只给某个角色不添加星标
TRGL: Add Sound Effects In Batches
(已经弃用,请使用TRGL: Edit Audio Box
命令代替)
为指定角色批量添加指定音效
TRGL: Edit Audio Box
批量编辑音效框,拥有多个选项:
- 给全部对话行添加{*}
- 只给没有音效框的对话行行添加{*}
- 给指定角色添加指定音效(默认为{*})
- 给指定角色删除指定音效(默认为{*})
- 给指定角色删除文件路径音效
- 给指定角色删除所有音效
- 去掉纯标点符号行的{*}
TRGL: Edit Content
批量编辑对话行内容
- 对对话行的内容进行自定义正则替换:仅作用于对话行的内容部分,所以正则表达式无需写匹配角色框的部分
- 注释掉场外交流行
- 注释掉指令行
- 给场外交流行的主角色添加「场外」差分
- 删除注释掉的对话行
- 左右引号顺序修正
- 单双引号修正
- 替换为直角引号
- 为RP内容分段
- 省略号规范化:将连续出现的两个以上的中英文逗号和句号转化为中文省略号
- 空格转化为逗号:将空格转化为中文逗号
TRGL: Adjust Sound Effects Time In Batches
批量调整合成语音的时间,输入角色名以及时间差,就可以给合成的语音框后的时间批量加上这个时间差,用于调整微软音源的音频空白问题
TRGL: Replace DiceMaid Line
一键替换骰娘文本为骰子动画行
TRGL: Migrate Log
(已弃用,请使用TRGL: Convert Log
命令代替)
有损、不可逆的回声工坊和活字引擎log格式互相转换,使用前请做好备份
TRGL: Convert Log
转换跑团Log格式,对当前文件使用,在旁边生成一个转换好的回声工坊log文件,目前支持:
- 猫爷TRPG => 回声工坊
- 菠萝文字团平台txt => 回声工坊
- 菠萝文字团平台json => 回声工坊
- QQ聊天记录 => 回声工坊
- 赵、溯洄系骰子的已染色记录 => 回声工坊
- 塔骰已染色记录 => 回声工坊
- 活字引擎 => 回声工坊
- 回声工坊 => 活字引擎
TRGL: Define Character
生成的角色配置表自动填充Name,Subtype,Animation三列,其余列为NA
该命令有如下选项:
- 从log文件生成,根据已有的log文件中出现的角色及其差分自动生成tsv角色配置表,Animation列会将Name和Subtype列用“_”相连接
- 从媒体定义文件生成,根据立绘媒体名生成角色配置文件的差分行,Name和Subtype列会根据Animation列进行拆分。例如“憧憬少_微笑”这个Animation媒体会被转换为“憧憬少”角色的“微笑”差分,对应的立绘就是“憧憬少_微笑”这个立绘媒体。
根据指定路径内的媒体素材生成媒体定义文件。
注意:必须把文件夹名字命名为对应的媒体名字,而且区分大小写
例子:把所有的素材分类放在 F:/demo
路径下,它的目录结构(所有目录都是可选的)是:
- demo
- Animation
- KP
- PC1
- PC2
- NPC1.png
- NPC2.png
- Audio
- 掷骰音效.wav
- 掷骰成功音效.wav
- 掷骰失败音效.wav
- Background
- BGM
- Bubble
- Text
- StrokeText
输入命令后,会弹出一个输入框,让你输入媒体素材所在的文件夹的路径,本例子中是:“F:/demo”。
接着会弹出第二个输入框,让你输入媒体定义文件的路径(含文件名),你可以直接按下回车键使用默认值“./media.txt”,即,在“F:/demo”目录下生成一个“media.txt”文件。
接下来会扫描“F:/demo”文件夹,若存在特定媒体文件夹,就根据这个文件夹内的媒体文件生成对应的条目。
每一个媒体文件夹都是可选的,例如“F:/demo”可以只有“Background”文件夹,这时候只会处理这个文件夹。
媒体文件夹内可以嵌套多层文件夹,例如:
生成的媒体名字将会是:PC1_微笑,PC1_哭泣,NPC1,NPC2
更深层的嵌套以此类推,一般用不到,这里也不举例了。
由于文件夹名有可能作为媒体名前缀,所以请不要用奇怪的符号命名文件夹。
当媒体文件名不合法时,会直接跳过该文件。(但如果加上前缀就合法,还是会处理该文件,所以看到文件里面有奇怪前缀的文件名可能是这种情况)
该命令生成的媒体定义文件使用的都是默认值,气泡和立绘的位置仍然需要手动去回声工坊的图形界面调整。
用回声工坊的图形界面编辑器打开时,会报出一些“解析错误”,但是不用理,那是由于它不支持解析其中的注释行和空白行,在图形界面编辑器中保存一次就好了。
当然,如果大家都不喜欢自动生成的注释,我下个版本会取消保留注释。
TRGL: Play Video
现在可以在vscode里面用“TRGL: Play Video”命令播放当前rgl文件了,只要你在设置内(ctrl+逗号,调出设置面板,找到“回声工坊插件设置”)配置好各种参数。
最重要的是配置好回声工坊的RplGenCore.exe文件所在路径。
若勾选“先执行语音合成”选项,则会先合成语音。
TRGL: Export Video
导出mp4视频。
若勾选“先执行语音合成”选项,则会先合成语音。
若勾选“导出XML”选项,则不导出mp4,而是导出XML。
TRGL: Synthesized Speech
单独语音合成。需要配置好语音合成key。
TRGL: Export XML
用之前生成好的timeline文件重新导出XML文件,需要填写配置中的timeline路径
TRGL: Import Local Sound
导入本地wav语音,以本地wav文件替换log文件中的待处理星标。
需要调用本地的ffprobe.exe,只要配置好回声工坊路径就可以自动找到
运行时就是没有进度条的,需要耐心等一下(等之后有时间了就修)
TRGL: Copy Log
以不同格式复制剧本文件,支持的复制格式:
- 软件「朗读女」的「多角色朗读」的格式:[角色名]说话内容。
- 无角色框的内容文本