簡単

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

VOICEVOXと連携してREAPER上で直接音声合成する方法

初稿:2022/11/17 18:10 - 最終更新:2022/11/26

キャラクターボイス系の音声合成ソフトは沢山ありますが、近年商用利用も簡単に可能なものが増えてきました。その中でフリーで誰でも使える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


選択したセリフ入り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で編集することで作ったりと、方法を自由に選択出来るようになっています。


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

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


REAPERだけで簡単にNEUTRINO(AIきりたん)を歌わせる方法

初稿:2021/06/22 23:17 - 最終更新:2022/05/23

今回は最も簡単かつ効率的にREAPERでNEUTRINO(AIきりたん)を歌わせる方法の解説です。MuseScoreも使わず、バッチファイルも記述せず、REAPERのみで完結します。


NEUTRINOとは

NeutrinoImage01

このページに辿り着いたということは恐らくご存じかとは思いますが、NEUTRINOはニューラルネットワークを活用した無料のボーカルシンセサイザーです。東北きりたんなどの様々な音声ライブラリを利用出来、比較的容易に良質な歌声が手に入ることから人気のソフトになっています。

一方でNEUTRINOの標準的な使い方の場合、バッチファイルの設定を編集するスキルが必要だったり、ブレス記号を入力するためにMuseScore等のツールを経由する必要性が出てきたりなど、なかなか面倒かつ敷居の高いものになっているという印象でした。

そこで、筆者はNEUTRINOの面倒な作業を自動化するREAPER拡張機能を実装しました(PeloReaper Extension for REAPERに実装されています)。これを使えばNEUTRINOの音声合成を非常に簡単に実行することが出来、合成した音声ファイルも自動的にDAWのトラックに取り込んでくれます。

以下、この拡張機能の導入方法から使い方までを詳細に解説していきます。


各種ツールのインストール

まずは必要なツールを導入しましょう。

NEUTRINOのインストール

NT_DLPage01

NEUTRINO公式のDOWNLOADページへ行き、NEUTRINO-Windows_vX.XXX.zip(最新版のものでOK)をダウンロードします。

NT_DLPage02

ダウンロードしたzipファイルを解凍するとNEUTRINOフォルダが出てきますので、それを任意の場所に置きます(ここでは、C:\local\NEUTRINO に配置したものとして話を進めます)。

NT_InstallDir01
↑ こんな感じになるように配置

NEUTRINOのインストールは以上で完了です。


歌声ライブラリを追加したい場合

歌声ライブラリをインストールしたい場合は、DOWNLOADページの [歌声ライブラリ] というボタンをダブルクリックして中に入り、各種キャラクターのzipファイルをダウンロードします。
(※東北きりたんがNEUTRINOのzipに含まれているため、この工程は必須ではありません)

NT_DLPage03
 ↓
NT_DLPage04

キャラクターのzipファイルを解凍すると、キャラ名のフォルダとREADMEファイルが出てきますので、NEUTRINO/modelフォルダ内にコピーするだけでOKです。

NT_AddModel01

REAPERのインストール

REAPERのDownloadページからインストーラーをダウンロードして、インストールして下さい。ここでは64bit版のREAPERをインストールする必要があります


PeloReaper Extension for REAPER のインストール

筆者が制作・配布しているPeloReaper ExtensionをReaPack(パッケージマネージャー)でインストールします。この方法については以下のページで解説していますので、そちらを参照してインストールして下さい。

以上で必要なツールのインストールについては完了です。


REAPER上で歌声の音声ファイルを生成する方法

それでは簡単なメロディ&歌詞を作って、NEUTRINOによる音声合成結果を得るまでの工程を順番にやっていきましょう。

MIDIでメロディを作成

以下の手順でTrackとMIDI Itemを作って、MIDI編集を行います。

  1. Trackパネルの空いてる場所をダブルクリックして、新しいTrackを作成
    PRNT_CreateMidi01
  2. Trackのタイムライン上で、Ctrlキーを押しながらマウス左ボタンのドラッグでMIDI Itemを作成
    PRNT_CreateMidi02
  3. 作成したMIDI ItemをダブルクリックしてMIDI Editorを開き、メロディを打ち込む
    PRNT_CreateMidi03

という感じで、以下のようなメロディを作ったとします。

NT_MelodyMIDI01

譜面エディタで歌詞の入力

ここからは歌詞などの入力のため、MIDI Editorの表示をピアノロールから譜面表示に切り替えます。MIDI Editorのメニューから [View > Mode: musical notation] を選択すると表示が切り替わります。

NT_NotationMode01
 ↓ こんな感じに表示が切り替わります
NT_NotationMode02

以下の手順で歌詞を入力してみましょう。

  1. 音符のあたりを右クリックして [Lyrics...] を選択し、歌詞編集(Edit Lyric)ウィンドウを表示
  2. Edit Lyricウィンドウにテキストボックスがあるので、音符に対応する歌詞を入力
  3. [Forward] ボタン(もしくはテキストボックスでEnterキー)を押すと、次の音符へ移動
  4. 2.~3.を繰り返して、音符に歌詞を付けていく

↓ 上記の手順で実際に歌詞を付けている様子

NT_Lyrics01

譜面エディタでブレスの入力

