2020年11月18日水曜日

[Discord]読み上げBOTの代わりに自分のPCで読み上げする

Discordって便利ですよね。


チャットできるし、ボイチャもできるし、長いチャットログも検索できるので
ゲームの雑談、情報まとめなどにいろいろ使えて助かってます。


困ったこと

でも、困ったことがあるとすれば、コミュニティがボイチャ勢とテキストチャット勢に分かれてしまうこと。

ボイチャ勢はテキストチャットを読まず、書かずにしゃべるだけで会話できるのが楽なのでボイチャを使います。

そこに聞き専(ボイスで聞くだけの参加者)が入っていると、聞き専の返信はテキストチャットになってしまうのでテキストチャットを読む作業が増えてしまい、テキストを読んでいないと気が付かないので無視することになってしまいます。

全画面表示でゲームをやっていたりするとチャットが画面上に表示されないので、チャットを見るための切り替えが発生してしまいます。

ボイスチャットに参加しない・参加できない理由は、家族が寝ていたりなど、それぞれあるので仕方がないものです。

戦略や連携が必要な場面では、ボイスチャットがかなり重要なツールになってきますし、ボイチャ勢は雑談もボイスでやりますので仲良くなるスピードが圧倒的に違います。

チャットのスピード的に、聞き専がボイチャの雑談に参加できないのは百歩譲ってしょうがないとしても、

ボイチャに参加できないから集団戦のゲームでスムーズなコミュニケーションができなくて参加するのを躊躇してしまうのはもったいないですよね。


読み上げBOTを導入するのが定番

マイクミュートにして聞き専で入ってもらって、テキストチャットに書いた内容を読み上げてくれるようにすれば、ボイチャ勢は文章を読まずにテキスト勢の言いたいことを聞けて、ある程度コミュニケーションできるようになります。

そこで使えるのが「喋太郎」と「Shovel」ですね。読み上げBOTと呼ばれるDiscord上で動くプログラムです。

導入するには「サーバー管理」という権限が必要だと思いますので、Discordのサーバー管理者にお願いして、読み上げBOTを導入してもらえば使えるようになります。

もしくは「サーバー管理」の権限のついた役職をつけてもらって自分で導入作業をする感じですね。

喋太郎

Shovel


Discord読み上げBOTが動かない

Discordと読み上げの利用が増えているようで、両方とも、負荷が大きすぎる状態になっているようで、特に夜は動かないことが多くなっています。

呼び出しても読み上げが動かないし、すぐ退室してしまうとか、動作が遅くてラグがすごいなどの現象が起こります。


自分でBOTを作ることができれば楽なんですが、BOTってどうやって作るのか分からない。。

ということで、自分のPCで音声合成してボイチャに流すという方法をとります。


自分のPCで読み上げソフトを導入する

2パターン用意しました。

①自分を含むテキストチャット勢全員のテキストを音声合成してボイスに届ける

[DiSpeakでテキストチャットの文章の読み取り]
  ↓
[棒読みちゃんの合成音声で読み上げ]
  ↓
[ボイスチャットに流す]

というDiSpeakと棒読みちゃんを使った方法


②自分の声を元にして機械音声を作る

[自分の声をマイクでPCに入れる]
  ↓
[ゆかりねっとの音声認識で文字に変換]
  ↓
[棒読みちゃんの合成音声で文字を読み上げ]
  ↓
[ボイスチャットに流す]

というゆかりねっとと棒読みちゃんを使った方法


①の場合は、DiSpeak棒読みちゃんを使います。

DiSpeakの設定ではトークンというものを使ってログインするので参考サイトなどでトークンの調べ方を見るとわかりやすいです。

あとは棒読みちゃんの音声出力デバイスを設定すれば音声が出ます。

仮想音声デバイスを使うと便利なのでSYNCROOMやVoiceMeeterBananaの音声デバイスを使うといいと思います。

棒読みちゃんの設定で音声出力デバイスをSYNCROOMやVoiceMeeterにして、Discordの音声入力デバイスも同じSYNCROOMやVoiceMeeterにします。


②の場合は、ゆかりねっと棒読みちゃんを使います。

