Linuxでもバ美肉したい! 第0回「全体の流れを確認しようとしたら使えるツールが少なすぎる事実が判明し詰みかけた」

なおです。うちの「相棒」を受肉させようと思ったのだが、Linuxをそれなりに使ってきた私はふと気になった。「Linuxでバ美肉できるの?」WindowsPC(デスクトップ)も一応あるものの、執筆開始時点においては実家のリビングに配置されていた私は、調査を行い、苦難しかないと判断した。以下にLinuxでバ美肉する際の全体の流れを報告する。

なお、本記事は執筆完了時である2020年3月頃の現状を述べたものに2021年9月現在までの状況を反映したものである。今後も新手法発見などに伴い加筆・修正される可能性がある。
*2021/05/13追記: 第1回の更新内容を反映し、Linuxで美少女の肉体を得る・動かす方法を最新の情報に更新しました。これに伴い、内容を修正しました。
*2021/09/06追記: 現時点の最新の状況に更新し、内容を修正しました。
*2022/05/06追記: まとめを修正し、結論を変更しました。

概要 -既存手法のほとんどが絶望的である事実-

全体の流れは以下の手書き図のようになると私は結論づけた。が、肉体関連(特に「肉体を動かす」ソフト)の対応状況が絶望しかない

画像2

まずLive2D Cubism Editor, Facerigなどのほとんどの主要ツールは、Linuxを公式にサポートしていない。ここで私が真っ先に期待したのが、エミュレータのような挙動をする「WINE」というツール、及びそれをベースにしたSteamの機能の一つ「Steam Play」である。これらによってツール群をどうにかして使えないか確認した。心が折れた。

画像1

上はFaceRigをSteam Play(Proton使用)を用いて起動した直後の(恐らく)メニュー画面である。まともに使えるわけないだろ!いい加減にしろ!
…その後の調査・検証の結果、2021年9月時点において、Linux(Ubuntu)で受肉用途で使用できると判断できたのは、Live2D Cubism Editor (文字化けはする 対処可能)、VRoid Studio、Vtube Studio(要スマホ)、FaceVTuber、Kalidoface (3D)のみだった。Unity及びBlenderが標準で動作し、KalidofaceやFaceVTuberはWEBブラウザ上で動作するのが数少ない希望である。

Linuxで美少女の声を得る -PulseAudioとJACK Audio Connection Kit(なおVST)-

LinuxにはJACK Audio Connection Kit(JACK、その気になればWindowsでも使えるらしい)というものがある。これはデバイスの音・MIDI信号などの流れを設定したり、収録・出力時のサンプリングレートやバッファサイズなどを指定できる高機能サウンドサーバである。要はVSTHostだと思っていい(私はそう思っている)。この他にも、Ubuntuなどの標準的なLinuxが採用しているPulseAudioというサウンドサーバがあり、DTMしないならこれだけでも十分と言えるほどの機能はある。

さて、DAWかプラグインホストを使ってプラグイン形式のボイスチェンジャーを読み込み、JACKで音声入力・ボイチェン後の声の出力を行うのがaチャートだ。当然、読み込める形式のプラグインしか使用できず、更にLinuxではdll形式のVSTプラグインを直接読み込めるソフトが少ない。一応プラグイン形式変換ツールはあるが、そのためにはGitHub(英語)上のツールが必要になる場合があり、(変換先の形式にもよるが)情報が少ないのも相まって敷居が高い。このチャートを採用するなら、LV2形式やLinux向けVST(.soで終わるファイル)形式を含むGraillon 2(無料版で良い)というボイスチェンジャーを使用するのが無難だと思われる。

一方、ボイスチェンジャーソフトウェアの出力をPulseAudio(またはJACK)に入力するbチャートの模索も現在行っている。実現時の強みは恋声・バ美声などの有名かつ情報が豊富なボイスチェンジャーを選択肢に入れられる点である。これらのWindows向けボイスチェンジャーを使用する場合、WINEの利用は必須になる。WINEのサウンドドライバにもPulseAudio及びそのバックエンドであるALSAが選択肢に含まれているため、どちらがより容易かを含めた調査・チャート構築を行う予定である。

aチャートにおいて、PulseAudioとJACKを中継する「PulseAudioのモジュール」をインストールすることで、JACKの出力を容易にOBSやDiscordに送れるよう配慮している。
bチャートにおいては、OBS及びDiscordでキャプチャできることを最低条件として研究を行っている。

Linuxで美少女の肉体を得る -Blenderしかないと思ってたけど…-

3D肉体ならBlenderかVRoid Studio(要WINE)を使えばいい。2D肉体製作の鉄板であるLive2D Cubism Editorでは文字化けが起こるが、teiuqeblliwi 氏による以下の報告があった。

