PeloReaper

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

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

初稿:2022/11/17 18:10 - 最終更新:2023/02/23

キャラクターボイス系の音声合成ソフトは沢山ありますが、近年商用利用も簡単に可能なものが増えてきました。その中でフリーで誰でも使えるVOICEVOXというソフトがあるのですが、今回PeloReaper ExtensionにVOICEVOX Integrationを実装して利用しやすくしてみました。以下、この機能の使い方を紹介していきます。


VOICEVOXとは

VOICEVOX01

VOICEVOXは「無料で使える中品質なテキスト読み上げソフトウェア」としてフリーで配布されているソフトで、テキストから音声合成(Text to Speech、TTS)を行うことが可能です。

音声合成を行えるキャラクターが多数含まれているため、最初からいろいろなキャラクターのかけあいを作ったりすることが出来ます(ボイボ寮といった世界観設定もある)。キャラクター毎に個別に利用可能な範囲が定められていたりするため、それぞれの規約を熟読して使うかどうかを判断しましょう。


PeloReaper ExtensionのVOICEVOX Integrationについて

VOICEVOXで特にありがたいのは、内部の音声合成エンジンの部分(VOICEVOX ENGINE、VOICEVOX CORE)もそれぞれ分けて配布されており、APIが公開されている点です。これによってVOICEVOXを別のソフトに組み込むことが比較的容易になっています。

筆者はこれらのAPIを用いて、PeloReaper ExtensionにVOICEVOXを簡単に利用するための機能を実装しました。具体的には、REAPERからVOICEVOX ENGINEへ通信を行って音声合成をう機能が追加されています。


環境構築方法

PeloReaper Extension for REAPERをインストール

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


VOICEVOXのインストール

次にVOICEVOXを本家のページからダウンロードしてインストールします。zip版であれば任意のフォルダに解凍するだけです。

VOICEVOX_DL01

解凍したらVOICEVOX.exeを実行して、VOICEVOX Editorを起動します。起動したらVOICEVOXが正しく動作するかどうか確認して下さい(何かセリフを入力して言葉を音声で再生できればOK)。

VOICEVOX_Test01

これで準備完了です。VOICEVOX Editorは音声合成用のサーバー(VOICEVOIX ENGINE)として利用される(REAPER側からこれに通信して使用される)ため、Editorをこのまま起動しっぱなしにしておいて下さい

要するにVOICEVOX Editorを起動しておくだけなので、簡単ですね。

※ちなみにインストーラー版だとQ&Aのページにあるように、以下の場所にインストールされるようです。

C:\Users\(ユーザー名)\AppData\Local\Programs\VOICEVOX

REAPER上で音声合成を行う

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

[PeloReaper] VOICEVOX: Generate dialogue with VOICEVOX ENGINE TTS...

キャラ・スタイルの選択とテキスト入力が出来ますので、それぞれ入力して [Generate] ボタンを押せば、音声合成が行われて結果のwavファイルがREAPERのタイムライン(Arrange View)にインポートされます。これだけなので、簡単ですね。

