英語テキスト朗読ツールMaryTTS

2024年7月15日

MaryTTS

英語テキスト朗読ツールMaryTTS

MarryTTSを用いて英語テキストの自動朗読ツールを作成してみました。
作り方もまとめておりますので、良ければ参考にしてみて下さい。

こんにちは。イムでーす。今日は簡単なAI朗読ツールの作り方を解説するね。


  朗読開始 

 

注) 長文の朗読にチェックが無い場合、最大朗読時間は20秒程になります。
長文の朗読にチェックがある場合、ファイルを保存機能は使用出来ません。
ちょっとバグあります。2回め以降の朗読がうまく動いていません。うまく動かない場合、画面を再ロードすると動きます。

※ サポート環境:Google Crome

英語テキスト朗読ツールMaryTTS概要

「英語テキスト朗読ツールMaryTTS」はAIに英語テキストを朗読してもらうツールです。オープンソースのMaryTTSを利用して構築しています。

英語と機械学習の勉強のため、英語の機械学習の論文を英語で聴きたくて作りました。英語の勉強用などに活用して頂けると幸いです。

英語テキスト朗読ツールMaryTTSの使い方

テキストを入力します

英語テキスト朗読ツールMaryTTSの使い方1

英語テキスト朗読ツールMaryTTSの使い方2

朗読開始ボタンを押します

英語テキスト朗読ツールMaryTTSの使い方3

朗読が自動再生します

朗読が自動で開始します。

英語テキスト朗読ツールMaryTTSの使い方4

朗読音声ファイルが朗読と同時にダウンロードされます。
※ 「ファイルを保存する」チェックボックスにチェックがある場合に、ファイルがダウンロードされます。

英語テキスト朗読ツールMaryTTSの使い方5

注)マイク右端のダウンロードボタンは機能しません。(変なファイル名で保存されてしまうので現在調査中です・・・ m(_ _)m)

英語テキスト朗読ツールMaryTTSの使い方6

朗読の設定について

AIの声色を3種類から選択が出来ます

英語テキスト朗読ツールMaryTTSの使い方7

免責事項

著作権

本ツールは無料で公開しておりますが、著作権を放棄しておりません。 著作権はぴよ猫に帰属します。

ソフトウェアの修正、複製、再配布

本サイトのURLは自由に掲載して頂いて問題ありません。
また、当ページのソースは自由に改変し設定・設置して頂いて問題ありません。

ソフトウェアを使用したことによる損害、保証等

本ツールを使用したことによる一切の損害(一次的、二次的に関わらず)に対し、ぴよ猫は責任を負いません。


当サイトではフリーツールを公開すると共に、IT関連の豆知識やツールの実装方法等も紹介しています。興味があれば以降の記事も是非ご一読下さい。
↓↓↓

MaryTTSとは

MaryTTS概要

MaryTTSは英語やフランス語のテキストを読み上げるオープンソースです。
Javaで開発されておりマルチプラットフォームで動作します。また、MaryTTSはGPLライセンスで公開されており複製や改変も自由に行えます。

https://github.com/marytts/marytts

MaryTTS

MaryTTSのサポート言語

  • eu-US:アメリカ英語
  • eu-GB:イギリス英語
  • fr:フランス語
  • de:ドイツ語
  • it:イタリア語
  • ru:ロシア語
  • sv:スウェーデン語
  • te:テルグ語
  • tr:トルコ語
  • lb:ルクセンブルク語

注)本サイトで利用できる言語は「eu-US:アメリカ英語」のみです。

MaryTTSのインストール方法(Windows)

JDKのインストール

WindowsへのJDKインストール方法

MaryTTSの入手

GitHubのページを開きます。

https://github.com/marytts/marytts

Clone or download → Download ZIP を選択します。

MaryTTS GitHub

MaryTTSのコンパイル

build.gradleの編集

