# 语音情绪控制

Morphic 的语音情绪控制可以让你塑造生成语音的听感，从情绪语气到反应、节奏和演绎风格都能控制。只要用合适的提示词写出指令，语音就会按你的要求来表演。

## 如何使用语音情绪控制

下面是一个关于如何在 Morphic 上使用语音情绪控制的简短教程：

1. 打开 Morphic 并进入你的项目。
2. 创建一个新文件，或打开一个现有文件。
3. 在底部的提示栏中，将模式切换为 'Audio'，并选择 'Speech'。
4. 选择你的音频模型：'ElevenLabs' 或 'MiniMax'。
5. 从语音选择器中选择一种声音和语言。
6. 使用所选模型的情绪控制格式来编写提示词（见下文）。
7. 点击 'Generate'。

Morphic 支持两种语音模型。每种模型使用不同的情绪控制语法。先选择你的模型，然后按照下面的指南操作。

## ElevenLabs

ElevenLabs 直接在提示词中使用方括号标签。把任何情绪、反应或指令用方括号括起来，模型会把它理解为表演提示，而不是要读出来的文本。

### 工作原理

```
[tag] 这里是你的对话文本。
```

标签会影响其后的所有内容，直到出现新的标签。你可以把标签放在文本中的任意位置，也可以连续组合多个标签。

| 没有标签                   | 有标签                              |
| ---------------------- | -------------------------------- |
| `我拿到那个角色了。我真的拿到那个角色了。` | `[excited] 我拿到那个角色了。我真的拿到那个角色了。` |
| `我们得走了。现在。`            | `[whispers][tense] 我们得走了。现在。`    |
| `我觉得这不会有结果。`           | `[sad][hesitant] 我觉得这不会有结果。`     |
| `宝藏埋在旧礼拜堂下面。`          | `[pirate voice] 宝藏埋在旧礼拜堂下面。`     |

ElevenLabs 是开放式的，没有固定列表。把任何情绪或指令写在方括号里，模型都会尝试理解。像 `[jealous]`, `[romantic]`, `[awkward]`, `[suspicious tone]`，或 `[continues after a beat]` 都可以。

下面这些标签是常用且效果稳定的，但你并不局限于这些。

### 标签

**情绪**

| 标签             | 作用          |
| -------------- | ----------- |
| `[excited]`    | 高能量、充满热情的演绎 |
| `[happy]`      | 温暖、积极的语气    |
| `[cheerfully]` | 轻快、明亮的演绎    |
| `[sad]`        | 低落、压抑的语气    |
| `[sorrowful]`  | 深切的悲伤、哀痛    |
| `[angry]`      | 尖锐、有力的演绎    |
| `[nervous]`    | 不确定、略带发抖    |
| `[frustrated]` | 紧绷、没有耐心的语气  |
| `[calm]`       | 稳定、放松的演绎    |
| `[tired]`      | 低能量、疲惫不堪    |
| `[curious]`    | 好奇、探询的语气    |
| `[sarcastic]`  | 干涩、带讽刺意味的演绎 |
| `[playful]`    | 轻松、戏谑的活力    |
| `[deadpan]`    | 平淡、毫无情绪的演绎  |

试试看：

```
[excited] 我们刚拿到融资了。我简直不敢相信。 [nervous] 但现在我们真的得把事情做出来。 [calm] 一步一步来。我们会搞定的。
```

**情绪细微变化**

用于更细腻的语气变化。这些会给一句话增加层次，但不会覆盖整句的演绎。

| 标签                | 作用          |
| ----------------- | ----------- |
| `[hesitant]`      | 不确定、欲言又止    |
| `[relieved]`      | 如释重负、压力释放   |
| `[tense]`         | 紧张警觉，随时准备应对 |
| `[warm]`          | 温柔、关怀的语气    |
| `[resigned tone]` | 认命、接受失败     |
| `[stammers]`      | 结结巴巴、局促不安   |
| `[regretful]`     | 希望事情能有所不同   |
| `[sympathetic]`   | 富有同情、善解人意   |
| `[reassuring]`    | 令人安心、稳定     |
| `[awe]`           | 被震撼、惊叹不已    |

