将数学公式转为自然语音
CosyVoice 可以将文本中的数学公式转换为自然语音,适用于有声书、在线教育等数理类音频内容场景。
用指定的分隔符包裹文本中的公式,然后调用语音合成 API。
以下是当前支持的标签和符号列表。
单位必须用
反斜杠(
该功能仅支持中文,其他语言可能无法正确朗读公式。
使用步骤
用指定的分隔符包裹文本中的公式,然后调用语音合成 API。
1
用分隔符标记公式
用以下任意分隔符包裹公式(效果相同):
$...$$$...$$\(...\)\[...\]
2
调用 API 合成语音
调用语音合成 API,传入标记好公式的文本。在 JSON 或字符串中,反斜杠(
\)是转义字符,需要写成 \\。Python 调用示例:支持的标签和符号
以下是当前支持的标签和符号列表。
基础运算
| 标签或符号 | 功能 | 公式内容示例 | 公式输入示例 | 朗读效果 |
|---|---|---|---|---|
| + | 加法 | 2 + 3 = 5 | $2 + 3 = 5$ | 二加三等于五 |
| - | 减法 | 3 - 2 = 1 | $3 - 2 = 1$ | 三减二等于一 |
| \pm | 正负号 | \pm 1 \pm 2 | $\pm 1\pm 2$ | 正负一、正负二 |
| \times | 乘法 | 2 \times 3 = 6 | $2 \times 3 = 6$ | 二乘三等于六 |
| × | 乘法 | 2 × 3 = 6 | $$2 × 3 = 6$$ | 二乘三等于六 |
| * | 乘法 | 2 * 3 = 6 | \(2 * 3 = 6\) | 二乘三等于六 |
| \div | 除法 | 6\div2=3 | \[6\div2=3\] | 六除以二等于三 |
| ÷ | 除法 | 6÷2=3 | $6÷2=3$ | 六除以二等于三 |
| / | 除法 | 6/2=3 | $6/2=3$ | 六除以二等于三 |
| = | 等于 | 3+5=8 | $3+5=8$ | 三加五等于八 |
| < | 小于 | 1< 2 | $1< 2$ | 一小于二 |
| ≤ | 小于等于 | 3≤5 | $3≤5$ | 三小于等于五 |
| <= | 小于等于 | 3<=5 | $3<=5$ | 三小于等于五 |
| \leq | 小于等于 | 3\leq5 | $3\leq 5$ | 三小于等于五 |
| \le | 小于等于 | 3\le5 | $3\le 5$ | 三小于等于五 |
| \leqq | 小于等于 | 3\leqq5 | $3\leqq 5$ | 三小于等于五 |
| \leqslant | 小于等于 | 3\leqslant5 | $3\leqslant 5$ | 三小于等于五 |
| > | 大于 | 2>1 | $2>1$ | 二大于一 |
| ≥ | 大于等于 | 5≥3 | $5≥3$ | 五大于等于三 |
| >= | 大于等于 | 5>=3 | $5>=3$ | 五大于等于三 |
| \geq | 大于等于 | 5\geq3 | $5\geq 3$ | 五大于等于三 |
| \ge | 大于等于 | 5\ge3 | $5\ge 3$ | 五大于等于三 |
| \geqq | 大于等于 | 5\geqq3 | $5\geqq 3$ | 五大于等于三 |
| \geqslant | 大于等于 | 5\geqslant3 | $5\geqslant 3$ | 五大于等于三 |
| \frac | 分数 | 2\frac3 | $\frac {2}{3}$ | 三分之二 |
| ^ | 幂 | 2^1 | $2^{1}$ | 二的一次方 |
| \sqrt | 开方 | \sqrt{9} = 3 | $\sqrt {9} = 3$ | 根号九等于三 |
| \sqrt | 开方 | \sqrt[3]{8} = 2 | $\sqrt[3]{8} = 2$ | 八的三次方根等于二 |
| % | 百分号 | 5\% | $5\%$ | 百分之五 |
| | | 绝对值 | ∣3∣=3 | $|3| =3$ | 三的绝对值等于三 |
| \vert | 绝对值 | 3\vert=3 | $\vert 3\vert =3$ | 三的绝对值等于三 |
| \lg | 对数 | lg {10} | $\lg {10}$ | lg 十 |
| \log | 对数 | \log{5} | $\log{5}$ | log 五 |
| \ln | 自然对数 | \lnX | $ln {10}$ | ln 十 |
| ! | 阶乘 | 5! | $5!$ | 五的阶乘 |
| () | 括号 | (2+1) | $(2+1)$ | 括号二加一 |
\{ \} | 花括号 | \{2+1\} | $\{2+1\}$ | 花括号二加一 |
特殊数学符号
| 标签或符号 | 转换结果 | 公式内容示例 | 公式输入示例 | 朗读效果 |
|---|---|---|---|---|
| \alpha | alpha | \alpha | $\alpha$ | 阿尔法 |
| \Alpha | alpha | \Alpha | $\Alpha$ | 阿尔法 |
| \beta | beta | \beta | $\beta$ | 贝塔 |
| \Beta | beta | \Beta | $\Beta$ | 贝塔 |
| \gamma | gamma | \gamma | $\gamma$ | 伽马 |
| \Gamma | gamma | \Gamma | $\Gamma$ | 伽马 |
| \delta | delta | \delta | $\delta$ | 德尔塔 |
| \Delta | delta | \Delta | $\Delta$ | 德尔塔 |
| \infty | 无穷大 | \infty | $\infty$ | 无穷大 |
| ∞ | 无穷大 | ∞ | $∞$ | 无穷大 |
几何
| 标签或符号 | 功能 | 公式内容示例 | 公式输入示例 | 朗读效果 |
|---|---|---|---|---|
| \pi | 圆周率 | \pi=3.14159 | $\pi =3.14159$ | 派等于 3.14159 |
| \sin | 三角函数 | \sin 30^\circ=\frac{1}{2} | $\sin 30^\circ =\frac {1}{2}$ | 正弦三十度等于二分之一 |
| \cos | 三角函数 | \cos 30^\circ=\frac{\sqrt{2}}{2} | $\cos 30^\circ =\frac {\sqrt {2}}{2}$ | 余弦三十度等于二分之根号二 |
| \tan | 三角函数 | \tan 30^\circ=\frac{\sin 30^\circ}{\cos 30^\circ} | $\tan 30^\circ =\frac {\sin 30^\circ}{\cos 30^\circ}$ | 正切三十度等于正弦三十度除以余弦三十度 |
| \csc | 三角函数 | \csc A | $\csc A$ | 余割 A |
| \sec | 三角函数 | \sec A | $\sec A$ | 正割 A |
| \cot | 三角函数 | \cot A | $\cot A$ | 余切 A |
| \angle | 角 | \angle AB | $\angle AB$ | 角 AB |
| ∠ | 角 | ∠AB | $∠AB$ | 角 AB |
| ^\circ | 度 | ∠AB = 30^\circ | $∠AB = 30^\circ$ | 角 AB 等于三十度 |
| \odot | 圆 | \odot | $\odot$ | 圆 |
\overset\frown | 弧 | \overset\frown {BC} | $\overset\frown {BC}$ | 弧 BC |
\rm{Rt} | 直角 | \because \rm{Rt}\triangle ABC | $\because \rm{Rt}\triangle ABC$ | 因为三角形 ABC 是直角三角形 |
\mathrm{Rt} | 直角 | \therefore AB \perp BC | $\therefore AB \perp BC$ | 所以 AB 垂直于 BC |
| \triangle | 三角形 | \triangle ABC | $\triangle ABC$ | 三角形 ABC |
| △ | 三角形 | △ABC | $△ABC$ | 三角形 ABC |
| \parallelogram | 平行四边形 | \parallelogram ABCD | $\parallelogram ABCD$ | 平行四边形 ABCD |
| \perp | 垂直 | AB \perp BC | $AB \perp BC$ | AB 垂直于 BC |
| \bot | 垂直 | AB \bot BC | $AB \bot BC$ | AB 垂直于 BC |
| ⊥ | 垂直 | AB ⊥ BC | $AB ⊥ BC$ | AB 垂直于 BC |
| \parallel | 平行 | A\parallel B | $A\parallel B$ | A 平行于 B |
| \equalparallel | 平行且等于 | A\equalparallel B | $A\equalparallel B$ | A 平行且等于 B |
| \cong | 全等 | △ABC\cong△DEF | $△ABC\cong△DEF$ | 三角形 ABC 全等于三角形 DEF |
条件关系
| 标签或符号 | 功能 | 公式内容示例 | 公式输入示例 | 朗读效果 |
|---|---|---|---|---|
| \implies | 推出 | \implies 1+1=2 | $\implies 1+1=2$ | 可推出一加一等于二 |
| \iff | 等价于 | p\iffq | $p\iffq$ | p 等价于 q |
| \because | 因为 | \because a = b \therefore b=a | $\because a = b \therefore b=a$ | 因为 a 等于 b,所以 b 等于 a |
| \therefore | 所以 | \because a = b \therefore b=a | $\because a = b \therefore b=a$ | 因为 a 等于 b,所以 b 等于 a |
单位
单位必须用 \unit、\quantity、\mathit、\mathrm 或 \rm 标签包裹(例如 \unit{cm})。
| 标签或符号 | 朗读效果 | 公式内容示例 | 公式输入示例 | 朗读示例 |
|---|---|---|---|---|
| mm | 毫米 | 5\quantity{mm} | $5\quantity{mm}$ | 五毫米 |
| cm | 厘米 | 5\quantity{cm} | $5\quantity{cm}$ | 五厘米 |
| dm | 分米 | 5\quantity{dm} | $5\quantity{dm}$ | 五分米 |
| m | 米 | 5\quantity{m} | $5\quantity{m}$ | 五米 |
| km | 千米 | 5\quantity{km} | $5\quantity{km}$ | 五千米 |
| g | 克 | 5\quantity{g} | $5\quantity{g}$ | 五克 |
| kg | 千克 | 5\quantity{kg} | $5\quantity{kg}$ | 五千克 |
| t | 吨 | 5\quantity{t} | $5\quantity{t}$ | 五吨 |
| mm^2 | 平方毫米 | 5\quantity{mm^2} | $5\quantity{mm^2}$ | 五平方毫米 |
| cm^2 | 平方厘米 | 5\quantity{cm^2} | $5\quantity{cm^2}$ | 五平方厘米 |
| dm^2 | 平方分米 | 5\quantity{dm^2} | $5\quantity{dm^2}$ | 五平方分米 |
| m^2 | 平方米 | 5\quantity{m^2} | $5\quantity{m^2}$ | 五平方米 |
| km^2 | 平方千米 | 5\quantity{km^2} | $5\quantity{km^2}$ | 五平方千米 |
| mm^3 | 立方毫米 | 5\quantity{mm^3} | $5\quantity{mm^3}$ | 五立方毫米 |
| cm^3 | 立方厘米 | 5\quantity{cm^3} | $5\quantity{cm^3}$ | 五立方厘米 |
| dm^3 | 立方分米 | 5\quantity{dm^3} | $5\quantity{dm^3}$ | 五立方分米 |
| m^3 | 立方米 | 5\quantity{m^3} | $5\quantity{m^3}$ | 五立方米 |
| km^3 | 立方千米 | 5\quantity{km^3} | $5\quantity{km^3}$ | 五立方千米 |
| ml | 毫升 | 5\quantity{ml} | $5\quantity{ml}$ | 五毫升 |
| s | 秒 | 5\quantity{s} | $5\quantity{s}$ | 五秒 |
| min | 分钟 | 5\quantity{min} | $5\quantity{min}$ | 五分钟 |
| h | 小时 | 5\quantity{h} | $5\quantity{h}$ | 五小时 |
| km/h | 千米每小时 | 5\quantity{km/h} | $5\quantity{km/h}$ | 五千米每小时 |
| g/l | 克每升 | 5\quantity{g/l} | $5\quantity{g/l}$ | 五克每升 |
限制说明
- 仅支持中文:不支持其他语言
- 内容限制:
- 仅支持支持的标签和符号中列出的标签和符号
- 不支持 Markdown 数学代码块(
```math ... ```) - 分隔符内只能包含公式,混入其他内容可能导致合成结果不准确
- 兼容模型:
cosyvoice-v3-flash、cosyvoice-v3-plus
常见问题
输入的公式没有被朗读?
- 分隔符:确认公式已用
$...$、$$...$$、\(...\)或\[...\]包裹 - 公式复杂度:确认公式仅使用了支持的标签和符号中的内容
- 转义字符:确认在 API 请求中,反斜杠(
\)已转义为\\
代码中如何处理反斜杠(\)?
反斜杠(\)在字符串和 JSON 中是转义字符,需要写成 \\。例如:在 Python、Java、JavaScript 等语言中,\frac 应写为 \\frac。
