2022/12

PeloReaper Extensionの情報やダウンロードはこちらからどうぞ。
PeloReaper Extension for REAPER is here.
ReaperBanner01_w250 AudioSoftBanner01_w250

COEIROINKなどVOICEVOX派生ソフトとREAPERで簡単に音声合成する方法

初稿:2022/12/14 20:00 - 最終更新:2023/11/20

VOICEVOXDerivedSW01

COEIROINKLMROIDSHAREVOXITVOICE、などなど、最近VOICEVOX派生の音声合成ソフトウェアがどんどん増えてきていますね。自分もあまり細かく調べているわけではありませんが、それぞれが独自の音声合成方式を実装しているようです。

これらのソフトはVOICEVOX EditorやVOICEVOX Engineのソースを改造して使っているっぽい感じがしますが、「それならPeloReaperのVOICEVOX Integrationからでも利用できるのでは?」と思い、試してみると普通に使えました(とはいえ非公式な方法ですが)。

ということで今回は、VOICEVOX派生ソフトを併用する方法を紹介します。


PeloReaperのVOICEVOX Integrationってなに?

PeloReaperのVOICEVOX IntegrationはREAPER上でVOICEVOXおよびその派生ソフトを連携させるためのExtension機能(REAPERプラグイン)のことです。

PeloReaperのVOICEVOX Integrationについてまだご存じない方はこちらを参照してください。



PeloReaperでVOICEVOX派生ソフトウェアと連携する方法

接続先ポート番号について

VOICEVOX Editorを起動すると「エンジン起動中」といった表示が出ますが、内部的にはVOICEVOX Engineという音声合成サーバーが起動しています。VOICEVOX派生ソフトでも同様にサーバーが立ち上がるのですが、そのサーバーに接続するためのポート番号がそれぞれ個別の番号になっています。

ポートとはなんぞやとかよくわからなくても大丈夫です。要するにそのポート番号を切り替えることで、対応するVOICEVOX派生ソフトに接続することが出来るというイメージで問題ありません。

調べてみたところ、現状以下のようなポートが使われているようでした(2022年12月14日現在)。

ソフトウェアVersionポート番号
VOICEVOX 0.13.350021
VOICEVOX Nemo ※2 0.14.1050121
COEIROINK ※1 1.6.050031
LMROID1.350073 → 49973(LMROID Engine)
SHAREVOX0.1.750025
ITVOICE1.0.149540

PeloReaperのVOICEVOX Integrationでは、外部接続設定として接続先のポート番号を指定できるので、そこで上記のポート番号を指定するだけで対応するソフトに接続して音声合成を行うことが可能です。

※1:COEIROINKはCOEIROINK v2からVOICEVOX関連機能を使わない独自路線のソフトに変更になったので、VOICEVOXと連携できるのはv1.xまでのようです(2023/07/31現在)。

※2:(2023/11/20追記)VOICEVOX Nemoを追加しました。


接続先ポート指定方法

以下のActionを実行して、VOICEVOX Settingsウィンドウを表示します。

[PeloReaper] VOICEVOX: Show VOICEVOX ENGINE settings window...

ここではCOEIROINKに接続する場合の設定を行ってみます。

  1. [Use External Server] にチェックを入れる
  2. [IP Address] は localhost のままでOK(自分のPCのことを指している)
  3. [Port Number] にCOEIROINKのポート番号「50031」を入力
  4. [Save] ボタンで設定を保存

VVE_ExtSettings01

これで完了です。接続先がCOEIROINKに切り替わりましたので、あとはVOICEVOX Integrationの機能をそのまま利用して音声合成を行えます。簡単ですね。

TTSWithCoeiroink01
↑ COEIROINK側のSpeakerが使えるようになっている例


接続先設定を登録しておいて瞬時に切り替える方法

接続先の登録・接続先切替方法

上記の通りVOICEVOX Settingsウィンドウを表示して毎回ポート番号を入力してもいいのですが、複数のVOICEVOX派生ソフトを併用している場合はちょっと面倒ですね。そこで接続設定を登録しておいて、Actionでそれらを切り替える機能を用意しました。

まず以下のActionを実行して、外部接続設定を登録します。

[PeloReaper] VOICEVOX: Set VOICEVOX ENGINE external connection settings (Slot: 01~05)