ゆかりねっとはGoogle Chromeも別途インストールする必要があるようです。ゆかりねっとの設定で棒読みちゃん連携を選択すればあとは①の棒読みちゃんの使い方と同じです。



2020年9月23日水曜日

ボイチェンソフト比較。無料でできる範囲でピッチとフォルマント個別調整も可能なボイチェン

 ボイスチェンジャーで女声になりたい!

という目標から、いろいろフリーソフトを試したりYouTubeで動画を見たりして得た知識をとりあえずまとめます。


まずはとにかく数多く試すことが重要

ここにつきます。

なんというか、「ボイスチェンジャー」という機能がすべて詰まったソフトというのは3つとか4つくらいしかないのですが、

3つとか4つくらいあるボイチェンソフトは、遅延が大きいものもあったり、ピッチシフトの上限が低いものもあったり、ノイズがすごかったりと、なかなか完璧なものは出てきていない状態です。アップデートもあるので読んだ時点、すでにいいものが出ているかもしれませんが。

女声になるために根本的に必要なのはピッチシフトとフォルマントシフトなので、サウンド関連のソフトやプラグインでも同じようなことができます。ここから可能性が広がります。

サウンド関連のプラグインにもピッチシフターという種類のプラグインがあり、これを使ってボイチェンのコア部分にすることができるので、プラグインを使うための箱になるソフトとプラグインの組み合わせをいろいろ変えることによっていい組み合わせを探すというトライアンドエラーを繰り返すことができます。

この記事では私が試してみてよかった構成も紹介しますが、使っているマイクやパソコンによってノイズの大きさや処理の速さなどが違うと思いますし、その状態で満足するか妥協するか、もっと上を目指すかなどで個人個人捉え方が違います。多く試すことで自分にとって満足する構成を見つける可能性が上がりますので、とにかく数多く試すことが重要と書きました。

ボイチェンに必要な要素

●ピッチシフト機能 (ほしいシフト量があること)
●フォルマントシフト機能 (ピッチとは個別に変更できること)
●ノイズが少ないこと
●変換に時間がかからず低遅延、リアルタイムであること
●変換のくせがないこと

上記5つがすべてそろうと最高のボイチェン環境といえると思います。
一つずつ説明します。

ピッチシフト機能

これがないと始まらない、音の高さが変わる機能ですね。
ほしいシフト量と書いていますが、ボイチェンによっては1オクターブぶん、あるいはそれ以上変化させることができるものと、そこまで上がらないものがあります。
自分が出す声が低い声のままボイチェンしたいという人は、1オクターブ程度のシフト量が欲しいと思うはずです。

フォルマントシフト機能

ボイチェンやピッチシフターの中には、機械っぽさが出ない自然な変換を保つためにピッチ変更の設定だけになっていてフォルマントはピッチに合わせて勝手に変化するタイプのものがあります。シフト量が少ない設定であれば影響が少ないのですが、がっつり変換かける設定にするとさすがにフォルマントを個別に設定して声の質を変えたいと思うはずです。

ノイズが少ないこと

同じマイクを入力しているのに、ボイチェンから出てきた声がバリバリになっているものや意外にきれいな音になっているものなどいろいろあります。ソフトごとにも違いがありますし、同じソフトでも設定値によってノイズののり方が変わったりします。普通の環境ノイズなら気にならないのに、ボイチェンを通ると耳障りなノイズになってしまう特性があります。ボイチェンに通す音にノイズがのっていない状態にしたいと思うはずです。

低遅延であること

ソフトウェアのボイスチェンジャーはどうしても遅延が発生します。
変換後の声をループバックして聞きながらしゃべる場合、0.1秒くらい遅れるだけでギリギリ、1秒遅れてくればしゃべるのも難しくなるくらい、遅延は問題です。
遅れてくる声につられてしまってしゃべりにくいんですよね。たとえて言えば、自分がしゃべっているのを遮って他人ががしゃべってくるとき、自分も相手も全くしゃべるのをやめないような状況みたいなものです。かぶったらしゃべりにくくて大抵どちらかが話すのをやめますから。