试试看：

```
[tense] 不对劲。我能感觉到。 [relieved] 哦，是你啊。谢天谢地。 [warm] 过来吧。我一直在担心你。
```

**反应**

用于在句子之间或句子内部增加真实感的非语言声音。

| 标签                | 作用             |
| ----------------- | -------------- |
| `[laughs]`        | 放声大笑           |
| `[giggles]`       | 轻柔、细小的笑声       |
| `[light chuckle]` | 短促、压低的笑声       |
| `[sigh]`          | 疲惫、如释重负或沮丧时的呼气 |
| `[gasps]`         | 倒吸一口气，表示惊讶或震惊  |
| `[gulps]`         | 紧张地吞咽          |
| `[crying]`        | 带着哭腔、声音哽咽      |
| `[clears throat]` | 快速清嗓           |

试试看：

```
[laughs] 你在逗我吧。 [gasps] 等等，你是认真的？ [clears throat] 好吧。我们认真谈谈这件事。
```

**演绎方式**

控制语音如何在物理层面演绎这句话，与情绪无关。

| 标签                | 作用           |
| ----------------- | ------------ |
| `[whispers]`      | 轻柔、带气息、贴近的演绎 |
| `[shouts]`        | 响亮、外放的声音     |
| `[quietly]`       | 低音量、克制       |
| `[loudly]`        | 提高音量，有力度     |
| `[rushed]`        | 快节奏、紧迫的语速    |
| `[drawn out]`     | 缓慢、拖长的演绎     |
| `[dramatic tone]` | 戏剧化、强烈的张力    |

试试看：

```
[whispers] 他们就在门外。 [rushed] 我们现在必须动身，没时间了。 [shouts] 快跑！
```

**口音和角色**

在不改变声音的情况下切换口音，或者给语音赋予一个角色人设。

| 标签                        | 作用            |
| ------------------------- | ------------- |
| `[American accent]`       | 标准美式英语        |
| `[British accent]`        | 标准英式英语        |
| `[French accent]`         | 带法语口音的英语      |
| `[Southern US accent]`    | 美国南方口音        |
| `[Australian accent]`     | 澳大利亚英语        |
| `[strong Russian accent]` | 浓重的俄语口音       |
| `[strong X accent]`       | 把 X 替换为任意国籍   |
| `[pirate voice]`          | 粗犷、海员气质的角色    |
| `[old man voice]`         | 苍老、风霜感的演绎     |
| `[robot voice]`           | 机械感、合成感的语气    |
| `[fantasy narrator]`      | 史诗感、童话式的叙述    |
| `[film noir narrator]`    | 黑暗、忧郁、犬儒的叙述   |
| `[sarcastically]`         | 干涩、带讽刺意味的角色演绎 |

试试看：

```
[pirate voice] 宝藏埋在旧礼拜堂下面，深埋在三噚之下。 [old man voice] 我记得那时候这座镇子只有土路和老实人。 [robot voice] 警告。结构完整性受损。请立即疏散。
```

### 多角色对话

当在一个提示词里写两个或更多角色的场景时，可以用这些标签来塑造台词之间的互动。

| 标签               | 作用              |
| ---------------- | --------------- |
| `[interrupting]` | 在对方话还没说完前插入     |
| `[overlapping]`  | 在另一种声音还在延续时开始说话 |

试试看：

```
所以我刚才想说的是 [interrupting] 不，停。你别想把这件事解释过去。 [overlapping] 但如果你愿意先听我说一句……
```

### 停顿与节奏

ElevenLabs 不支持明确指定停顿时长。停顿长度由上下文、标签和标点来推断。

