すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:LaTeX 数式を音声に変換する

最終更新日:Feb 11, 2026

オーディオブックやオンライン教育において、複雑な数学数式を含むテキストを流暢かつ正確な音声に変換することは大きな課題です。CosyVoice 音声合成サービスは、テキストに埋め込まれた数式を解析し、人間が数学を自然に読むのと同じように読み上げます。これにより、数学および物理学に関するコンテンツの聴取体験が大幅に向上します。

使い方

テキスト内の数式を特定のデリミタで囲み、その後音声合成 API を呼び出します。

  1. デリミタで数式をマークする

    エンジンが数式を認識・解析できるよう、数式の内容を以下のいずれかのデリミタで囲んでください。

    使用するデリミタの種類は出力品質に影響しません。任意のデリミタを選択できます。

    • $...$

    • $$...$$

    • \(...\)

    • \[...\]

    例:

    これは二次方程式の解の公式です:$x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}$。注意深く計算してください。
  2. API を呼び出して合成を開始する

    音声合成 API を呼び出す際は、マークされた数式を含むテキストを入力として渡します。JSON 形式のリクエストボディまたはプログラミング言語の文字列リテラルでは、バックスラッシュ \ がエスケープ文字であるため、\\ と記述する必要があります。

    呼び出し例(Python 使用):

    # coding=utf-8
    
    import os
    import dashscope
    from dashscope.audio.tts_v2 import *
    
    # API キーはシンガポールリージョンと北京リージョンで異なります。「https://www.alibabacloud.com/help/zh/model-studio/get-api-key」から API キーを取得してください。
    # 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください:dashscope.api_key = "sk-xxx"
    dashscope.api_key = os.environ.get('DASHSCOPE_API_KEY')
    
    # この URL はシンガポールリージョン向けです。北京リージョン向けには「wss://dashscope.aliyuncs.com/api-ws/v1/inference」を使用してください。
    dashscope.base_websocket_api_url='wss://dashscope-intl.aliyuncs.com/api-ws/v1/inference'
    
    # モデル
    model = "cosyvoice-v3-flash"
    # 音声
    #    モデルのバージョンに対応した音声を使用してください:
    #        cosyvoice-v3-flash/cosyvoice-v3-plus:longanyang などの音声
    voice = "longanyang"
    
    # SpeechSynthesizer をインスタンス化し、モデルおよび音声をリクエストパラメーターとして渡します。
    synthesizer = SpeechSynthesizer(model=model, voice=voice)
    # 合成対象のテキストを送信してバイナリ形式の音声を取得します。
    audio = synthesizer.call("これは二次方程式の解の公式です:$x = \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}$。注意深く計算してください。")
    # 最初のリクエストでは WebSocket 接続が確立されるため、最初のパケット遅延には接続確立時間が含まれます。
    print('[Metric] requestId: {}, first-package latency: {} ms'.format(
        synthesizer.get_last_request_id(),
        synthesizer.get_first_package_delay()))
    
    # 音声をローカルファイルに保存します。
    with open('output.mp3', 'wb') as f:
        f.write(audio)

サポートされるタグおよび記号

以下に、現在サポートされているタグおよび記号の一覧を示します。

基礎数学

タグまたは記号

用途

数式の例

音声合成対象のテキスト例

発音

+

加算

2 + 3 = 5

$2 + 3 = 5$

2 プラス 3 は 5 に等しい

-

減算

3 - 2 = 1

$3 - 2 = 1$

3 マイナス 2 は 1 に等しい

\pm

プラスマイナス

\pm 1 \pm 2

$\pm 1\pm 2$

プラスマイナス 1 プラスマイナス 2

正または負

\times

乗算

2 \times 3 = 6

$2 \times 3 = 6$

2 タイムズ 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

$6/2=3$

=

等号

3+5=8

$3+5=8$

3 プラス 5 は 8 に等しい

<

未満

1< 2

$1< 2$

1 は 2 より小さい

以下

3≤5

$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$

2 は 1 より大きい

以上

5≥3

$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}$