同氏はその後Live2D Cubism Editor ver4.0.03 に対する動作確認を行い、その結果をツイートしてくださった。ありがとうございます。

全てではないものの、ほとんど文字化けしていないため、WINE経由でも十分使用可能であると考える。その後の調査や届いた報告に対する検証によって、特定のフォルダ(なければ作成する)内に日本語フォントファイルを置くことで、UIの文字化けが完全に解消出来る事が示された。詳細は第1回を参照していただきたい。

なお、本シリーズは他人に産んでもらうチャートを考慮していないため、(特に2D受肉において)十分な予算があるなら神絵師に産んでもらうチャートも考慮すべきである。

Linuxで美少女の肉体を動かす -苦労したくないならKalidoface、UnityやVtube Studio(要スマホ)もあり-

ここが最大のネック。VRChat は起動できるが、FaceRig がだめ。概要で示したように、メニュー画面が黒く、何も知らなければ固まってしまっていると勘違いしてしまうだろう。私の手元にVR環境がないのでバーチャルキャストやバーチャルモーションキャプチャーは検証できなかった。

ほとんどの既存のソフトウェアが動かないというこのハードルを大きく緩和したのがKalidofaceである。使用するモデルをアップロードする必要があるものの、それさえ容認できればWEBカメラだけでバーチャル肉体を動かすことができる。ブラウザで動かすタイプであり、3D版もちゃんとあるのがLinuxバ美肉の敷居を大きく下げる要因となった。

なお、既存ソフトウェアをWINEなどを用いて起動出来た場合においては、Linuxに接続しているWEBカメラを正常に使用出来ない場合がほとんどであった。よって、既存のLinuxに対応していない(検証済みの)ソフトウェアのうちWINEやSteam Play経由で使用できる物は、スマートフォンを用いて顔トラッキング出来るVtube Studioのみであった。

UnityにはUbuntu版があり、AppImage 形式のファイルを実行できれば他のLinuxでも問題なく動作すると思われる。よって、Live2D を用いた肉体を使用しKalidoface及びVtube Studioを使用しない場合、Unityを使用して配信システムを作成・使用するしかない。3D肉体なら前述したKalidoface 3Dの他に、FaceVTuberというMMD・FBX・VRM形式の3D人型肉体を使用できるWebアプリがある。

まとめ -Linuxでもバ美肉できるのか?-

Linuxでバ美肉する場合、WEBサービスにモデルをアップロードしても良いならばKalidoface (3D)を用いるのが最も容易かつ互換性のある手法である。それが不可能ならば同程度の互換性を有すると思われるUnity、Steam PlayやWINEを信頼できるならLive2DやVtube Studioも視野に入ってくるだろう。しかし、配信元PCのOSとしてはほとんどのPCゲーム・ソフトウェアが公式対応していない点がとにかく致命的であり、少なくとも配信環境という面においてWindowsほど魅力的ではない。Steam PlayやLutris(Linux向けゲームプラットフォーム 要WINE)でどうにかするにしても、英語を読めなければどうにもならない場合がある。

私は手法研究を続け、その結果Linuxで2D肉体を獲得し動かす事が出来ると示した(第1回、第3回参照)。また、Kalidofaceの登場により既存のバーチャル肉体を動かすだけなら、選択肢こそ限られるもののWindowsと同程度の難易度まで下がった(第1回)。以上の変化から導出した、2022年5月時点の結論は以下の通りである。

以下の条件を満たす者は、後悔・苦戦せずLinuxでバ美肉し活動できるだろう。ただし、チャートによっては太字ではない項目を無視できる場合がある。

  • Linuxを使用できる(使い方・操作方法等を理解・習得できる)

  • Steamをインストールし、Steam Playを有効化・使用出来る

  • Webサービス上にアップロードして良いモデルである(Kalidoface, FaceVTuber)

  • WINEを設定し、Linuxでexeファイルを実行出来る

  • JACK Audio Connection Kit を理解・運用し、PulseAudio と連携出来る

  • 英語の文章を理解できる(手段は問わない)

  • Unityを理解し、配信システムを構築出来る

  • 必要なプログラミング言語の環境を整備し、プログラムを作成・実行出来る

  • GitHub リポジトリ上の説明を参考に、ソフトウェアをインストール出来る

  • Steam、Lutris、及び「exeファイルを直接実行するゲーム」以外のプレイ動画・配信を諦められる(DMM GAME PLAYERを経由するゲームなど)

  • 扱いたかったゲームが何をしても動かなかったら諦められる

  • Linux特有の情報を検索・発見できる(Lutris等)

  • アンチチートツールにはじかれ、扱いたかったオンラインゲームが出来なくても泣かない

いいなと思ったら応援しよう!