見出し画像

【Text to Podcast】Text to Speech のエンジンを変更

この記事は【Text to Podcast】の開発ブログです。

Text to Speech エンジンを変更しました。

初期バージョンでは、 OpenAI のAudio Model を利用した Text to speech 機能を利用して原稿を読んでもらっていました。

Text to speech - OpenAI API

新バージョンでは Google Cloud Speech-to-Text へ変更しました。

Text-to-Speech AI: Lifelike Speech Synthesis | Google Cloud

OpenAI Audio Model の感想

僕が感じた OpenAI Audio Model のメリット・デメリットは下記です。

デメリット

  • 独特な合成音声感がある

  • 日本語がとても流暢な外国人のようなイントネーション(学習データのせい?)

  • コスト

メリット

  • 多言語対応(日本語と英語が混ざっていても問題ない)

Google Cloud Speech-to-Text への変更理由

デメリットで声質やイントネーションが少し気になると書きましたが、それは然前問題ないクオリティでした。しかし、料金が $15.00 / 1M characters という設定で、原稿を読んでもらうと意外とお金がかかりました。

下記は Zapier を動かし始めた最初の日の料金です。

開発途中のため試行錯誤をしていたのもありますが、1日で $1 を超えてしまったので、コスト的に厳しそうということで、乗り換えを決断しました。

Google Cloud Text-to-Speech

Google の Text to Speech は、最新の Neural2 という Type を利用すると、日本語も OpenAI より流暢です。しかし、言語は API Call 時に指定しないといけないため、日本語の設定で英単語を読ませるとカタコト英語になります。

料金も毎月100万文字までは無料で利用でき、無料枠を使い切っても1 バイトあたり 0.000016 米ドルなので、 OpenAI よりは安く済みそうです。

サンプルで実際に配信している音声を貼っておきます。

https://storage.googleapis.com/tech-podcast/audio/2024/05/07/c9dda6c60d2c2777442f43553f742fde.mp3

実装

実装は python で Text to Speech API を叩き、結果の audio ファイルを GCS に置くコードを書いて、 Google Cloud Functions へ up しました。

この Cloud Functions を Zapier の webhook を利用して叩き、 GCS の URL を返してもらい RSS に含めるという感じで実装しました。

最後に

コストダウンは徐々にやりつつも、運用に毎月お金がかかるので、面白と思っていただけた方は、「記事をサポート」で支援していただけるとありがたいです。

この記事が参加している募集

#AIとやってみた

27,268件

この記事が気に入ったらサポートをしてみませんか?