3 分の 2

^

指数

2^1

$2^{1}$

2 の 1 乗

\sqrt

平方根

\sqrt{9} = 3

$\sqrt {9} = 3$

9 の平方根は 3 に等しい

\sqrt[3]{8} = 2

$\sqrt[3]{8} = 2$

8 の立方根は 2 に等しい

\%

パーセント

5\%

$5\%$

5 パーセント

|

絶対値

∣3∣=3

$|3| =3$

3 の絶対値は 3 に等しい

\vert

3\vert=3

$\vert 3\vert =3$

3 の絶対値は 3 に等しい

\lg

対数

lg {10}

$\lg {10}$

10 の常用対数

\log

対数

\log{5}

$\log{5}$

ログ 5

\ln

自然対数

\lnX

$ln {10}$

10 の自然対数

!

階乗

5!

$5!$

5 の階乗

()

括弧

(2+1)

$(2+1)$

左括弧 2 プラス 1 右括弧

\{ \}

$\{2+1\}$

左中括弧 2 プラス 1 右中括弧

特殊な数学記号

タグまたは記号

変換

数式の例

音声合成対象のテキスト例

音声出力

\alpha

アルファ

\alpha

$\alpha$

アルファ

 

\Alpha

\Alpha

$\Alpha$

\beta

ベータ

\beta

$\beta$

ベータ

 

\Beta

\Beta

$\Beta$

\gamma

ガンマ

\gamma

$\gamma$

ガンマ

 

\Gamma

\Gamma

$\Gamma$

\delta

デルタ

\delta

$\delta$

デルタ

 

\Delta

\Delta

$\Delta$

\infty

無限大(第 2 部)

\infty

$\infty$

無限大

 

infty(英語)

$∞$

幾何学

タグまたは記号

用途

数式の例

数式入力例

発音

\pi

円周率

\pi=3.14159

$\pi =3.14159$

円周率は 3.14159 に等しい

