![]() | |
| 原作者 | ジョナサン・ダディントン |
|---|---|
| 開発者 | Alexander Epaneshnikov 他 |
| 初回リリース | 2006年2月 |
| 安定版リリース | 1.51 [1]
/ 2022年4月2日 |
| リポジトリ | github.com/espeak-ng/espeak-ng/ |
| 書かれた | C |
| オペレーティング·システム | Linux Windows macOS FreeBSD |
| タイプ | 音声合成装置 |
| ライセンス | GPLv3 |
| Webサイト | github.com/espeak-ng/espeak-ng/ |
eSpeak は、無料かつオープンソースで、クロスプラットフォームで、コンパクトなソフトウェア音声合成装置です。フォルマント合成方式を使用しており、比較的小さなファイルサイズで多くの言語を提供します。eSpeakNG (次世代) は、ネイティブ スピーカーからのフィードバックをさらに取り入れた、元の開発者のプロジェクトの継続版です。
eSpeakNGはサイズが小さく、多くの言語に対応しているため、 Windows用のオープンソーススクリーンリーダーNVDA [2]に搭載されているほか、Android [3] 、 Ubuntu [4]、その他のLinuxディストリビューションにも搭載されています。その前身であるeSpeakは2016年にMicrosoftによって推奨され[5] 、 2010年にはGoogle翻訳で27言語に使用されていました。 [6]その後、このうち17言語が独自の音声に置き換えられました。[7]
言語の音声の質は大きく異なります。eSpeakNGの前身であるeSpeakでは、一部の言語の初期バージョンはWikipediaの情報に基づいていました。[8]一部の言語は、他の言語よりもネイティブスピーカーからの作業やフィードバックが多くありました。さまざまな言語の改善に貢献した人々のほとんどは、テキスト読み上げ機能を使用する視覚障害のあるユーザーです。
歴史
1995年、ジョナサン・ダディントンはイギリス英語をサポートするRISC OSコンピュータ用の音声合成装置Speakをリリースしました。[9] 2006年2月17日、Speak 1.05がGPLv2ライセンスでリリースされました。最初はLinux用で、2007年1月にWindows SAPI 5バージョンが追加されました。[10] Speakの開発はバージョン1.14まで続けられ、その後eSpeakに名前が変更されました。
eSpeakの開発は1.16から継続され(1.15のリリースはなかった)[10]、 eSpeakの音声データを編集および構築するためのeSpeakEditプログラムが追加されました。これらは、eSpeak 1.24まで、個別のソースとバイナリのダウンロードとしてのみ利用可能でした。eSpeakの1.24.02バージョンは、 subversionを使用してバージョン管理されたeSpeakの最初のバージョンであり、[11]個別のソースとバイナリのダウンロードがSourceForgeで利用可能になりました。[10] eSpeak 1.27から、eSpeakはGPLv3ライセンスを使用するように更新されました。[11]最後の公式eSpeakリリースは、WindowsとLinuxの場合は1.48.04、RISC OSの場合は1.47.06、macOSの場合は1.45.04でした。[12] eSpeakの最後の開発リリースは、2015年4月16日の1.48.15でした。[13]
eSpeakはUsenetスキームを使用して音素をASCII文字で表します。 [14]
eSpeak NG
2010年6月25日、[15] Reece Dunnは1.43.46リリースを使用してGitHubでeSpeakのフォークを開始しました。これは、Linuxやその他のPOSIXプラットフォーム上でeSpeakを簡単に構築できるようにするための取り組みとして始まりました。
2015年10月4日(eSpeakの1.48.15リリースから6か月後)、このフォークはオリジナルのeSpeakからさらに大きく分岐し始めました。[16] [17]
2015年12月8日、eSpeakのメーリングリストで、eSpeakの最後の開発リリースから8か月間、Jonathan Duddingtonの活動がなかったことについての議論がありました。これは、Jonathanの不在下でeSpeakの開発を継続するという議論に発展しました。[18] [19]その結果、将来の開発の基盤としてeSpeakのGitHubバージョンを使用するespeak-ng(次世代)フォークが作成されました。
2015年12月11日、espeak-ngフォークが開始されました。[20] espeak-ngの最初のリリースは2016年9月10日の1.49.0で、[21]大幅なコードのクリーンアップ、バグ修正、言語の更新が含まれていました。
特徴
eSpeakNG は、コマンドライン プログラムとして、または共有ライブラリとして使用できます。
音声合成マークアップ言語(SSML) をサポートしています。
言語の音声は、その言語のISO 639-1コードによって識別されます。音声は「音声バリアント」によって変更できます。これらは、ピッチ範囲などの特性を変更したり、エコー、ささやき声、かすれた声などの効果を追加したり、フォルマント周波数を体系的に調整して音声を変更したりできるテキスト ファイルです。たとえば、「af」はアフリカーンス語の音声です。「af+f2」は、フォルマントとピッチ範囲を変更して女性の音声にする「f2」音声バリアントで変更されたアフリカーンス語の音声です。
eSpeakNG は、 Usenet システムに大まかに基づいた音素名の ASCII 表現を使用します。
音声表現は、二重の角括弧で囲むことでテキスト入力内に含めることができます。たとえば、espeak-ng -v en "Hello [[w3:ld]]" は英語でと発音します。
合成方法
eSpeakNG は、ユーザーが使用したいテキスト読み上げ翻訳手順に応じて、さまざまな方法でテキスト読み上げ翻訳として使用できます。
1. ステップ - テキストから音素への翻訳
書き方と発音の間に明確な一対一のルールがない 言語は数多くあります (特に英語)。そのため、テキストから音声への生成の最初のステップは、テキストから音素への翻訳でなければなりません。
- 入力テキストは発音音素に変換されます (例: 入力テキストxerox は発音上zi@r0ksに変換されます)。
- 発音音素は音に合成されます。例えば、zi@r0ksはと発音されます
音声にイントネーションを追加するには、韻律データ(音節の強勢、基本周波数の下降または上昇ピッチ、休止など)とその他の情報が必要です。これにより、より人間的で単調でない音声を合成できます。たとえば、eSpeakNG 形式では、強勢のある音節はアポストロフィを使用して追加されます:z'i@r0ksこれにより、より自然な音声が得られます:
比較のために、韻律データのあるサンプルとないサンプルを 2 つ示します。
- [[DIs Iz m0noUntoUn spi:tS]]綴りです
- [[DIs Iz 'Int@n,eItI2d sp'i:tS]] はつけて綴られます
eSpeakNG を韻律データの生成のみに使用する場合、韻律データはMBROLA二音音声の入力として使用できます。
2. ステップ - 韻律データからの音声合成
eSpeakNGは、2つの異なるアプローチを使用して、2つの異なるタイプのフォルマント 音声合成を提供します。独自のeSpeakNGシンセサイザーとKlattシンセサイザーを備えています。[22]
- eSpeakNGシンセサイザーは、正弦波を加算して全体の音を作る加法合成によって、母音や共鳴子音などの有声音を作成します。無声子音、例えば/s/は、倍音が多く、加法合成の効果があまりないため、録音された音を再生して作成されます。 [23]有声子音、例えば/z/は、合成された有声音と無声音の録音サンプルを混合して作成されます。
- Klatt シンセサイザーは、eSpeakNG シンセサイザーとほぼ同じフォルマント データを使用します。ただし、倍音を多く含む生成されたノイズから始めて、デジタル フィルターとエンベロープを適用し、特定の子音 (s、t、k) または共鳴音 (l、m、n) の音に必要な周波数スペクトルとサウンド エンベロープをフィルター処理することで、減算合成によってサウンドも生成します。
MBROLA音声の場合、eSpeakNG はテキストを音素と関連するピッチ コンターに変換します。これを PHO ファイル形式を使用して MBROLA プログラムに渡し、MBROLA によって出力されたオーディオをキャプチャします。そのオーディオは eSpeakNG によって処理されます。
言語
eSpeakNGは以下の言語のテキスト音声合成を実行します: [24]
- アフリカーンス語[25]
- アルバニア語[26]
- アムハラ語
- 古代ギリシャ
- アラビア語1
- アラゴン語[27]
- アルメニア語(東アルメニア語)
- アルメニア語(西アルメニア語)
- アッサム語
- アゼルバイジャン語
- バシキール語
- バスク語
- ベラルーシ語
- ベンガル語
- ビシュヌプリヤ・マニプリ
- ボスニア語
- ブルガリア語[27]
- ビルマ語
- 広東語[27]
- カタロニア語[27]
- チェロキー
- 中国語(北京語)
- クロアチア語[27]
- チェコ語
- チュヴァシ語
- デンマーク語[27]
- オランダ語[27]
- 英語(アメリカ)[27]
- 英語(イギリス)
- 英語(カリブ海)
- 英語(ランカスター派)
- 英語(ニューヨーク) 5
- 英語(容認発音)
- 英語(スコットランド語)
- 英語(ウェストミッドランズ)
- エスペラント語[27]
- エストニア語[27]
- フィンランド語[27]
- フランス語(ベルギー)[27]
- フランス語(カナダ)
- フランス語(フランス)
- グルジア語[27]
- ドイツ語[27]
- ギリシャ語(現代)[27]
- グリーンランド語
- グアラニー語
- グジャラート語
- 客家語3
- ハイチ語
- ハワイ語
- ヘブライ語
- ヒンディー語[27]
- ハンガリー語[27]
- アイスランド語[27]
- インドネシア語[27]
- 私はします
- インターリングア
- アイルランド語[27]
- イタリア語[27]
- 日本語4 [28]
- カンナダ語[27]
- カザフ語
- クリンゴン語
- キチェ語
- コンカニ語[29]
- 韓国語
- クルド語[27]
- キルギス語
- ケチュア語
- ラテン
- ラトガリア語
- ラトビア語[27]
- リングア・フランカ・ノヴァ
- リトアニア語
- ロジバン[27]
- ルクセンブルク語
- マケドニア語
- マレー語[27]
- マラヤーラム語[27]
- マルタ語
- マニプリ
- マオリ語
- マラーティー語[27]
- ナワトル語(古典語)
- ネパール語[27]
- ノルウェー語(ブークモール)[27]
- ノガイ
- オロモ語
- パピアメント語
- ペルシャ語[27]
- ペルシア語(ラテン文字)2
- ポーランド語[27]
- ポルトガル語(ブラジル)[27]
- ポルトガル語(ポルトガル)
- パンジャブ語[30]
- ピャシュ語(人工言語)
- クウェンヤ
- ルーマニア語[27]
- ロシア語[27]
- ロシア語(ラトビア)
- スコットランド・ゲール語
- セルビア語[27]
- セツワナ語
- シャン(タイヤイ)
- シンダール語
- シンディー語
- シンハラ語
- スロバキア語[27]
- スロベニア語
- スペイン語(スペイン)[27]
- スペイン語(ラテンアメリカ)
- スワヒリ語[25]
- スウェーデン語[27]
- タミル語[27]
- タタール語
- テルグ語
- タイ語
- トルクメン語
- トルコ語[27]
- ウイグル
- ウクライナ語
- ウラリナ
- ウルドゥー語
- ウズベク語
- ベトナム語(中部ベトナム語)[27]
- ベトナム語(北ベトナム語)
- ベトナム語(南ベトナム語)
- ウェールズ語
- 現在、完全に発音区別されたアラビア語のみがサポートされています。
- 英語(ラテン)文字を使用して書かれたペルシア語。
- 現在、Pha̍k-fa-sṳのみがサポートされています。
- 現在、ひらがなとカタカナのみがサポートされています。
- 現在リリースされていません。最新のソースコードからビルドする必要があります。
参照
参考文献
- ^ 「リリース 1.51」。
- ^ 「NVDA ディストリビューションで eSpeak NG に切り替える · 問題 #5651 · nvaccess/nvda」。GitHub。
- ^ 「Android用eSpeak TTS」。
- ^ "espeak-ng パッケージ: Ubuntu".ランチパッド。 2023年12月21日。
- ^ 「Immersive Reader、Read Mode、Read Aloud の音声をダウンロードする」。
- ^ Google ブログ、Google 翻訳でより多くの言語に音声を提供、2010 年 5 月
- ^ Google ブログ、Listen to us now、2010 年 12 月。
- ^ 「eSpeak 音声合成装置」. espeak.sourceforge.net .
- ^ 「eSpeak: 音声合成装置」. espeak.sourceforge.net .
- ^ abc 「ESpeak: 音声合成 - SourceForge.net で /Espeak を参照」。
- ^ ab "eSpeak: 音声合成 / コード / コミットの参照". sourceforge.net .
- ^ 「Espeak: ダウンロード」.
- ^ http://espeak.sourceforge.net/test/latest.html [裸の URL ]
- ^ ファン・ルーセン、ヤン・ヴィレム;マールテン州トロンプ(2007 年 7 月 26 日)。 「ラテン語からスピーチ」。 p. 6. CiteSeerX 10.1.1.396.7811。
- ^ 「ビルド: portaudio 18 と 19 を簡単に切り替えられるようにします。 · rhdunn/Espeak@63daaec」。GitHub。
- ^ 「Espeakedit: Unicode argv 型の引数処理を修正 · rhdunn/Espeak@61522a1」。GitHub。
- ^ 「NVDA ディストリビューションで eSpeak NG に切り替える · 問題 #5651 · nvaccess/Nvda」。GitHub。
- ^ 「[Espeak-general] espeak プロジェクトの所有権の取得と将来 | eSpeak: 音声合成」. sourceforge.net .
- ^ 「[Espeak-general] 新しいメイン espeak 開発者に投票 | eSpeak: 音声合成」. sourceforge.net .
- ^ espeak プログラムを espeak-ng にリブランドします。
- ^ "リリース 1.49.0 · espeak-ng/espeak-ng". GitHub。
- ^ Klatt, Dennis H. (1979). 「カスケード/パラレルフォルマントシンセサイザー用ソフトウェア」(PDF) . J. Acoustical Society of America, 67(3) 1980年3月.
- ^ "espeak-ng". GitHub .
- ^ 「ESpeak NG テキスト読み上げ」。GitHub 。 2022年2月13日。
- ^ ab Butgereit, L., & Botha, A. (2009 年 5 月)。 Hadeda: 携帯電話を使用して、雑音を交えながらスペルの語彙を練習する方法。IST-Africa 2009 カンファレンス、カンパラ、ウガンダ。
- ^ Hamiti, M., & Kastrati, R. (2014). アルバニア語のテキストを音声に変換するeSpeakの適応。International Journal of Computer Science Issues (IJCSI)、11(4)、21。
- ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah ai aj ak al am an ao ap Kayte, S., & Gawali, DB (2015). マラーティー語音声合成:レビュー。コンピューティングとコミュニケーションにおける最新および革新の動向に関する国際ジャーナル、3(6)、3708-3711。
- ^ Pronk, R. (2013). eSpeak システムへの日本語合成サポートの追加。アムステルダム大学。
- ^ Mohanan, S., Salkar, S., Naik, G., Dessai, NF, & Naik, S. (2012). コンカニ語テキストリーダー。オートメーションと自律システム、4(8), 409-414。
- ^ Kaur, R., & Sharma, D. (2016). eSpeakを使用したパンジャブ語のテキストを音声に変換する改良システム。International Research Journal of Engineering and Technology、3(4)、500-504。
外部リンク
- GitHub 上の eSpeakNG