ノイズフィルタなどを使ってがっつり声をきれいにすれば、録音したボイチェン声はきれいでかわいい声になるかもしれませんが、録音結果を楽しみにしながら自分の生声を聞いてしゃべるしかないのです。なんならボイチェン適正に合う発声をするので生声が普通よりキモイですよね...? つらすぎます。
リアルタイムで聞こうとするなら重いノイズフィルタをはずしたり、バッファを少なくすることで聞きにくい声になってしまい、なかなかいい声を低遅延で聞くことができません。
ハードウェアの機材で低遅延化することで解決しているVTuberが多いです。
きれいで可愛い声を自分の声とほぼ同時にヘッドホンから聞くことができると、「私の声かわいい!」という感覚を得ることができて、しかも出た声をもとに喉を調整して声の出し方もすぐにフィードバックすることができ、声のkawaii化が加速するらしいです。
いやこれはもう同時でなくてもいいから、まずは無料でやれる範囲で、しゃべれる程度の低遅延にはしてみたいと思うはずです。

高い機材をいきなり買っちゃうなんてことはだめっ!(お金に余裕があればいいけどね)

変換のくせがないこと

具体的にどういうことが変換のくせかというと、しゃべっていないときのノイズがひょわひょわ揺れるとか、しゃべりの最後の音程のノイズが残って気になるとか、ノイズが変換されて耳障りになるとかのノイズ関連のくせと、
もう一つは声を出していても特定の音程になるとピロピロ、ガビガビいう感じで変換が安定しない状態などがあります。
前者はノイズ関連、後者は音程関連ですね。

ノイズ関連はノイズを減らすしか解決方法がありません。ノイズフィルタをかけるとかなり音が綺麗になります。

音程関連は、設定いじりで解決するものと、バグのようなものがあります。
あとは自分の声をその音程で出すのを避けるか、その音程のときに声量や声質を変えることで解決するかもしれません。
ピッチシフトの基準を、波形の中でどの音程にすればいいのか、プログラムが迷ってしまい、音程が高速で上がったり下がったりすることで発生する感じです。(記事最後の動画でも話しています。)
どうにもならない場合は、他のソフトでくせがないボイチェンを使うという解決策になります。



5つの中でどれが重要か?というと、全部です。
これが全部そろわないと最強のボイチェン環境にはなりません。
低遅延だけ無視して、録音後のおたのしみにして我慢できるなら、YouTubeの動画をアップすることはできますけど。声のkawaii化加速はできませんよ?


ここからはソフトの紹介

数多く試すため、ソフトのカテゴリごとに紹介していきます。

ボイチェンソフト

恋声
バ美声
Gachikoe! Core

音声ミキサー

Voicemeeter Banana

仮想音声デバイス

Voicemeeter (Bananaに付属)
Syncroom
NETDUETTO

VSTホスト(DAW)

VSTHost
REAPER
Cakewalk

VSTプラグイン

Graillon 2 (ピッチシフト)
Pitchproof (ピッチシフト)
RoVee (ピッチシフト、フォルマントシフト)
MAutoPitch (フォルマントシフト)
MTransformer (ピッチシフト、フォルマントシフト)
ReaPitch (ピッチシフト、フォルマントシフト、Reaperでのみ使える)
Reafir (ノイズフィルタ)
Reaeq (イコライザー)
Reacomp (コンプレッサー)
Bitsonic Sound Recovery (ノイズフィルタ)


ボイチェンソフト、音声ミキサー、仮想音声デバイス、DAWに関しては上記全部試したほうがいいです。
ちなみにボイチェンには直接関係ないですが、Syncroomはデュエットなどで歌えるほど低遅延で他の人と接続できるので、Discordで通話するより話しやすいという意味も含めて入れておいたほうがいいです。
SyncroomはねむさんのこちらのYouTubeライブで使われたそうなので参考にどうぞ。
ねむさんも月山縁さんもかわいい。

VSTプラグインに関しては全部試す必要はないと思いますが、
Graillon 2の速さ、
RoVeeかMAutoPitchのフォルマント個別調整、
Reafirのノイズフィルタ性能、
ReaPitchの音質
あたりは体験しておいたほうがいいと思います。
プラグインの性能がここまであるのか!という参考になります。最高峰のものとは限りませんけどね。