音符にアーティキュレーションでアクセント設定を行うことで、その音符の直後にブレスを挿入することが出来ます。

ブレスの設定は本来REAPER上では出来ないのですが、NEUTRINOが音声合成に利用しないアクセント記号でマークを付けておくことで、後工程のPeloReaper ExtensionによるMusicXML処理時に自動的にブレス記号に置換される仕組みになっています。

アクセントは音符を右クリックして [ Articulation > Accent ] でセット出来ます。

NT_SetBreath01
 ↓
NT_SetBreath02

MusicXMLファイルを保存

歌詞・ブレスの設定が済んだら、MusicXMLファイルを書き出します。MIDI Editorのメニューから [ File > Notation: Export (PDF, MusicXML)... ] を選択して、MusicXMLとして保存します。

NT_SaveMusicXML

※後の工程でこの保存したMusicXMLファイルを指定することになるので、保存場所を覚えておきましょう(ここでは R:\HelloNeutrino.xml に保存したとして話を進めます)。


NEUTRINO自動化機能で音声合成

MusicXMLファイルの準備が出来たら、あとはPeloReaper ExtensionのNEUTRINO自動化機能でWavファイルを生成してDAWに取り込むところまで一気に処理出来ます。以下の手順でやってみましょう。

  1. REAPERのメインウィンドウのメニューから [Actions > Show action list...] でActionリストを表示
  2. [[PeloReaper] Neutrino: Execute Neutrino Automation (Using MusicXML)...] というActionを実行し、NEUTRINO Automation Settingsウィンドウを表示
    NT_PRNeutrinoAction
  3. 下図の画像を参考に、NEUTRINOインストール場所や保存したMusicXMLの場所を指定
    NT_PRNTAutomationSettings01
  4. [Singer(Model)]が空欄の場合は右側にある [Refresh] ボタンで歌声ライブラリのキャラクター一覧を最新の状態にしてから、音声合成に利用するキャラクターを選択
  5. [ OK ]ボタンで音声合成を開始
  6. ログが表示されるのでしばらく待ちます(NEUTRINOの処理はかなり時間がかかります。実行開始時など時々固まったような感じになることがありますが、我慢して待ちましょう)
    NT_NeutrinoLog01
  7. ログに Done. が表示されると、NEUTRINOによるwavファイルの生成が完了し、生成したwavファイルが自動的にREAPERのTrackにインポートされます。
    NT_NeutrinoLog02
    NT_NTSynthResult01

説明の文章としては長くなりましたが、要するに毎回やることはMusicXMLと歌声ライブラリを指定してOKボタンを押すだけという簡単操作です。

ちなみに歌詞を付けた後~音声合成を行っている様子は以下の動画でも確認できますので、参考にしてみて下さい。


NEUTRINO自動化による様々なメリット

PeloReaper ExtensionによるNEUTRINO自動化機能の使い方は以上の通りですが、最後にこの機能を使った場合のメリットについてまとめておきます。

  • とにかく簡単、ボタン一発!
    一度やり方を覚えてしまえば、毎回やるのはMusicXMLを指定することくらいです。wavに一発変換してTrackに自動的にインポートしてくれますし、まるでREAPERにNEUTRINOの機能が組み込まれたかと錯覚するレベルでシームレスに作業できます(言い過ぎ)。
    Neutrino自動化のActionをツールバーなどに登録しておけば、更に作業が楽になります。
    NT_PRNTActionIcon01
  • REAPERのみで作業が完結し、他のツールをまたがない
    ブレス記号を入れるためだけにMuseScoreを使用していた場合、そういった手間が一切なくなります。また、後から曲を変更したりしたくなった場合などでは、曲を変更した部分について他のツール(MuseScoreなど)のデータも変更に追従して直したりしなければ・・・みたいな手間も一切発生しません。なので、より柔軟なワークフローを構築することが可能になります。
  • MIDI Item単位で処理出来るので、調声なども繰り返しトライしやすい
    NEUTRINOの音声合成処理時間は、譜面の長さやPCスペックなどによってかなり長くなってしまう場合があります。MIDI Itemを比較的短く区切って音声合成を行えば、処理にかかる時間を短縮でき、何度もトライしたい場合に有利になります。
    また、REAPERでは複数のMIDI Itemをglueという機能で連結したりすることも出来ますので、歌詞等の設定を終えたMIDI Itemたちを連結して、曲全体の歌声を一回でまとめて生成するといった事も容易に行えます。

やはり作曲する側の立場であれば、作曲以外のオペレーションは楽に越したことはないですよね。特に今までNeutrinoを使って音声合成を行ってきて作業が面倒だと感じていた人であれば、これらのメリットに魅力を感じて頂けるのではないでしょうか。

また、この機能を実装&公開してからしばらく経過してしまいましたが(記事書くタイミング遅すぎ)、調声支援ツールなどの補助ツールもどんどん進化していたりするので、そういったものとの連携も今後考えていきたいところではありますね。

兎にも角にも、少しでも歌を作る人の助けとなれば幸いです。


(追記)NEUTRINO自動化機能の更新情報

NEUTRINO自動化機能の更新情報を以下のページにまとめていますので、より新しい機能等について知りたい場合は見てみて下さい。


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

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

twitter: @pelori

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