| 这样写       | 作用             |
| --------- | -------------- |
| `[pause]` | 戏剧性停顿（由模型决定长度） |
| `...`     | 迟疑、拖尾式停顿       |
| 全大写       | 强调这个词          |
| 新段落       | 清晰的停顿和语调重置     |

试试看：

```
“我……呃，我想是吧。”

“[pause] 然后事情就发生了。”

“我说了现在！”
```

### 获得更好效果的技巧

| 技巧                        | 为什么有效                                                              |
| ------------------------- | ------------------------------------------------------------------ |
| 让标签与文本内容相匹配               | `[crying] 别离开我。` 听起来很自然。把 `[crying]` 加到一句随意的话里就不自然了。模型会读取整句来获取上下文。 |
| 组合标签                      | `[whispers][tense]` 或 `[hesitant][nervous]` 给模型两个提示，让它融合出更细腻的输出。   |
| 选择合适的声音                   | 平静的声音不可能令人信服地大喊。高能量的声音也不适合很好地低声说话。要让声音与角色匹配。                       |
| 使用 Creative 或 Natural 稳定度 | 这些设置会给模型更多空间来表达标签。Robust 更稳定，但表现力更弱。                               |
| 把标点当作节奏提示                 | 逗号会放慢节奏。句号会形成明确停顿。省略号会拖尾。模型会读取并对标点做出反应。                            |

## Google Gemini 3.1 Flash TTS

Gemini 3.1 Flash TTS 为你提供富有表现力的多语言配音，并能在多种语言中精细控制语气、速度和口音。你可以通过两种方式来指挥它：用自然语言指令，以及写进脚本里的行内提示。

### 工作原理

Gemini 会读取你用自然语言写出的指令，并据此调整演绎方式。先写指令，再写台词。

| 没有指令             | 有指令                                     |
| ---------------- | --------------------------------------- |
| 暴风雨已经过去了。你现在安全了。 | 请用温暖而缓慢的语气说这句，像在安慰一个孩子：暴风雨已经过去了。你现在安全了。 |

你也可以在方括号里加入行内提示，来添加反应并在句中切换演绎。Gemini 会表演这个提示，而不是把它读出来。

试试看： `我简直不敢相信你做了那件事 [laughs]。今年最棒的惊喜。`

### 标签

把提示直接放在你想要它出现的句子位置的方括号里。Gemini 会表演这个提示，而不是把它读出来，而且你可以在同一个脚本里使用多个提示。

反应与声音：

| 标签                  | 作用        |
| ------------------- | --------- |
| \[laughs]           | 添加自然的笑声   |
| \[laughs nervously] | 添加紧张的笑声   |
| \[sighs]            | 添加叹息      |
| \[gasps]            | 添加明显的吸气声  |
| \[exhales]          | 添加可听见的呼气声 |
| \[scoffs]           | 添加不以为然的嗤笑 |
| \[clears throat]    | 在句子前添加清嗓声 |
| \[crying]           | 带着泪水说出这句话 |

演绎与语气：

| 标签              | 作用         |
| --------------- | ---------- |
| \[whispering]   | 把声音压低到耳语   |
| \[normal voice] | 恢复正常说话声音   |
| \[softly]       | 让演绎更柔和     |
| \[shouting]     | 把声音提高到喊叫   |
| \[slowly]       | 放慢节奏       |
| \[excited]      | 增加活力和兴奋感   |
| \[nervously]    | 增加紧张、犹豫的语气 |

试试看： `[whispering] 别出声。 [normal voice] 好了，没问题了。`

如果要控制语气、活力或口音，请在句子前用自然语言描述你想要的效果。Gemini 支持其语言范围内的口音控制。

试试看： `请用英式口音读这句：天气真不错，不是吗？`

### 多说话人对话

Gemini 可以在一次生成中演绎两个说话人之间的来回对话，并给每个说话人分配不同的声音。在生成之前，先给每一行标注说话人的名字，再为每个说话人指定声音。Gemini 支持每段对话最多两个说话人。

试试看：