イコライザーとかコンプレッサーあたりは満足する声が出せるようになったあとで味付けくらいでほしくなってくるかなと思います。
私は、遅くなるなら使わないほうがいい派です。



現状の構成

構成を4つ紹介しちゃいます。記事作成時点では③か④がいいなと思ってます。

①VSTHost+Reafir+MAutoPitch+Graillon2+Voicemeeter Banana

VSTHostを長く使っていまして、遅延を気にせず音の良さだけ作るという目的で、
VSTHostにReafirのノイズフィルタ、MAutoPitchでフォルマント-6、Graillon2でピッチ+12&自動でフォルマント上げ
という構成です。ノイズフィルタはFFT Sizeを4096にしているので、合計で250ms(0.25秒)くらいは遅延します。
ループバックを聞かずに録音用にするとか、
VSTHost多重起動で1個は録音用にして、もう一個起動してループバックはノイズフィルタを入れない仕様にするとかで使えそうな構成です。

画像ではマイクから入れてスピーカーに出す設定になっていますが、これだと聞くだけになってPCの音と混ざってしまうのでVoicemeeterを使って分岐させるようにします。
Voicemeeter Insert Virtual ASIOを使ってなるべく低遅延化しています。
もしくはDirect SoundでVoicemeeter AUXに出す感じ。


②REAPER+Reafir+MAutoPitch+Graillon2+Voicemeeter Banana

VSTHostをREAPERに変えるだけで、ReafirのFFT Sizeを4096にしてSubtractの波形を自動で作ったあと、512にするとノイズ減少は軽くなりますが、遅延も少なくなる感じで使えるのでVSTHostは使わないようになりました。


③REAPER+Reafir+ReaPitch+Voicemeeter Banana

②の構成ではGraillon2だけにするとすごく速いですが、フォルマントが調整したいのでMAutoPitchを入れることになってしまっています。②の画像のFXの中にチェックOFFになっているReaPitchでGraillon2とMAutoPitchの代わりにすることができます。
どちらかといえばReaPitch1つにしたほうが音質がいいのでピッチシフター部分をReaPitchに変更。
この画像の右上部分を②の構成でも使ってます。



④Gachikoe! Core+Voicemeeter Banana

ガチコエ! Coreはノイズが上の構成より少し多い印象ですが、声が元気な女の子という感じになりました。
ボイチェンソフトの中では遅延が少ないしピッチ1オクターブ上げられるので変換のくせだけが問題かなと思っていました。Configボタンの設定5つを理解して調整することで変換の飛びのようなものがなくなり、声の感じが一番いいボイチェンです。


①より②のほうが遅延が少なくてノイズも少ないのでVSTHostの①はナシ
②のGraillon2は低い声を出すとあまり好みではない状態になるので微妙。Graillon2単体は速いけど補助が必要になってしまうので結局遅延。
③REAPERで使えるReaPitchはかなりいいピッチシフターで、ノイズも少ないのでほぼ最高ノイズフィルタなしでいける。
④Gachikoe!はノイズこそあるものの、声が元気な感じになるので③と双璧をなす。ボイチェンとして作られただけある

Gachikoe! Coreのノイズに耐えられるならGachikoe! Coreですね。
REAPERのReaPichでノイズ少ない仕様もいいです。

ちなみにGachikoe! CoreとREAPERはどちらもVoicemeeter Insert Virtual ASIOが使えて、しかもINとOUTに別の番号を指定できます。
VSTHostやバ美声ではASIOのときに同じ番号しか指定できないのでボイチェンがエラー停止すると生声が流れてしまうのですが、
INとOUTを別番号にできるGachikoeとREAPERはボイチェンが止まったら無音になってくれるので事故防止になります。
無音はそれ自体事故ですが、まだ良いほうです。生の声が流れてしまうほうは、生声隠してる人にとっては取り返しがつきませんので(笑)

