MeloTTS:文の途中で言語が切り替わってもつまずかないモデル
テキストと録音を、聴ける作品に
ナレーション、ステム分離、カバー、効果音を、ブラウザだけで。
- テキスト読み上げも、ボイスクローンも
- ステムを分離、またはカバーを生成
- 登録して試聴。聴いてから決められる
流暢な中国語の文の途中に英語のブランド名を入れると、多くのTTSモデルはその英単語をひどく読み間違えるか、前後に不自然な間を入れてしまいます。MITとMyShell.aiが共同開発したMeloTTSは、まさにこの状況に対応するために作られました。中国語音声モデルは中国語と英語が混ざったテキストを自然に読み上げ、実際のバイリンガル話者のように文の途中で発音を切り替えます。回避すべき特殊ケースとして扱う必要はありません。
MeloTTSとは?
MeloTTSは、VITSとVITS2のアーキテクチャを基盤とする、MITライセンスのオープンソース多言語テキスト読み上げライブラリです。BERTベースの言語特徴を重ねることで、より自然な韻律とフレージングを捉えます。英語、スペイン語、フランス語、中国語、日本語、韓国語に対応し、この規模のプロジェクトとして特筆すべきことに、アメリカ、イギリス、インド、オーストラリア、汎用のデフォルトという5種類の英語アクセントも用意しています。アクセントごとに別モデルを必要とせず、すべて同じ基盤プロジェクトから提供されます。
BERTベースの言語特徴抽出は、単なる技術的な補足以上の意味を持ちます。MeloTTSは、ルールベースの音素化器だけに頼ってテキストを発音単位へ変換するのではなく、BERT系モデルから文脈に基づく言語理解を取り込みます。単純な書記素から音素への変換だけを使うTTSシステムより、韻律やフレージングが自然に聞こえやすい理由の一つがここにあります。
中国語・英語のネイティブなコードスイッチング
これはMeloTTSで最も特徴的な能力であり、実際によく起きる厄介な問題を解決します。英語の製品名、技術用語、引用句を含む中国語の文など、バイリンガルまたは言語が混在するコンテンツは、多くのTTSシステムをつまずかせます。一般的なシステムは入力が一貫して単一言語であることを想定し、外国語部分を誤読するか、複数回の生成に分けるよう求めます。MeloTTSの中国語話者モデルは、中国語と英語が混ざったテキストを直接処理し、ひとつの文、ひとつの生成処理の中で自然に発音を切り替えます。手作業で言語タグを付けたり、テキストを分割したりする必要はありません。
CPUでのリアルタイム性能
この分野の選択肢を比較したことがあれば知っておきたい他の軽量モデルと同様に、MeloTTSはCPUだけでも無理なく動くように設計されています。プロジェクトの公式ドキュメントでは、CPUでリアルタイム推論に十分だと明記されており、GPU対応(cuda、cuda:0、またはApple Siliconのmps)は必須ではなく、任意の高速化手段です。そのため、GPUインフラを用意せずに多言語対応を求めるチームにとって、有力な選択肢になります。ただし、MeloTTSは、Piperのように多言語の幅を引き換えにリソースの限られたエッジハードウェアで究極の軽さを追求するモデルとは異なり、絶対的に小さなフットプリントよりも、幅広い言語とアクセントへの対応を重視しています。
MeloTTSの始め方
- リポジトリをクローンして依存関係をインストールします。 GitHubから
myshell-ai/MeloTTSプロジェクトをgit cloneし、推論コードを実行する前に、ドキュメントに記載されたインストール手順に従います。 - 基本的な生成にはシンプルなPython APIを使います。
from melo.api import TTSを実行し、言語コード(EN、ES、FR、ZH、JP、KR、または新しいEN_NEWESTバリアント)とデバイス設定(cpu、cuda、cuda:0、mps、または自動選択するauto)を指定してインスタンス化します。 - 必要に応じて具体的な英語アクセントを選びます。 MeloTTSにはアメリカ、イギリス、インド、オーストラリア英語の個別バリアントがあるため、汎用英語モデルをそのまま使うのではなく、対象ユーザーに合うものを選びます。
- コンテンツに合わせて速度パラメータを調整します。 生成速度はAPI呼び出しで直接調整できるため、別途後処理を行わなくても、ナレーションのペースを動画の尺や好みに合わせられます。
- すばやく試すには、コミュニティ提供のWebUIまたはCLIを使います。 どちらもコミュニティの貢献者がコアライブラリに追加したもので、実験のたびにPythonスクリプトを書かなくても、音声と言語を試せます。
- 言語がネイティブ対応していない場合は、地域版やコミュニティ拡張版を確認します。 専用のベトナム語バリアントなどのコミュニティforkは、元の音素化器が想定していなかった音韻的特徴を持つ言語へMeloTTSの手法を広げています。ベトナム語の6つの声調はその一例です。
より良い結果を得るためのヒント
- 言語混在の能力を意識して活用します。 製品名、技術用語、外国語の引用句など、コンテンツにバイリンガルな表現が自然に含まれる場合は、言語ごとに別々の呼び出しへ分割せず、言語が混ざったひとつの文として入力してください。これはMeloTTSの中国語モデルがまさに想定しているワークフローです。
- 最初から対象ユーザーに合う英語アクセントを選びます。 イギリス向けのプロジェクトにはイギリス英語、インド市場にはインド英語を選ぶほうが、アメリカ英語寄りの汎用モデルを使って中立的に聞こえることを期待するより、明確に適合します。
- GPUが必要だと決めつける前に、実際の対象ハードウェアでCPU推論を試します。 プロジェクトはCPUでのリアルタイム動作を明確な設計目標としているため、不要かもしれないGPUリソースを用意する前に、実際に導入するマシンで性能を確認する価値があります。
- 主要6言語以外が必要なら、まずコミュニティforkを確認します。 対応していない言語をMeloTTSのデフォルト音素化器へ無理に通すのではなく、既存のコミュニティ拡張を探してください。デフォルトのテキスト処理パイプラインが、あらゆる言語の音韻をそのまま正しく扱えるわけではないため、複数の拡張が作られています。
- 英語コンテンツで品質を優先するなら、新しい
EN_NEWESTバリアントを使います。 英語専用リリースがv2、v3と反復されていることから、この言語に特化した改善が続いていると考えられます。互換だと決めつけず、元のENモデルと比較する価値があります。
MeloTTSとCPUに適した他の多言語モデルの比較
| MeloTTS | Piper | Kokoro-82M | |
|---|---|---|---|
| 開発母体 | MIT + MyShell.ai | Rhasspy / Open Home Foundation | 独立(hexgrad) |
| 主要言語 | 6(加えて5種類の英語アクセント) | 35+ | 8 |
| アーキテクチャ | VITS/VITS2 + BERT言語特徴 | VITS + ONNX + espeak-ng | StyleTTS 2 + ISTFTNet |
| 言語混在(コードスイッチング) | 対応、中国語モデルのネイティブ機能 | 専用機能ではない | 専用機能ではない |
| CPUリアルタイム動作 | 対応 | 対応、Raspberry Piを含む | 対応 |
| 音声クローン | 非対応、固定音声一覧 | 非対応、固定音声一覧 | 非対応、固定音声一覧 |
| ライセンス | MIT | MIT(旧版)/ GPL-3.0(現行fork) | Apache 2.0 |
CPUに適し、クローン機能を持たないTTSの選択肢の中で、MeloTTSが占める独自の位置は、特定の方向で広さより深さを取っている点です。対応言語の総数はPiperより少ない一方、対応言語ではBERTベースの韻律やネイティブなコードスイッチングという本格的な言語処理を提供し、特に中国語と英語のバイリンガルコンテンツに強みがあります。
よくある質問
MeloTTSを開発したのは誰ですか?
MeloTTSはMITとMyShell.aiが共同開発しました。プロジェクトは2023年に初めて公開され、それ以来GitHubとHugging Faceで活発にメンテナンスされています。
MeloTTSが中国語と英語のコンテンツに特に適している理由は何ですか?
中国語話者モデルが中国語と英語の混在テキストをネイティブに扱い、ひとつの文、ひとつの生成処理の中で発音を正しく切り替えられるからです。多くのTTSシステムは、手作業で言語を分割しなければこの処理ができません。
MeloTTSにGPUは必要ですか?
いいえ。CPUでのリアルタイム推論向けに明確に設計されており、GPU対応は必須ではなく、任意の高速化手段です。
MeloTTSは特定の人物の声をクローンできますか?
いいえ。参照クリップからゼロショットで音声をクローンするのではなく、言語とアクセントごとに固定された話者音声のセットを使います。
MeloTTSは商用でも無料で使えますか?
はい。MITライセンスで公開されており、商用・非商用のどちらでもロイヤリティなしで利用できます。
Echoraでテキストを音声に変換
テキストから一人の話者による音声を作る同様のワークフローをブラウザで利用したい場合は、Echoraのテキスト読み上げを使えます。最大5,000文字を入力し、内蔵音声または保存したカスタム音声を選び、必要に応じて対応している話し方タグを追加して安定性を調整できます。生成結果はプレビューしてMP3でダウンロードできます。