コンパイルオプションでエンコードにUTF-8指定しないと、文字コードのエラーになるので、全てのbuild.gradleファイルに以下の設定を追加する。

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}
MaryTTSのコンパイル

以下のコマンドを実行しMaryTTSをコンパイルします。コンパイルが成功するとMaryTTSサービスが起動します。

gradlew run
・・・
> Task :run
MARY server 6.0-SNAPSHOT starting as an HTTP server... started in 4.784 s on port 59125
MaryTTSの動作確認

ブラウザから、https:// localhost:59125にアクセスし、MaryTTSが起動していることを確認します。

MaryTTS

MaryTTSの音声の追加

MaryTTSの音声インストーラーの起動

以下のコマンドを実行しMaryTTSの音声インストーラーを起動します。

gradlew runInstallerGui

MaryTTS音声インストーラー

MaryTTSの音声のインストール

インストールしたい音声にチェックを付けて、「Install selected」ボタンを押します。

MaryTTS音声インストール

MaryTTSのビルドとパッケージ化

以下のコマンドを実行しMaryTTSをパッケージ化します。

gradlew build
gradlew distZip

build\distributions下にmarytts-master-6.0-SNAPSHOT.zipが作成されます。

このファイルをMaryTTSを使いたいサーバーに配布し解凍すれば、サーバー環境でMaryTTSを使用できます。

MaryTTSの起動方法(CentOS)

MaryTTSのサービス起動

cd marytts-master-6.0-SNAPSHOT/bin
./marytts-server &

MaryTTSの実行方法(PHP)

<?php
require_once './vendor/autoload.php';

function text2wav($text, $speakerName){
  // MaryTTSに渡すテキストと朗読者名をURLエンコードする
  $text = urldecode($text);
  $speakerName = urlencode($speakerName);

  $filename = "output.wav';

  // GETリクエストをMaryTTSに送る
  // URL:https://localhost:59125/process
  // INPUT_TYPE=TEXT
  // INPUT_TEXT=朗読対象テキスト
  // OUTPUT_TYPE=AUDIO
  // LOCALE=朗読言語
  // VOICE=朗読者名(例.cmu-slt)
  // AUDIO=WAVE_FILE
  $client = new Goutte\Client();
  $url="https://localhost:59125/process?" .
       "INPUT_TYPE=TEXT&" .
       "INPUT_TEXT=" . urlencode($text) . "&" .
       "OUTPUT_TYPE=AUDIO&" . 
       "LOCALE=en_US&" .
       "VOICE=" . $speakerName . "&" . 
       "AUDIO=WAVE_FILE";

  $result = $client->request('GET', $url);

  // 実行結果(バイナリ音声)を取得
  $content = $client->getResponse()->getContent();
  return $content;
}
?>

MaryTTSの音声ファイルの配置場所

MaryTTSに音声を追加する場合、前述の音声インストーラーでダウンロードしたファイルを手動でサーバーに配置する必要があります。

ダウンロードした際に自動で格納されるのですが、パッケージ化対象に含まれず、ぴよ猫は手動でサーバーに配置しました。

  • installed/voice-cmu-bdl-5.2-component.xml
  • lib/voice-xxxxx-X.X.jar
  • lib/voices/xxxxx/xxxxx.mry

例)

  • installed/voice-cmu-bdl-5.2-component.xml
  • lib/voice-cmu-bdl-5.2.jar
  • lib/voices/cmu-bdl/halfphoneFeatures_ac.mry
  • lib/voices/cmu-bdl/halfphoneUnits.mry
  • lib/voices/cmu-bdl/joinCostFeatures.mry
  • lib/voices/cmu-bdl/timeline_basenames.mry
  • lib/voices/cmu-bdl/timeline_waveforms.mry

※必要なファイルはinstalled/voice-cmu-bdl-5.2-component.xmlに記載されています。

英語朗読ツールMarryTTSまとめ

作ってみて、結構なめらかな発音でビックリしました。

これで、英文のヒアリングを鍛えるぞー(^-^)