VSTHostとGachikoe! Coreは多重起動することができました。
VSTHostを2つ起動してループバックで聞く用に高速仕様、録音やDiscordに流すノイズフィルタ込みの遅延仕様の両方を使う方法を考えたりしました。
ただ、録音はOBSでズレ補正すればOKですが、Discordで通話するとなると遅い声がネットを通ってさらに遅れて相手に伝わります。ということは会話がしずらい原因になるのでやはりボイチェンに必要な要素5つは全部必要ですね。

そして通話するなら相手に聞き取りやすい低ノイズもやはり必要になってくるのではないかと思いますので、REAPERのReaPitchが現状最強なのではないかと思います。
Gachikoe! Coreではノイズフィルタについては細かく調整できないので、Reafirが追加できるREAPERは自由度と性能ともに上ですね。


YouTubeでGachikoe! Coreの設定について解説した動画を作りましたので貼っておきますね。




REAPERのReaPitchでボイチェンを作る方法も動画作りましたので貼っておきます。

2020年2月16日日曜日

ボイチェンソフト4選(低遅延かつピッチとフォルマント個別設定まで)

ボイスチェンジャーを使うと、男性が女性のような声、女性が男性のような声を出せます。

また、性別を変えなくても、声の特徴を変えることができます。

こんなときに使えます。

  • バーチャルYouTuberが性別を変えて動画を撮る。
  • オンラインゲームのボイスチャットに聞き専として参加していたけど、チャットをうつのがめんどうになってきた。ボイチャで話さないとオンラインゲームの操作が止まってしまうのでボイス必須。だけど生の声を聞かれたくない。
  • Youtubeに投稿する動画に声を入れたいけど、ボイスチェンジャーを使って声を変えたい。


ソフトによっては特殊エフェクトもあり、面白いものもありますが、ここでは実用的なものを紹介します。

実用的なボイスチェンジャーは、「ピッチ」と「フォルマント」を個別で調整できるもので、なるべく「低遅延」なものがいいと思います。

定番ソフトから、低遅延かつピッチとフォルマント個別設定可能なものまで紹介していきます。

1.恋声

おそらくボイスチェンジャーで検索して出てくる定番ソフト。
http://koigoemoe.g2.xrea.com/

「M→W」というボタンを押すだけでピッチ200%(+12)、フォルマント126%(+4)になり、
「W→M」を押すだけでピッチ50%(-12)、フォルマント75%(-5)になる。
ピッチとフォルマントを個別で調整でき、4つの設定保存ができるので簡単に使えて実用的です。

自分の声と変換後の声の時間差があるので、ボイチェン後の声を聞きながらしゃべるのは難しいです。
ウィンドウを最小化できないので、画面のどこかにずっと表示されます。
(他のウィンドウの裏側に隠すことは可能。)

私は最初、この恋声を使ってオンラインゲームのボイチャに参加していました。
ただ、声が遅れて聞こえるため、しゃべりにくいです。
変換後の声を聞いておかないと、素の声になってボイチャに流れてしまったり、ソフトが止まって相手に声が届かなくなる可能性があるので、自分の声が聞こえる設定にしています。

2.バ美声

こちらもYoutubeなどで紹介されていて定番ソフト。
https://halfsode.booth.pm/items/1177717

「音の高さ」がピッチ、「声の質」がフォルマントです。
ピッチは100~150%、フォルマントが80~120%なので、
範囲が狭く、あまり声を変えることができません。
ピッチを下げることもできないので、女性が男性の声になることもできません。

遅延は少ないので、自分の声をボイストレーニングで鍛えてから補助としてボイチェンを使う方向けです。

ボイストレーニングをしないと声があまり変化しないため、最初から使う対象からはずれてしまいました。
ガラガラ声にならないようにしゃべるくらいは自分で工夫しますが、ずっと高い声でしゃべるのは負担になると思うからです。

3.Gachikoe! Core

こちらも比較対象として定番。
https://booth.pm/ja/items/1236505

ピッチとフォルマントをスライドバーで設定することができます。
恋声を使ったことがあればだいたい分かると思います。
恋声よりは遅延が少ないので、遅延が気になっているならこちらがおすすめかなと思います。声の大きさも変えられます。
ピッチ75~200%
フォルマント75~200%