VVE_ConnectionSettings01
↑ COEIROINK用に設定してみた例

  • Name
    接続設定の名前(任意の文字列)
  • IP Address
    localhost のままでOK
  • Port Number
    接続先ポート番号を指定

登録した接続設定に切り替える場合は、以下のActionを実行します。

[PeloReaper] VOICEVOX: Apply VOICEVOX ENGINE external connection settings (Slot: 01~05)

複数の接続設定を登録しておけば、いつでも接続先を切り替えられて便利です。ツールバーに登録しておけば、ボタンクリックで一発切替というのも可能です。


登録した接続先設定の一覧表示

登録した設定は以下のActionで一覧表示出来ます。

[PeloReaper] VOICEVOX: Show all VOICEVOX ENGINE external connection settings...
VVE_ShowAllConnections01

接続先をVOICEVOXに戻す

外部接続設定を無効にして、VOICEVOXへの接続に切り替えたい場合は以下のActionを実行します。

[PeloReaper] VOICEVOX: Disable VOICEVOX ENGINE external connection...

この他のやり方として、VOICEVOXの接続先ポートは分かっているので、VOICEVOX用の接続設定を登録しておいて、前述のActionで切り替えるという方法でもいけます。


VOICEVOXのマルチエンジン対応について

VOICEVOX 0.14.2で試してみたところ、VOICEVOXのマルチエンジン機能を使った場合も、VOICEVOXに登録したエンジン(音声合成サーバー)を複数起動した状態になっているようでした。なので、従来通り複数のエディタを立ち上げているような状態になっているので、本記事で紹介しているPeloReaperのポート切替関連の機能が有効に動作します。


VOICEVOX派生ソフトウェアのポート番号を調べる方法

今後まだまだVOICEVOX派生の音声合成ソフトウェアが出てきそうではあります。新しいソフトが出てきた場合に「ポート番号がわからない!」となりそうなので、調べる方法を一つ書いておきます。

ポート番号を調べる方法は簡単です。VOICEVOX派生ソフトをインストールした場所に run.exe という実行ファイル(音声合成サーバー起動用)がありますが、これを起動してあげれば以下の画像の例のようにポート番号が表示されます。

RunExePort01

ポート番号をメモしたら、[Ctrl+C]で run.exe を終了させておきましょう。


注意点など

上記の方法で、非公式な方法ですがVOICEVOX派生ソフトにもVOICEVOXと同様にアクセスして音声合成を行うことが出来るようです。これは今のところVOICEVOX派生ソフトを作っている開発者が、VOICEVOX EngineのAPIの互換性を保っている(おそらく手を加えていない)から成立している状況であって、今後どうなるかはよく分かりません。

今回紹介した方法もいつまで大丈夫か分かりませんし、そのうち接続用のインタフェース(API)を独自のものにしたVOICEVOX派生ソフトが出てきて「接続できない!」となるかもしれませんが、まぁそうなったらその時どうするか考えることにします。

今は便利な状況が続いているので、その間は存分に利用させていただきましょう。


VOICEPEAKとREAPERで簡単に音声合成する方法

初稿:2022/12/05 00:10 - 最終更新:2023/02/04

前回はVOICEVOXとREAPERで音声合成を簡単に行う方法を紹介しましたが、今回は類似の音声合成ソフトであるVOICEPEAKをREAPER上で簡単に使う方法を紹介します。


VOICEPEAKとは

VoicepeakLogo

VOICEPEAKはDreamtonics社の開発した最新のAI音声合成技術syllaflowを搭載し、手軽に読み上げさせることが可能な入力文字読み上げソフトです。ただしこのソフトはフリーソフトではなく、販売されている商品となりますので、ご利用になる場合は別途購入する必要があります。


PeloReaper ExtensionのVOICEPEAK Integrationについて

VOICEPEAK v1.1.0ベータ版からは、VOICEPEAKのエディタだけでなく、コマンドラインでの実行もサポートしました。PeloReaperにはそれを応用したVOICEPEAK Integration機能が実装されています。

逆にこのv1.1.0ベータ版より前のバージョンや体験版などを用いても正しく動作しませんので、PeloReaperの機能を用いるには、VOICEPEAKの製品版の購入が必須となる点にご注意下さい。また、ベータ版については、製品購入後AHSのユーザー登録を経て、ユーザーのダウンロードページにてダウンロードが可能となっています。


環境構築方法

PeloReaper Extension for REAPERをインストール

