0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NIVDIA PersonaPlex を aws ec2 で試す

Last updated at Posted at 2026-01-27

目的

  • PersonaPlex を aws ec2 で動作させ, 簡単に体感してみます
  • setup 方法を記述します

PersonaPlex とは

nvidia が公開した全二重(フルデュプレックス)対話型音声モデル

  • 自然な間での会話
    • 発話途中での割り込みや相槌
    • 人間の様な超低遅延での応答
  • テキストプロンプトでロールを付与可能
  • 英語のみ対応

概要

以下サイトを参照すると分かりやすいと思います

参考動画

以下, 実際に英語で会話している様子を伺えます
// 自動日本語翻訳を用いましたが, 不自然さは伝わってきます

所管から

  • 自然な間 での対話が出来る事から, AI と自然に音声対話する未来が垣間見えます
  • 現状では一見会話が出来ているようで, 内容は不自然になります
    • 同一の文章を十数回繰り返す
    • きれいな音声から不気味な音声へ変化する
    • 話題を無視する, 無理矢理曲げる, 噛み合わない

など, 対話として不自然さが目立ちます
実用性は低い状態と思われますが, 将来に期待を持てます

// default の状態で試行したので, 何らかの設定でより良くなる可能性はあるかもしれません

準備

hugging face account / token 作成

hugging face の account を事前に作成し, token を発行しておきます

https://huggingface.co/join
https://huggingface.co/settings/tokens

hugging face 利用許諾

presonaplex のページを開くと利用許諾のメッセージが表示されるので同意します

利用する ec2 instance type

  • intance type
  • OS
    • Deep Learning OSS Nvidia Driver AMI GPU PyTorch 2.9 (Ubuntu 24.04)
  • 補足
    • mem, gpu mem 共に 20G 以上必用となる様です.
    • GPU に model をロードすると通常状態で 20G 程使用していました

ec2 network 確認及び設定

  • aws ec2 の server の IP を控える
  • port 8998 を開く // 自身のIPのみ許可が安全と思います

setup

主に github の内容を元に setup します

sudo apt upgrade
sudo apt install libopus-dev

git clone https://github.com/NVIDIA/personaplex.git
cd personaplex


pip install moshi/.

# 準備段階で作成した hugging face token を記述
export HF_TOKEN=<YOUR_HUGGINGFACE_TOKEN>

SSL_DIR=$(mktemp -d); python -m moshi.server --ssl "$SSL_DIR"

以上で サーバーが起動します

hugging face 設定の補足

私は以下では上手く hugginface へアクセスできなかったので

export HF_TOKEN=<YOUR_HUGGINGFACE_TOKEN>

huggingface-cli コマンドでログインしたところ動作しました

ブラウザから接続

準備段階で控えた IP を用い, 以下でアクセスします.
https://xxx.xxx.xxx.xxx.:8998

以下の様なページが開き, 実際に動作を試す事ができます
スクリーンショット 2026-01-28 0.19.40.png

offline mode

音声ファイルを与える事で, その音声に対する応答音声ファイルを作成出来るようです

実行方法

HF_TOKEN=<TOKEN> \
python -m moshi.offline \
  --voice-prompt "NATF2.pt" \
  --input-wav "assets/test/input_assistant.wav" \
  --seed 42424242 \
  --output-wav "output.wav" \
  --output-text "output.json"

どういったファイルが作成されるのか

前提
   入力ファイルと出力ファイルは同時再生で1つの会話になる

入力ファイル (人間側)
    - 発話 > 無音区間 > 発話 > 無音区間 → ...
    - 無音区間 = AI応答を待つ間(想定)

出力ファイル (AI側)
    - 無音区間 > AI応答 > 無音区間 > AI応答 → ...
    - 入力の無音区間に対応する位置にAI音声が配置される
    - 入力音声は含まない (AI応答のみ)

同時再生時のイメージ:
    入力 : [ 質問 ]  [------] [返答]    [------]  [返答]
    出力 : [ ─── ]  [AI応答]  [------] [AI応答]   [---]

offline mode の性能に関する所見

  • 現状
    • 上述のサンプルの処理に132秒を要する (大部分はモデルロード時間と推定)
  • 見通し:
    • モデル常駐が可能であれば実用的な速度になると思われる
    • server mode 同様に対話品質問題が存在するなら, 自然な音声生成は難しいと思われる

以上となります.

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?