恋声で遅延が気になっていたときに探して見つけたのがこのGachikoe! Coreです。
一時期オンラインゲームのボイチャで使っていました。恋声より遅延が少ないです。
バリバリ言うようなノイズが乗りやすいのであまり音質がいいとは思いませんでしたが、ボイチャ程度ならいいかなという感じで使っていました。ささやき声や息の音など、声以外の音が入ったりすると変な音に変換されて出てきます。

4.ClownfishVoiceChanger(RoVeeプラグイン追加)

Youtubeでたまたま出てきた動画で紹介されていました。マイナーなほうかなと思います。
https://clownfish-translator.com/voicechanger/

これは、ダウンロードしてただ使うだけだと、10種類くらいのエフェクトと、「カスタムピッチ」が使えるだけの状態です。カスタムピッチではピッチだけを変えることができるので、フォルマントの調整ができません。一見これだと実用性のないソフトです。

ですが、VSTというプラグインを使うことができます。
https://clownfish-translator.com/vst/index.html
「Program Files (x86)\ClownfishVoiceChanger\vst」フォルダにVSTのdllファイルを入れるとプラグインを使えます。

RoVeeというプラグインはVSTの形式なのでClownfishで使えます。
https://www.g200kg.com/jp/software/rovee.html
RoVeeは32bitのVSTなので、Clownfishを32bitVST対応版でインストールして、RoVeeのdllファイルをvstフォルダに入れます。

ClownfishVoiceChangerは遅延がかなり少ないです。Gachikoeよりも遅延が少ないので、声を聞きながらでもしゃべりやすいです。ノイズも少ないです。

RoVeeプラグインは、ピッチとフォルマントを個別で調整できます。
ピッチは-12~12、フォルマント-100~100
恋声換算すると、ピッチ50~200%、フォルマント50~200%です。たぶん。

Clownfish自体の設定は、「Clear effect」を選んでおくことで無変換として、RoVeeのプラグイン側でピッチとフォルマントを変えます。

プログラムはタスクバーに入って最小化されるので、邪魔になりにくいですし、起動していることも確認しやすいです。

Gachikoeで若干ノイズが入るのが気になっていたのと、遅延もまだ気になるレベルだったので、さらに遅延が少なくてノイズも少ない組み合わせをフリーソフトのみで見つけることができました。
私の場合は、ピッチ&フォルマントの個別設定が使いたい範囲まであって、ノイズと遅延の一番少ないClownfishVoiceChanger+RoVeeが一番いいという結論になっています。

出力されるデバイスが挿しているマイクと同じデバイス固定になるので、ソフトを起動し忘れたりソフトがエラーで停止すると生の声が流れてしまう可能性があります。
ボイチャやライブ配信でそれが起きると事故ですねw
他のソフトはYamaha NETDUETTOなどに流すことができ、プログラムが止まったら声も出なくできるので聞かれたくない声が流れないという意味では安全です。
YouTube投稿用などの録画なら、声だけ撮ってる場合はBGMを乗せる前に音声データを抽出して変換をするとかすればリカバリーできますね。ゲームの音声が入っている場合などはもう修正効きませんが。




低レイテンシ、低ノイズ、ピッチ フォルマントの個別調整がそろっているソフトを無料で使いたいならこの組み合わせがいいかなと思います。

ピッチとフォルマントの限界比較

恋声
ピッチ25~400%
フォルマント50~200%

バ美声
ピッチ100150%
フォルマント80120%

Gachikoe! Core
ピッチ75~200%
フォルマント75~200%

RoVee
ピッチ50~200%
フォルマント50~200%

バ美声は範囲が狭いですね。
恋声のピッチはかなり高いところまで上げられますが、女声にするだけならそこまで必要ではないです。
女性が男声にするときにGachikoeのフォルマント75%はもしかしたら狭いかもしれませんので、たりない場合は50まで下げられる恋声かRoVeeでなら範囲が広くなります。

私の声の場合、だいたいピッチが200%で1オクターブ上げ、フォルマントが130~150%くらいがいいかなと思いましたので、バ美声以外の3つが使えて、現在は遅延の一番少ないClownfishVoiceChanger+RoVeeが一番いいという結論になっています。