Skip to main content
Skip table of contents

情绪标记

情绪标记系统是一种在音频文件的文本记录中插入情绪控制器的方法。这对脚本准备过程很有帮助,可以为编剧提供一些表演指导。

需要知道的是,标记工作相当繁琐。通常更有效的做法是,通过批量处理将情绪控制器应用于整个批量,然后根据需要在图形编辑器中将动画和编辑元数据可视化(请参阅 SGX 交互式处理)。

本地情绪标记会覆盖处理时设置的全局情绪参数。

标记格式

要使用标记,请在文本中添加名称为“sgx”的 XML 标签。标签应包围住您希望受标签影响的音频部分相对应的文本。例如如下示例:

<sgx mode="friendly" speech_magnitude="1.2"> 这实际上是一个关于我祖父参加战争的故事。</sgx> 嗯,在此之前,他曾是一名登山运动员。嗯,他爬过很多山。他是第一批攀登 K2 峰的队伍成员之一。

蓝色文本相对应的音频部分模式将设置为“友好”,语音幅值修改器将设置为 1.2。

标签也可以嵌套:

<sgx mode="friendly" nonverbal_magnitude="1.2"> 这实际上是一个关于我祖父参加战争的故事。<sgx mode="excited"> 嗯,在此之前,他曾是一名登山运动员。</sgx> 嗯,他爬过很多山。他是第一批攀登 K2 峰的队伍成员之一。</sgx>

位于内部的标签的属性优先于位于外部的标签的属性。因此,在上例中,与红色文本相对应的音频部分将处于“兴奋”模式,而不是“友好”模式。

情绪模式的标记属性

这些属性用于更改情绪模式和设置自动模式

属性

描述

模式

如果未检测到自动模式,则应激活默认情绪模式。

positive_mode

积极的自动模式应触发的情绪模式。

negative_mode

消极的自动模式应触发的情绪模式。

effort_mode

用力的自动模式应触发的情绪模式。

laugh_mode

笑声自动模式应触发的情绪模式。

auto_modes

要激活的自动模式。可选的值有“无”、“全部”或包含“积极”、“消极”、“用力”或“笑声”中的一个或多个的列表(用逗号分隔)。

下面是一个示例:

<sgx mode="Neutral" auto_modes="positive,negative" positive_mode="Happy" negative_mode="Sad"> 这实际上是一个关于我祖父参加战争的故事。<sgx mode="Excited" auto_modes="none"> 嗯,在此之前,他曾是一名登山运动员。</sgx> 嗯,他爬过很多山。他是第一批攀登 K2 峰的队伍成员之一。</sgx>

在本例中,位于外部的元素(以蓝色表示):

  • 默认情绪模式为“中性”。

  • 积极的自动模式和消极的自动模式处于激活状态。不会检测用力的自动模式。

  • 积极的自动模式将触发“快乐”,消极的自动模式将触发“悲伤”。

位于内部的元素(以红色表示):

  • 默认情绪模式为“兴奋”

  • 自动模式被禁用,这意味着只会出现默认模式。

情绪修改器的标记属性

这些属性用于设置情绪修改器

属性

修改器

speech_magnitude

语音幅值

speech_speed

语速

hyperarticulation

高发音力度

jaw_limit

下颚极限

nonverbal_magnitude

非嘴部幅值

nonverbal_speed

非嘴部速度

blink_frequency

眨眼频率

dart_frequency

眼球微动频率

下面是一个示例:

<sgx speech_magnitude="0.9" nonverbal_magnitude="0.9"> 这实际上是一个关于我祖父参加战争的故事。<sgx speech_magnitude="1.2" nonverbal_magnitude="1.4"> 嗯,在此之前,他曾是一名登山运动员。</sgx> 嗯,他爬过很多山。他是第一批攀登 K2 峰的队伍成员之一。</sgx>

在本例中,位于外部的元素(以蓝色表示)中语音幅值和非嘴部幅值均设置为 0.9,而位于内部的嵌套元素(以红色表示)中语音幅值为 1.2,非嘴部幅值为 1.4。

标记的 time 属性

通常,标记标签会根据其所含单词的对齐方式与音频对齐。例如,下面的标记:

<sgx mode="friendly"> 我要讲的其实是一个关于我祖父参加战争的故事。 </sgx> <sgx mode="serious"> 嗯,在此之前,他曾是一名登山运动员。 </sgx>

会产生以下模式对齐效果:

image-20250419-141054.png

在该对齐效果中,“友好”模式和“严肃”模式之间的时间边界是 5390 毫秒,因为在这个时间点,“我要讲的其实是一个关于我祖父参加战争的故事”结束,而“嗯,在此之前,他曾是一名登山运动员”开始。

但是,也可以使用可选的 time 属性显式设置标签的时间,该值会覆盖基于位置的时间。

属性

描述

time

标签的开始时间(以毫秒为单位)。如果指定,将会覆盖根据标签在文本中的位置推断出的开始时间。

例如,下面的标记

<sgx mode="friendly" time="0"/> <sgx mode="serious" time="4000"/> 我要讲的其实是一个关于我祖父参加战争的故事。嗯,在此之前,他曾是一名登山运动员。

会产生以下模式对齐效果:

image-20250419-153155.png

在该对齐效果中,“严肃”模式现在从 4000 毫秒处开始,因为这是标签中给出的时间值。请注意,time 属性决定了标签的开始时间;标签的结束时间自动设置为下一个按时间顺序排列的标签的开始时间或音频的结束时间,以更早者为准。因此,不需要设置结束标签。

您偶尔可能会发现,您提供的时间值与输出中的实际开始时间之间存在细微的偏差。这是因为,在语音的短语分析中,SGX 会尽可能将时间对齐到附近的边界。

无文本时的标记

即使没有文本,仍然可以使用标记标签。例如:

<sgx mode="friendly" time="0"/> <sgx mode="serious" time="2000"/>

此文本仅包含标记,而不包含音频的实际文本。没有文字来定义标记的时间,但可以使用 time 属性来显式设置开始时间。如果没有 time 属性,则标签的开始时间为音频文件的开始时间。

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.