```
Maya：你收到那份工作的回复了吗？
Tom：收到了。我周一开始。
Maya：太棒了，恭喜。
```

| 元素       | 要做什么                 |
| -------- | -------------------- |
| 说话人标签    | 每一行都以说话人的名字开头，后面接冒号  |
| 每个说话人的声音 | 在生成前为每个指定的说话人分配各自的声音 |
| 说话人数上限   | 一段对话中最多两个不同说话人       |

### 停顿与节奏

使用省略号来增加一小段停顿，并在指令中说明你想要的节奏。

| 方法       | 示例                         |
| -------- | -------------------------- |
| 用省略号表示停顿 | `等等…… 你听到了吗？`              |
| 在指令中说明节奏 | `请缓慢而有意地读这句：每个。词。都。很。重。要。` |

### 获得更好效果的技巧

| 技巧        | 为什么有帮助                                   |
| --------- | ---------------------------------------- |
| 把指令放在句子前面 | Gemini 会将该指令应用到其后的文本                     |
| 设定场景      | 比如这样的上下文 `像在讲述一部自然纪录片，平静而轻声：` 会塑造语气和演绎方式 |
| 组合方法      | 在同一个脚本里，把自然语言指令和行内方括号提示结合使用              |
| 让语言与声音匹配  | 生成前，先选择适合你脚本的声音和语言                       |

## MiniMax

MiniMax 使用 **括号式音效标签** 在你的提示词中，以及 Morphic 界面里的一个单独 **情绪选择器** 。

### 情绪

在生成时，从下拉菜单中选择情绪。这会设置整个输出的总体语气。

| 情绪 | 效果                    |
| -- | --------------------- |
| 自动 | 模型读取文本并选择最合适的情绪（默认）   |
| 快乐 | 积极向上                  |
| 悲伤 | 低落、忧郁                 |
| 愤怒 | 强硬、攻击性强               |
| 恐惧 | 焦虑、害怕                 |
| 厌恶 | 反感、排斥                 |
| 惊讶 | 受惊、惊愕                 |
| 平静 | 放松、宁静                 |
| 流畅 | 干净、播报风格——非常适合新闻或技术类配音 |
| 中性 | 没有情绪偏向                |

### 音效标签

使用括号直接在提示词中添加非语言声音。这些是 **仅预设** ——只支持下面列出的标签。

```
太不可思议了 (laughs) 我简直不敢相信它真的成功了。
结果……出乎意料。（叹气）让我解释一下。
```

| 标签        | 标签      | 标签     |
| --------- | ------- | ------ |
| `（笑）`     | `（轻笑）`  | `（咳嗽）` |
| `（清嗓）`    | `（呻吟）`  | `（呼吸）` |
| `（喘息）`    | `（吸气）`  | `（呼气）` |
| `（倒吸一口气）` | `（吸鼻子）` | `（叹气）` |
| `（哼鼻）`    | `（打嗝）`  | `（咂嘴）` |
| `（哼唱）`    | `（嘶声）`  | `（嗯）`  |
| `（吹口哨）`   | `（打喷嚏）` | `（哭泣）` |
| `（掌声）`    | `（打哈欠）` |        |

> 不同于 ElevenLabs，你 **不能** 发明自定义标签。编写 `（紧张）` 或 `（嫉妒）` 行不通——模型会把它们当作文本读出来。要表达情绪语气，请使用情绪选择器。

### 停顿

使用以下方式插入定时静音： `<#x#>` 其中 `x` 表示秒数（0.01–99.99）。

```
结果出乎意料。 <#1.2#> 让我们来看看原因。
我们需要谈谈。 <#0.5#> 这很重要。
```

### 提示

* 请谨慎使用声音标签——太多会显得不自然。
* 将情绪设置为 **自动** ，大多数情况下都适用。当你需要在长文本中保持一致的语气时，可手动覆盖。
* 标点很重要——逗号和句号会引导模型的节奏和语调。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://morphic.com/docs/zh/yin-pin/voice-emotion-control.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
