OpenAI の TTS (Text-to-Speech) モデルの日本語読み上げサンプル

OpenAI生成 AI

OpenAI の TTS (Text-to-Speech) モデルの日本語の読み上げを試してみました。

現時点で提供されているすべてのモデル( tts-1tts-1-hd の 2 つ)とすべての声を試したのでサンプルとして残しておきます。 興味のある方は参考にしてみてください。

これらのモデルは 2023 年 11 月にリリースされたものです。 いま生成 AI 業界は盛り上がっていて動きがとても早いので半年前はかなり昔のことのように感じますね。

現時点で用意されているモデルは 2 種類、声は 6 種類です。

モデル:

モデル 説明
tts-1 リアルタイム用。スピード優先。
tts-1-hd 品質優先。

声:

  • Alloy
  • Echo
  • Fable
  • Onyx
  • Nova
  • Shimmer

手元の iPhone と Android 端末で確認したところ、アプリ版の ChatGPT で提供されている声は次の 5 つでした。

  • Ember
  • Sky
  • Juniper
  • Breeze
  • Cove

ということで、 API 版とアプリ版で利用できる声が違います。 なんでなん。

サンプル 1

インプット

わたくしはその人を常に先生と呼んでいた。 だからここでもただ先生と書くだけでほんみょうは打ち明けない。 これは世間をはばかる遠慮というよりも、その方がわたくしにとって自然だからである。 わたくしはその人の記憶を呼び起こすごとに、すぐ「先生」といいたくなる。 筆をとっても心持ちは同じ事である。 よそよそしい「かしら文字」などはとても使う気にならない。

こちらは夏目漱石「こころ」の冒頭です。 漢字だと期待とは異なる読み方をする場所が多かったので、原文そのままではなく一部漢字をひらがなに変えたり 「」 を付けたりしました。

結果

tts-1 tts-1-hd
Alloy
Echo
Fable
Nova
Onyx
Shimmer

サンプル 2

インプット

バイナリツリーはコンピューティングにおける基本的なデータ構造です。 バイナリツリーにはルートと呼ばれる唯一の開始ノードがあります。 各ノードは値を持ち、左と右の子へのポインタを持っています。 効率的な走査アルゴリズムである中間順、前順、後順は、データベースのインデックス作成や構文木の評価を含む様々なアプリケーションにとって重要です。

こちらは OpenAI のブログのサンプル ↓ の日本語訳です。

Binary trees are a fundamental data structure in computing. A binary tree has a unique starting node called the root. Each node has a value, and pointers to left and right children. Efficient traversal algorithms, like in-order, pre-order, and post-order, are crucial for various applications, including database indexing and syntax tree evaluation.

結果

tts-1 tts-1-hd
Alloy
Echo
Fable
Nova
Onyx
Shimmer

発見・感想など

自然さ:

  • 全体的にかなり自然に読み上げてくれる。
  • tts-1 (スピード優先モデル)よりも tts-1-hd (品質優先モデル)の方がイントネーションが自然。だけど大差は無い。 tts-1 でも十分によい。価格は tts-1-hdtts-1 の 2 倍だが、価格の差ほどの違いは無いと思う。

漢字の読み間違え:

  • 読み間違えの精度は tts-1tts-1-hd も同じ。
  • 小説の場合は漢字を正しく(=作者の意図する通りに)読ませるのが難しい。他方技術文書は 100% ではないが読み間違えが少ない。

声の比較:

  • 個人的な好みの問題かもしれないが、どちらかというと男性っぽい声( Echo / Fable / Onyx )の方が女性っぽい声( Alloy / Nova / Shimmer )よりも自然に聞こえる。個人的には Onyx が一番、次に Echo が人間っぽさを感じた。
  • 女性の声は日本語が上手な外国人がしゃべっているような感じが強い。

コストパフォーマンス:

  • tts-1 は 1,000 文字あたり $0.015 、 tts-1-hd はその倍とのこと。 1 ドル 150 円とすると tts-1 は 1,000 文字 2.25 円になる。この品質でこの価格なら、個人的には結構安いと感じる。

以上です。

参考情報

TTS に関する OpenAI の Q&A 日本語訳

これ( TTS API )は何ですか?

新しい text-to-speech API を利用して、開発者はテキストから高品質の音声を生成できます。初回のリリースとして 6 つのプリセットボイスと 2 つのモデルバリアント tts-1tts-1-hd を提供しています。 tts-1 はリアルタイムのユースケースに最適化されており、 tts-1-hd は品質に最適化されています。価格は 1,000 入力文字(トークンではない)あたり 0.015 ドルから始まります。

どうやって使えますか?

OpenAI の API アカウントを持っている人なら誰でも新しい audio/speech エンドポイントにアクセスできます。

どのようなレートリミットが期待できますか?

有料アカウントの場合、レートリミットは 1 分あたり 50 回( RPM )から始まります。開発者コンソールでご自身のリミットを確認できます。

リクエストごとに送信できる最大入力サイズは何文字ですか?

4096 文字(デフォルト速度で約 5 分の音声に相当)。

出典: TTS API | OpenAI Help Center

OpenAI 公式ページ


アバター
後藤隼人 ( ごとうはやと )

Python や PHP を使ってソフトウェア開発やウェブ制作をしています。詳しくはこちら