以下の記事を参考に、PeloReaper Extension for REAPERを事前にインストールしておいて下さい。



VOICEPEAKのインストール

VOICEPEAKを購入後、インストーラーで普通にインストールを行って下さい。一旦VOICEPEAKを起動して、VOICEPEAKエディタ上で普通に音声合成が出来るかどうかチェックして下さい。

VoicepeakEditor01
↑ 普通に文章の読み上げが出来ていればOK


PeloReaperのVOICEPEAK環境設定

REAPER上で以下のActionを実行して、環境設定のウィンドウを表示します。

[PeloReaper] VOICEPEAK: Show VOICEPEAK settings window...

ウィンドウ上の[voicepeak.exe Path]というテキストボックスに、インストールしたvoicepeak.exeの場所を設定します。

VPI_SetupPref
↑ 自分でインストールした場所を設定する

あとは[Save and rebuild cache]ボタンを押せば完了です。この時、VOICEPEAKを今後実行するのを高速化するためのキャッシュ情報が構築されます(進捗が分かるウィンドウが表示されます)。環境によりますが、数秒~数十秒程度で終わるのでしばらくお待ちください。

また、今後AHSからVOICEPEAK製品が登場する予定になっているようですが、新製品をインストールした場合もこのキャッシュ構築が再度必要になりますので、覚えておきましょう。

これで環境構築は完了です。


REAPER上で音声合成を行う

REAPERで以下のActionを実行します。

[PeloReaper] VOICEPEAK: Generate dialogue with VOICEPEAK TTS...

TTS設定のウィンドウが表示されますので、ナレーターを選択してテキストを入力し、[Generate]ボタンをクリックすれば音声合成が実行されます。

VPI_TTS01

Emotionsグループでは感情パラメータ、Optionsグループでは話す速度やピッチの調整が可能です。速度やピッチの値の範囲については、数値入力のボックスにマウスカーソルを重ねるとヒントが表示されます。

VPI_Tooltip01

ちなみに上記ダイアログのテキストボックスは複数行入力できるようになっており、行を分けるとそれぞれが1つのwavファイルとして生成されるようになっています。

↓ 実行例
VPI_TTSEx02

CSVファイルを使って沢山のセリフを一括音声合成

セリフが沢山あるという場合、一括で音声合成を実行できると便利なので、CSVファイルでの一括音声合成機能も実装しました。行ごとにナレーターや配置時刻も指定可能です。

CSVファイルを用意して音声合成を実行

CSVファイルの仕様はPeloReaperのマニュアルPDFに記載されているのでそちらに譲るとして、CSVの行ごとに、以下のような情報を用意します。

  • ナレーター名
    ナレーター(話者)の名前を指定します(例:Female 1)。
  • セリフテキスト
    音声合成されるセリフのテキスト
  • 配置時刻(省略可能)
    秒もしくはタイムコード(HH:MM:SS:FF)で指定

他にも感情設定など細かく設定は可能ですが、そのあたりはPeloReaperのマニュアルをご覧下さい。PeloRaperのマニュアルは以下のActionで表示することができます。

[PeloReaper] Misc: Open PeloReaper document (ExtensionGuide: Japanese/English)

VPI_CSV01

Excelだと最低限で上図のような感じに記入してから、CSVファイルとしてファイルに保存します(Excelメニューの「ファイル>名前を付けて保存>CSV(コンマ区切り)で保存)。

VPI_CSV02
↑ 書き出したCSVファイル

