巽のブログ

UTAUとかやってます

REAPERでITAコーパスを録音しよう

DAWソフト「REAPER」でITAコーパスを録音する方法を紹介します。


最終更新日:2022年10月15日

概要

DAWソフト「REAPER」のリージョン機能を活用してITAコーパスを録音します。
専用のスクリプトを用いて録音時の操作を極力少なくし、アフレコのように録音できるのが特徴です。


ITAコーパスとは

音声合成などの研究目的に制作された全424文からなるパブリックドメインの日本語テキストコーパスです。
GitHub - mmorise/ita-corpus: ITAコーパスの文章リスト

ITAコーパスを読み上げた音声データはテキスト読み上げソフト「TALQu」や「MYCOEIROINK」などの音声モデル作成に活用されています。


REAPERをインストールする

REAPER | Audio Production Without Limits

各環境に適したものをダウンロードしてインストールしてください。
REAPERは最新版がおすすめです。


REAPERを日本語化する

製品版REAPER日本語化パッチ(森)
Home · Phroneris/ReaperJPN-Phroneris Wiki · GitHub

日本語化パッチのインストール方法は配布先の解説を読んでください。



ReaPackを導入
ReaPack: Package manager for REAPER

※追記(2022年7月29日)
ReaPackの導入は必須ではないと判ったので飛ばして大丈夫です。


SWS Extensionを導入

SWS / S&M Extension

各環境に適したものをダウンロードしてインストールしてください。
後述のスクリプトで「Next Region」などが使えるようになります。


スクリプトをインストール

Big region progress bar for Rec - BowlRoll
上記リンクからスクリプトをダウンロードしてください。

REAPERのリソースフォルダを開き
REAPER\Scripts\
スクリプトを解凍してください。

REAPERを開き
[アクション]→[アクションリストを開く]を選択
[新規アクション]から「ReaScript を読み込み」を選択
先程解凍したフォルダの中にある「Big region progress bar for recording.lua」を選択して開くとスクリプトがインストールされます。
スクリプトにもショートカットキーを割り当てられるので設定しておくと便利です。


リージョンをセットする

ITAコーパス用リージョン - Google スプレッドシート
通常版

ITAコーパス用リージョン(細分化版) - Google スプレッドシート
句読点で区切った版

上記のスプレッドシートから
・RECITATION_リージョン_読み上げ文
・RECITATION_リージョン_ファイル名
・EMOTION_リージョン_読み上げ文
・EMOTION_リージョン_ファイル名
の4つのシートをカンマ区切り形式(.csv)でダウンロードします。
各文章の表示秒数を変えたい場合はスプレッドシートの説明を参照してください。
また、スプレッドシートを編集すれば他のコーパスや台詞素材などの録音に活用できます。

[表示]→[リージョン/マーカーマネージャー]からリージョンマネージャーを開く。

リージョンマネージャーの表のあたりを右クリックして[リージョン/マーカーをインポートして置換]を選択。

読み上げ文のリージョンを選択して開くとこのようになります。



録音する

新規トラックを作成(Ctrl+T)
トラック左側の録音待機ボタンを押すと録音待機状態になります。

複数テイクを録音して選別などを後から行いたい場合はテイク分の別トラックを作成しておくのがおすすめです。

録音時のオプションはテープモードに変更しておくのがおすすめです。
[オプション]→[録音時に既存のアイテムと重なった場合]→[既存のアイテムを新規録音で侵食する(テープモード)]

[アクション]→[アクションリストを開く]から「Big region progress bar for recording」を実行してウィンドウを表示します。

このように表示されればOKです。
あとは録音を開始してウィンドウのコーパス文を各リージョンの範囲内に収まるように発声して録音してください。

読み間違えたり休憩を挟みたい場合は停止して「Previous region」を押せばリージョンの頭から録り直しができます。


スクリプトのカスタマイズについて

文字数が多い文章は表示されないのであらかじめウィンドウを大きくしておいてください。
それでも表示しきれない場合はスクリプトを直接編集して以下のフォントサイズを小さい値に変更してください。

-- Font size of text
fsize=75

また、フォントはデフォルトで游ゴシックを設定していますが他のフォントへ変更できます。

  gfx.setfont(1, "游ゴシック", fsize*size)



レンダリングする

録音が終わったらレンダリングします。
あらかじめリージョンをファイル名の方に置換してからレンダリングしてください。

[ファイル]→[音声ファイルにレンダリング]からレンダリングします。
レンダリング設定は以下の通りです。

対象 ステム(選択トラック)←録音したトラックを選択しておく
範囲 プロジェクトのリージョン
ディレクト 任意のディレクト
ファイル名 $region
サンプリングレート 44100Hz
チャンネル Mono
出力形式 WAV
WAV bit 深度 16bit PCM

時間範囲が「○個のリージョン」、出力先が「~\EMOTION100_001.wav」となっているか確認し、[○個のファイルをレンダリング]から出力します。
これで録音と切り出しが完了です。

サンプリングレートなどの音質設定は用途によって違う場合があるので確認してください。


スクリプトの操作について

スクリプトはこのように6つのエリアに分かれており、それぞれのエリアをクリックすることで操作できます。

配布しているスクリプトではコーパス文を読みやすいよう枠線を非表示にしています。

Previous tab・Next tab:前後のプロジェクトタブへ移動。基本使いません。
Previous region・Next region:前後のリージョンを選択・移動
Play / stop:再生 / 停止
Rec / stop:録音開始 / 停止

また、画面を複製すればモバイルモニターやスマホからも操作できます。
マウスクリックの音が入らなくなるのでおすすめです。


謝辞

オリジナルのスクリプトはStepan Hlavsaさんの「Big region progress bar for live use」です。
Created new window for live use - Cockos Incorporated Forums

スクリプトは改変・再配布の許可をいただいています。
また、スクリプトの改変に辰零さんに協力していただきました。
ご協力ありがとうございました。


他のコーパス用リージョン

「リージョンをセットする」の項目と同様にリージョンを使ってください。


MANAコーパス用リージョン - Google スプレッドシート
MANAコーパス
疑問文などに対応したMYCOEIROINKの学習向けコーパス

ROHAN用リージョン - Google スプレッドシート
ROHANコーパス
※ENDSVILLE400のみ