\sin (sine

三角関数

\sin (sine30^\circ=1\frac2

$\sin 30^\circ =\frac {1}{2}$

サイン 30 度は 2 分の 1 に等しい

\cos (cosine

$\cos 30^\circ =\frac {\sqrt {2}}{2}$

コサイン 30 度は 2 分のルート 2 に等しい

\tan (tangent

$\tan 30^\circ =\frac {\sin 30^\circ}{\cos 30^\circ}$

タンジェント 30 度は サイン 30 度を コサイン 30 度で割ったものに等しい

\csc (cosecant

$\csc A$

コセカント A

\sec (secant

$\sec A$

セカント A

\cot (cotangent

$\cot A$

コタンジェント A

\angle

\angle AB

$\angle AB$

角 A B

∠AB

$∠AB$

^\circ

学位

∠AB = 30^\circ

$∠AB = 30^\circ$

角 A B は 30 度に等しい

\odot

\odot

$\odot$

\overset\frown

\overset\frown {BC}

$\overset\frown {BC}$

弧 B C

\rm{Rt}

直角

\because \rm{Rt}\triangle ABC

$\because \rm{Rt}\triangle ABC$

なぜならば 直角三角形 A B C だからである

\mathrm{Rt}

\therefore AB \perp BC

$\therefore AB \perp BC$

したがって A B は B C に垂直である

\triangle

三角形

\triangleABC

$\triangle ABC$

三角形 A B C

△ABC

$△ABC$

\parallelogram

平行四辺形

\parallelogramABCD

$\parallelogram ABCD$

平行四辺形 A B C D

\perp

垂直

AB \perp BC

$AB \perp BC$

A B は B C に垂直である

\bot

AB \bot BC

$AB \bot 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$

三角形 A B C は 三角形 D E F と合同である

前提条件

タグまたは記号

用途

数式の例

数式入力例

発音

\implies

起動

\implies 1+1=2

$\implies 1+1=2$

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 

したがって

単位

単位は \unit\quantity\mathit\mathrm、または \rm タグで囲んでください。例: \unit{cm}

タグまたは記号

読み方

数式の例

数式入力例

発音

mm

ミリメートル

5\quantity{mm}

$5\quantity{mm}$

5 ミリメートル

cm

センチメートル

5\quantity{cm}

$5\quantity{cm}$

5 センチメートル

dm

デシメートル

5\quantity{dm}

$5\quantity{dm}$

5 デシメートル

m

メートル

5\quantity{m}

$5\quantity{m}$

5 メートル

km

キロメートル

5\quantity{km}

$5\quantity{km}$

5 キロメートル

g

グラム

5\quantity{g}

$5\quantity{g}$

5 グラム

kg

キログラム

5\quantity{kg}

$5\quantity{kg}$

5 キログラム

t

トン

5\quantity{t}

$5\quantity{t}$

5 トン

mm^2

平方ミリメートル

5\quantity{mm^2}

$5\quantity{mm^2}$

5 平方ミリメートル

cm^2

平方センチメートル

5\quantity{cm^2}

$5\quantity{cm^2}$

5 平方センチメートル

dm^2

平方デシメートル

5\quantity{dm^2}

$5\quantity{dm^2}$

5 平方デシメートル

m^2

平方メートル

5\quantity{m^2}

$5\quantity{m^2}$

5 平方メートル

km^2

平方キロメートル

5\quantity{km^2}

$5\quantity{km^2}$

5 平方キロメートル

mm^3

立方ミリメートル

5\quantity{mm^3}

$5\quantity{mm^3}$

5 立方ミリメートル

cm^3

立方センチメートル

5\quantity{cm^3}

$5\quantity{cm^3}$

5 立方センチメートル

dm^3

立方デシメートル

5\quantity{dm^3}

$5\quantity{dm^3}$

5 立方デシメートル

m^3

立方メートル

5\quantity{m^3}

$5\quantity{m^3}$

5 立方メートル

km^3

立方キロメートル

5\quantity{km^3}

$5\quantity{km^3}$

5 立方キロメートル

ml

ミリリットル

5\quantity{ml}

$5\quantity{ml}$

5 ミリリットル

s

2番目

5\quantity{s}

$5\quantity{s}$

5 秒

min

5\quantity{min}

$5\quantity{min}$

5 分

h

5\quantity{h}

$5\quantity{h}$

5 時間

km/h

キロメートル毎時

5\quantity{km/h}

$5\quantity{km/h}$

5 キロメートル毎時

g/l

グラム毎リットル

5\quantity{g/l}

$5\quantity{g/l}$

5 グラム毎リットル

制限事項

  • 言語対応:中国語のみ。

  • コンテンツ制限:

    • 数式の内容は、「サポートされるタグおよび記号」の要件を満たす必要があります。

    • Markdown 形式の数式(例:```math ... ```)はサポートされていません。

    • デリミタ内には数式のみを記述してください。その他のコンテンツを含めると、音声合成結果が不正確になる可能性があります。

  • モデル対応:cosyvoice-v2cosyvoice-v3-flash、および cosyvoice-v3-plus のみがサポートされています。

よくある質問

Q:数式が読み上げられません。

以下の項目を確認してください。

  1. デリミタの確認:数式が以下のいずれかのデリミタで囲まれているか確認してください。$...$$$...$$\(...\)、または \[...\]

  2. 数式の複雑さの確認:数式がサポートされるタグおよび記号のみを使用しているか確認してください。「制限事項」および「サポートされるタグおよび記号」をご参照ください。

  3. エスケープ文字の確認:API を通じてリクエストを送信する場合、数式内のすべてのバックスラッシュ \\\ としてエスケープされているか確認してください。

Q:コード内でバックスラッシュ \ を含む文字列を適切に処理するにはどうすればよいですか?

Python、Java、JavaScript などのほとんどのプログラミング言語では、文字列リテラルおよび JSON 形式のデータ内でバックスラッシュ \ は特殊なエスケープ文字です。そのため、バックスラッシュ自体をエスケープするには、\\ を使用して単一の \ を表す必要があります。たとえば、\frac はコード内で \\frac と記述する必要があります。