1行ごとに最低限2つのフィールド(ナレーター名、テキスト)は必須ですが、それ以降の項目は任意です。CSVの行の先頭にシャープ(#)を記入すると、その行はスキップされます。

CSVファイルを用意出来たら、以下のActionでそのCSVファイルを選択すれば、一括で音声合成が行われてwavファイルが自動的にREAPERにインポートされます。

[PeloReaper] VOICEPEAK: Generate dialogue with VOICEPEAK TTS (CVS: ShiftJIS)...

ナレーター名について

ナレーター名は以下のActionを実行してCSVファイルに情報をかき出すことで、確認することが可能です。

[PeloReaper] VOICEPEAK: Save VOICEPEAK narrator infos to csv file...

NarratorInfos01
↑ ナレーター名と利用できる感情パラメータ一覧

セリフTrackを用いたセリフ作成と音声合成の効率化

セリフTrackとEmpty Itemを用いることで、台本作成やセリフの配置作業を効率的に行う仕組みを実装しましたので、それについて説明します。

Empty Itemについて

REAPERのItemにはメモ書き(Item Notes)を設定出来ますが、Empty Itemを用いるとItem上にそのメモ書きを表示してくれるという便利な機能があります。セリフをEmpty Itemで配置して、それらを一括で音声合成することも可能です。

ちなみにEmpty Itemは何かTrackを選択し(配置先)、時間選択範囲を指定して、

Insert empty item

というActionを実行すれば作成できます。このEmpty Itemをダブルクリックするとメモ書き(Item Notes)を記入するダイアログが出ますので、そこでセリフを設定します。

EmptyItem01

セリフTrackの作成

Empty Itemを配置したTrackの名前にナレーター名を記載することで、このTrackがセリフTrackになります(後でこの名前は音声合成などに用いられます)。

↓ セリフTrackを作成した例
VPI_DlgTracks01

PeloReaper v2023.02.03以降では、選択したTrackにNarrator名をGUIで選択して設定するActionを追加してありますので、簡単にセリフTrackのセットアップが行えるようになりました。

[PeloReaper] VOICEPEAK: Set VOICEPEAK narrator name to selected tracks...
VoicepeakNarratorSelection

セリフ用Empty ItemをGUIで編集

Itemを一つ選択して以下のActionを実行すると、そのItemのItem NotesをGUIで編集出来ます。また、Narrator名もこのItemのあるTrackのTrack名に設定されます。

[PeloReaper] VOICEPEAK: Edit item notes and select narrator(track name) with dialog...
VPEditItemNotesDialog

選択したセリフ入りEmpty Itemから音声合成

セリフTrack上にある、セリフを記入したEmpty Itemたちを選択状態にして、以下のActionを実行すれば即座に音声合成を行うことが出来ます。

[PeloReaper] VOICEPEAK: Generate dialogue from selected item notes with VOICEPEAK TTS

↓ 実行例(クリックで拡大)
VPI_TTSEx01

セリフTrackのCSVエクスポート・インポート

セリフTrackを選択して以下のActionを実行することで、選択したセリフTrackの情報をCSVファイルに書き出すことが出来ます。

[PeloReaper] VOICEPEAK: Save selected dialogue tracks to csv file...

逆に以下のActionでCSVをインポートすることも可能です。

[PeloReaper] VOICEPEAK: Create dialogue empty items from csv file (CSV: UTF8/ShiftJIS)...

これらのActionを使うことでセリフTrackの情報を読み書き出来るので、セリフの台本をREAPER上で作ったり、CSVをExcelで編集することで作ったりと、方法を自由に選択出来るようになっています。


音声の調整について

音声の細かい調整についてはREAPER上で出来ませんが、今のところ以下のような使い方を想定しています。

  1. 音声合成を実際にやってみて、読み方がそもそもおかしいとかイントネーションがおかしいといった場合は、VOICEPEAKエディタのユーザー辞書管理機能(ウィンドウ上部の本のようなアイコン)で調整する(大抵の他のTTSソフトでもこの辞書育成が肝になっているので、慣れている人にとってはお馴染みかと思います)。
  2. どうしても細かい発音調整が必要なセリフに関してのみ、VOICEPEAK Editorでセリフ入力&調整してwavを書き出し、手動でREAPERにインポートする。

そのうちもうちょっと良いワークフローが思いつくかもしれませんが、現状での筆者の利用方法想定は上記のような感じです。


おまけ:動画に字幕・テロップを簡単に付ける

VOICEPEAKで声をあてて何かの簡単な解説動画を作るような場合、更に手っ取り早く字幕を付けたいと思うことも多いでしょう。それをサポートする機能がPeloReaperにありますので、こちらの記事もどうぞ。


最後に

VOICEVOXの場合と同様、REAPER上でサクっとVOICEPEAKを呼び出せたら作業が楽になりそうだったので、今回の機能を実装してみました。Action名などもVOICEVOXのものとほぼ同じようなものにしてあります。

VOICEPEAKの製品購入が必要な点は若干敷居が高いかもしれませんが、興味のある人に使ってもらえたら嬉しいです。


このブログについて
ぺろりがREAPERで遊びたいというだけのブログかもしれない

必ずこちらをお読みください

twitter: @pelori

管理人用
  • ライブドアブログ