tts01
(gifのプレビューが壊れていますが、クリックすると正常に見られます)

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


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

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

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

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

  • SpeakerID
    キャラクター(話者)の名前と発声スタイルを表すID(SpeakerIDの書き方は後述
  • セリフテキスト
    音声合成されるセリフのテキスト
  • 配置時刻
    秒もしくはタイムコード(HH:MM:SS:FF)で指定
VOICEVOX_CSV

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

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

1行ごとに必ず3つのフィールドを必要とするため、先頭行にヘッダを書いています。SpeakerIDが何らかのキャラ・スタイルに該当しない場合、その行は無視されるため、このヘッダ行は無視されることになります。

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

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

CSVTest01
↑ 実行例(gifのプレビューが壊れていますが、クリックすると正常に見られます)

SpeakerIDについて

SpeakerIDは以下のいずれかの方法で知ることができます。

  • 「話者名:スタイル名」(コロンは半角英数)
    という形式でSpeakerIDになります(下記Speaker情報CSVを見ると分かります)。
  • 以下のActionを実行してCSVにSpeaker情報一覧を保存し、そのCSVファイルを見る
    [PeloReaper] VOICEVOX: Save VOICEVOX speaker infos to csv file...
    下図の「SpeakerID(Text)」「SpeakerID(Num)」の列のどちらの値も使用できます。
    SpeakerIDCSV03

セリフ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の名前にSpeakerIDを記載することで、このTrackがセリフTrackになります(後でこの名前は音声合成などに用いられます)。

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

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

[PeloReaper] VOICEVOX: Set VOICEVOX speaker ID to selected tracks...
VoiceVoxSpeakerIDSelection

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

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

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

↓ クリックで拡大
TTSFromItems

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

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

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

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

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

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


セリフTrack上のEmptyItemをGUIで編集

セリフTrackをセットアップ(Track名にSpeakerID設定)してそこにEmptyItemを配置した後、EmptyItemのセリフや音声合成パラメータをGUIで編集することが出来ます。編集したいItemを選択して、以下のActionで編集を開始します。

[PeloReaper] VOICEVOX: Edit item notes and select speaker(track name) with dialog...
VVEditNotesGUI

SpeakerID、セリフ、音声合成パラメータ(Optional parameters)を設定して [Done] ボタンをクリックするだけです。

ここで設定したSpeakerIDは、このItemのあるセリフTrack名に設定されます。

また、IntonationなどのOptional Parametersを編集すると、Item Notesに制御構文が埋め込まれます。字幕などを作成する際に、これらの構文が邪魔になる場合は以下のActionで制御構文のみを削除できます。

[PeloReaper] VOICEVOX: Remove VOICEVOX control lines from item notes of selected items
VVRemoveCtrlLines

VOICEVOX Editorが読み書きできるテキストファイルを扱う

VOICEVOX Editorはテキストファイル(中身はCSVファイル)を読み込んで、話者・スタイル・セリフを一括インポートする機能(逆に書き出す機能も)を搭載しています。

PeloReaperではセリフTrackをこの形式でエクスポート・インポートするための、以下のActionも実装しました(使い方はセリフTrackのCSVエクスポート・インポートと同様)。

[PeloReaper] VOICEVOX: Save selected dialogue tracks to csv file (for VOICEVOX Editor)... [PeloReaper] VOICEVOX: Create dialogue empty items from csv file (CSV: UTF8/ShiftJIS, VOICEVOX Editor Text)...

VOICEVOX Editor側で音声を細かく調整したいという場合等に使うと便利です。


別のPCで実行しているVOICEVOX ENGINEをTTSサーバとして使用

これは上級編の内容になるのでここでは割愛しますが、PeloReaperのマニュアルに解説がありますので、興味のある方はそれを見てトライしてみてください。

PeloRaperのマニュアルは以下のActionで表示することができます。

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

音声の調整について

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

  1. 音声合成を実際にやってみて、読み方がそもそもおかしいとかイントネーションがおかしいといった場合は、VOICEVOX Editorのユーザー辞書登録(設定>読み方&アクセント辞書)で調整する(大抵の他のTTSソフトでもこの辞書育成が肝になっているので、慣れている人にとってはお馴染みかと思います)。
  2. どうしても細かい発音調整が必要なセリフに関してのみ、VOICEVOX Editorでセリフ入力&調整してwavを書き出し、手動でREAPERにインポートする。

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


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

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


使い方を紹介した動画

VOICEVOXをREAPER上で動作させる方法について、いくつかの機能を説明した動画を作成しましたので、こちらもご覧下さい。



最後に

VOICEVOXについては自分もまだ触り始めたばかりですが、非常に便利で発音も思った以上に良くて今後重宝しそうです。キャラクターも豊富ですし(ただしライセンス内容把握は必須)、某動画サイトなどで解説動画作ったりしている人には強力な味方となりそうです。

REAPER上でサクっとVOICEVOXを呼び出せたら作業が楽になるかなー、と今回の機能を実装してみましたが、興味のある人に使ってもらえたら嬉しいです。


REAPERでのNEUTRINO自動化ツール更新情報

初稿:2022/05/23 01:51 - 最終更新:2023/07/05

Neutrino_Logo01

このページはPeloReaper ExtensionのNEUTRINO自動化機能について、Extensionの更新で強化・修正された箇所を紹介するページです。

NEUTRINO本体については、下記の本家サイトをご覧下さい。


PeloReaper ExtensionのNEUTRINO自動化機能についてはこちらをご覧下さい。

ver.2023.07.05で追加・修正された機能

NEUTRINO v2.xに対応しました。

上記のリンク先(本家ページ)を見ると分かりますが、NEUTRINOのメジャーバージョンが上がり、NEUTRINO Diffusion(NEUTRINO v2.xのこと)という呼び方になったようです。また、従来のv1.x系で存在していたPitchShiftのパラメータがNSF/Worldで分けられて、パラメータの値の意味も大きく変更になったりしています。

こういった修正事項に伴い、PeloReaperではv2.xにのみ対応し、v1.xは使えないようになっていますのでご注意下さい。また、従来PeloReaperでNEUTRINO Automation機能をご利用頂いていた方は、NEUTRINO Automation Settingsウィンドウで [Reset options] をクリックして、一旦パラメータをリセットすることをお勧めします。


ver.2022.12.03で追加・修正された機能

NEUTRINO自動化機能を実行するダイアログで [Run NEUTRINO] ボタンを押した後、NEUTRINOが正しく実行できない問題を修正しました。

↓ 以下のようなメッセージで止まってしまう症状が発生していました。 Problem_WhenRunNeutrino01

この問題はREAPERやPeloReaperを古いバージョンに戻しても直らないため、.NET FrameworkかWindows Update、コンピュータウイルス・PC侵入検知ソフトなどのアップデートにより起こるようになった可能性があります。


ver.2022.04.29で追加・修正された機能

NEUTRINO自動化機能を実行するダイアログで設定可能なパラメータを増やしました。NEUTRINO ver.1.0.0で指定可能なパラメータを(たぶん)全て指定出来ます。

NeutrinoAutoNew01

主なパラメータは以下の通りですが、それぞれの詳細はNEUTRINO公式ブログを参照して下さい。

  • NSF版(高音質・重い)とWorld版(通常音質・軽い)の切替(Use NSFで切替)
  • Style Shiftに対応(いわゆる「キー変更+ピッチ変更ガチャ」と呼ばれるテクニック)
  • Worldのピッチ・フォルマントのシフト・スムージング、ブレス強化度合い指定

Neutrino公式ブログはこちら

あと、細かいところで言えば、[OK] ボタンが [Run NEUTRINO] ボタンに変わったり、NEUTRINO v1.0.0以降推奨になったりしました(v1.0.0以降じゃないと使えないパラメータがあるため)。

その他、NEUTRINO自動化機能実行中にログにエラーが出て、うまく波形がインポートされないといった不具合も発見したので、そういった細かい部分の修正も行いました。


REAPERでFL-ChanとREAPER-Chanを躍らせてみよう

え、今更FL-Chan?

と思われるかもしれませんが(汗)、FL Studioではなく、REAPER上でもFL-Chanなどのキャラクターを躍らせることが出来るのはご存じでしょうか。今回はその方法をちょっとだけ解説します。


FL-Chanとは

FL-ChanはImage-Line FL StudioというDAWに付属しているビジュアルプラグイン「Fruity Dance」で扱えるキャラクターです。Fruity Danceを使うと、DAWの再生テンポに合わせて踊りのアニメーションを再生することができます。

FL-Chan01

作曲そのものに役立つかどうかは置いておいて、DAWでの再生時にキャラが踊ることで、それを見た人(作曲者含む)のモチベやテンションが上がります(感じ方には個人差があります)。

FL-Chanの詳細な説明はこのあたりを見ると良いでしょう

※当然ですが、FL-ChanそのものはREAPERと何の関係もありません


PeloReaper ExtensionのDancer機能

PeloReaper Extension for REAPERには、FL StudioのFruity Danceに似たDancerという機能が実装されていて、Fruity DanceのようにDAWのテンポに合わせてキャラクターを躍らせられます。デフォルトで「REAPER-Chan」というキャラのデータも同梱しており、インストールすればすぐに躍らせて楽しむことが出来ます。

REAPER-Chan01

「FLにもあんなマスコットが欲しい」で生まれたFL-Chanを筆者が見て、「REAPERでもあんな感じにキャラを躍らせたい」で生まれたのがDancer機能とREAPER-Chanという感じです(歴史は繰り返す)。

しかも、データフォーマットをFruity Danceコンパチな形で実装してありますので、Fruity Danceのスキンデータがそのまま使えます。自作でスキンデータを作って躍らせることも、もちろん可能です。


PeloReaper Extensionの詳細やインストールについて

PeloReaper Extension for REAPERの詳細については以下のページを参照してください(記事の最初の方にも書いてありますが、日本語の情報はこのページの下の方にあります)。インストール方法などについても個別の記事がありますので、以下のページから辿ってインストールしてみて下さい。


実際にFL-Chanを躍らせてみる

FL Studio WebマニュアルのFruity Danceのページで大きいサイズのFL-Chanのデータがダウンロードできます。ここではこれを使用して、実際にREAPER上で躍らせる方法を説明します。

  1. Fruity Danceのマニュアルページにアクセスし、FL-Chanのスキンデータ(FLChan_HD.zip)をダウンロードします。
    FL-ChanSkinDL01
  2. zipを解凍すると出てくる以下の2つのファイルを、PeloReaperのDancerデータ置き場にコピーするだけでデータのインストールは完了です。
    • Dance_Large.png
    • Dance_Large.txt
    データ置き場はREAPERのリソースフォルダ内の、以下のようなパスの場所になります(リソースフォルダはREAPERのメニューから [ Options > Show REAPER resource path in explorer/finder... ] で開けます)。
    (REAPERリソースフォルダ)\UserPlugins\PeloReaper\Dancer
    FL-Chanのデータをデータ置き場にコピーすると下図のような感じになります。
    InstallFLChan01
    データの配置が完了したら、REAPERを再起動して下さい。
  3. REAPERを起動して、メニューから [ Actions > Show action list... ] でActionリストを表示します。
  4. PeloReaper Extensionの以下のActionを実行するとキャラクター(初期だとREAPER-Chan)が表示されます。
    [PeloReaper] Dancer: Open Dancer Window...
    DancerAction01
    ↑ Action Listでこれを実行するとキャラが表示されます
    ShowREAPERChan
  5. REAPER-Chanをマウスで右クリックして、[Settings...]を選ぶと設定ウィンドウが表示されます。
    REAPERChanSettings01
  6. 設定ウィンドウで一番上の [Dancer] で [Dance_Large] を選択し、ウィンドウ右下の [Apply] ボタンをクリックすると、キャラクターの表示が切り替わります。
    DancerSettings01
  7. キャラを表示した状態でREAPERを再生させると、キャラが曲のテンポに合わせてアニメーションします。マウスでドラッグした場合の専用アニメーションも再生されます。
    FLChanInReaper01
  8. キャラを消したい場合は、キャラを右クリックして [ Good Bye ] で消えます。

さらに楽しみたいあなたへ

PeloReaper ExtensionにはマニュアルPDFが付属しており、Dancer機能についても詳細が記載されていますので、是非そちらを見てより高度な使い方などに挑戦してみて下さい。

マニュアルはREAPER上で以下のActionを実行すると表示出来ます。

[PeloReaper] Misc: Open PeloReaper Document (ExtensionGuide: Japanese)
[PeloReaper] Misc: Open PeloReaper Document (ExtensionGuide: English)



DancingCharacters01

このDancerという機能は、筆者が「キャラを躍らせたい」という気持ちの他にも「REAPERをより多くの人に使ってもらいたい」という気持ちを込めて作りました(仲間を増やすためのホイホイとともいう)。REAPERは主に海外を中心にユーザーが多いDAWの一つですが、日本でもより多くの人が使ってくれるようになることを願っております。


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

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

twitter: @pelori

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