英語テキスト朗読ツールMaryTTS
英語テキスト朗読ツールMaryTTS
MarryTTSを用いて英語テキストの自動朗読ツールを作成してみました。
作り方もまとめておりますので、良ければ参考にしてみて下さい。
こんにちは。イムでーす。今日は簡単なAI朗読ツールの作り方を解説するね。
注) 長文の朗読にチェックが無い場合、最大朗読時間は20秒程になります。
長文の朗読にチェックがある場合、ファイルを保存機能は使用出来ません。
ちょっとバグあります。2回め以降の朗読がうまく動いていません。うまく動かない場合、画面を再ロードすると動きます。。
※ サポート環境:Google Crome
英語テキスト朗読ツールMaryTTS概要
「英語テキスト朗読ツールMaryTTS」はAIに英語テキストを朗読してもらうツールです。オープンソースのMaryTTSを利用して構築しています。
英語と機械学習の勉強のため、英語の機械学習の論文を英語で聴きたくて作りました。英語の勉強用などに活用して頂けると幸いです。
英語テキスト朗読ツールMaryTTSの使い方
テキストを入力します
朗読開始ボタンを押します
朗読が自動再生します
朗読が自動で開始します。
朗読音声ファイルが朗読と同時にダウンロードされます。
※ 「ファイルを保存する」チェックボックスにチェックがある場合に、ファイルがダウンロードされます。
注)マイク右端のダウンロードボタンは機能しません。(変なファイル名で保存されてしまうので現在調査中です・・・ m(_ _)m)
朗読の設定について
AIの声色を3種類から選択が出来ます
免責事項
著作権
本ツールは無料で公開しておりますが、著作権を放棄しておりません。 著作権はぴよ猫に帰属します。
ソフトウェアの修正、複製、再配布
本サイトのURLは自由に掲載して頂いて問題ありません。
また、当ページのソースは自由に改変し設定・設置して頂いて問題ありません。
ソフトウェアを使用したことによる損害、保証等
本ツールを使用したことによる一切の損害(一次的、二次的に関わらず)に対し、ぴよ猫は責任を負いません。
当サイトではフリーツールを公開すると共に、IT関連の豆知識やツールの実装方法等も紹介しています。興味があれば以降の記事も是非ご一読下さい。
↓↓↓
MaryTTSとは
MaryTTS概要
MaryTTSは英語やフランス語のテキストを読み上げるオープンソースです。
Javaで開発されておりマルチプラットフォームで動作します。また、MaryTTSはGPLライセンスで公開されており複製や改変も自由に行えます。
https://github.com/marytts/marytts
MaryTTSのサポート言語
- eu-US:アメリカ英語
- eu-GB:イギリス英語
- fr:フランス語
- de:ドイツ語
- it:イタリア語
- ru:ロシア語
- sv:スウェーデン語
- te:テルグ語
- tr:トルコ語
- lb:ルクセンブルク語
注)本サイトで利用できる言語は「eu-US:アメリカ英語」のみです。
MaryTTSのインストール方法(Windows)
JDKのインストール
MaryTTSの入手
GitHubのページを開きます。
https://github.com/marytts/marytts
Clone or download → Download ZIP を選択します。
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の音声インストーラーを起動します。
gradlew runInstallerGui
MaryTTSの音声のインストール
インストールしたい音声にチェックを付けて、「Install selected」ボタンを押します。
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まとめ
作ってみて、結構なめらかな発音でビックリしました。
これで、英文のヒアリングを鍛えるぞー(^-^)