> For the complete documentation index, see [llms.txt](https://docs.digitalhumans.jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalhumans.jp/dev/miniprem/services/renny.md).

# Renny

{% hint style="info" %}
**Renny:** Unreal Engine を採用したデジタルヒューマン用レンダラー（開発コード：Renny）です。リアルタイムの表情アニメーション、リップシンク、ジェスチャー機能を提供します。ヘルスエンドポイントは `http://localhost:8081/health` です。
{% endhint %}

本ガイドでは、ミニプレム（MiniPrem）プラットフォームのうち、人と人との対話に近い体験のための視覚的なインターフェースを提供する Renny コンポーネントについて説明します。

{% hint style="warning" %}
前提条件を満たす環境の準備はお客様の責任において実施いただきますようお願いいたします。デジタルヒューマン株式会社では前提条件を満たすための環境構築のサポート、ドライバー等の不具合に対する対応作業は提供しておりません。
{% endhint %}

{% hint style="warning" %}
2026年6月現在、デジタルヒューマン株式会社の正式サポート対象はデフォルト（Default Install）の Renny のみです。フルインストール（Full Install）に含まれる Renny 以外のサービス（vLLM、Flowise、RIME AI、NVIDIA RIVA、Whisper など）はサポート対象外です。
{% endhint %}

## 概要

Renny は 最先端のテクノロジーを活用したデジタルヒューマンのアバターであり、AI とのやり取りに視覚的なインターフェースを提供します。内部の音声処理システムが顔のアニメーション、リップシンク、ジェスチャーを統合的に扱うことで、信頼性と性能を高めながら、より没入感のある対話体験を実現します。

## Renny へのアクセス

* **ヘルスエンドポイント**: <http://localhost:8081/health>
* **コンテナ名**: `renny`

## アーキテクチャ

Renny コンポーネントは、以下の各サービスと連携します。

1. **内部音声処理**: 内蔵システムが音声を顔のアニメーションに変換します
2. **デジタルヒューマン プラットフォーム**: デジタルヒューマンのレンダリングを管理します
3. **Azure Speech Services**: TTS（音声合成）のオプションのフォールバックとして利用できます

## 構成設定

### メイン設定ファイル

Renny の主要な設定は `docker/configuration.dat` に保存され、以下の項目を含みます。

* **Server**: デジタルヒューマン プラットフォームのエンドポイント
* **TenantId**: テナント識別子
* **JWSSecret**: デジタルヒューマン プラットフォームへの認証トークン

### 環境変数

`docker/docker-compose.env` 内の主な環境変数は次のとおりです。

* **USE\_V2\_COORDINATOR**: V2 体験コーディネーターのステートマシンを選択します。`1`、`true`、`on`（大文字・小文字を区別しません）を受け付けます。LaunchDarkly にアクセスできない MiniPrem 環境向けに設計されています。現状はオプションですが、将来のリリースでデフォルトになります。
* **DHOP\_ADDRESS**: デジタルヒューマン プラットフォームのアドレス
* **DHOP\_APIKEY**: デジタルヒューマン プラットフォームの API キー
* **DHOP\_TENANTID**: テナント ID
* **AZURE\_REGION**: Azure の音声サービスのリージョン（オプションのフォールバック）
* **AZURE\_SPEECH**: Azure 音声サービスのキー（オプションのフォールバック）

## ヘルスモニタリング

Renny のヘルス状態は次のコマンドで確認できます。

```bash
curl -f http://localhost:8081/health
```

このエンドポイントは、サービスの現在の状態と、依存サービスへの接続状況に関する情報を返します。

## ネットワーク構成

Renny は最適なパフォーマンスを得るため、ホストネットワークモードで動作します。

```yaml
network_mode: "host"
```

これにより、Docker のネットワーク分離を介さずに、システムのネットワークインターフェースへ直接アクセスできます。

## GPU アクセラレーション

Renny はレンダリングに NVIDIA GPU アクセラレーションを利用します。

```yaml
runtime: nvidia
```

これにより、滑らかなアニメーションと自然な表情表現を実現します。

## LLM との統合

Renny と LLM（Flowise 経由）の統合は、次のように動作します。

1. ユーザーの入力（テキストまたは音声）を受け取ります
2. 入力が Flowise／vLLM パイプラインで処理されます
3. レスポンスが Renny の内部音声システムによって音声に変換されます
4. 内部音声処理が、発話と同期した顔のアニメーションを生成します
5. Renny が、応答を発話するアバターを高い信頼性でレンダリングします

## 高度なカスタマイズ

### レンダリングのオプション

Renny はコマンドラインパラメータで各種レンダリング設定を変更できます。

```
-RenderOffScreen  # Headless rendering
-ResX=1920        # Horizontal resolution
-ResY=1080        # Vertical resolution
```

ヘッドレスではなくグラフィカル表示を行いたい場合は、Docker の設定を以下のように変更します。

```yaml
# Uncomment for visual rendering
environment:
  - DISPLAY=$DISPLAY
volumes:
  - /tmp/.X11-unix:/tmp/.X11-unix
  - ~/.Xauthority:/home/ue4/.Xauthority
```

### 音声処理の設定

内部音声処理システムは現在デフォルトとなっており、V2 体験コーディネーターによって管理されます。有効化するための個別のスイッチは不要です。LaunchDarkly にアクセスできない MiniPrem デプロイメントで V2 コーディネーターのステートマシンを選択するには、環境変数 `USE_V2_COORDINATOR=1` を設定してください。

そのほかの音声処理パラメータは次のとおりです。

* **リップシンク**: 口の動きの精度に関する組み込みコントロール
* **表情の強度**: 表情の強さを自動で調整
* **まばたきパラメータ**: まばたきの頻度やスタイルに関する組み込み制御

## トラブルシューティング

### よくある問題

1. **映像が出力されない**:
   * `-RenderOffScreen` が有効になっていないか確認します
   * GPU ドライバーとレンダリング機能を検証します
2. **アニメーション品質が低い**:
   * 内部音声処理のログを確認します
   * `USE_V2_COORDINATOR` が `1`（または `true` / `on`）に設定されているか確認します
3. **接続の問題**:
   * デジタルヒューマン プラットフォームへの接続性を確認します
   * ネットワーク設定とファイアウォールのルールを確認します
4. **音声と映像の同期に関する問題**:
   * 内部音声システムは同期を自動的に処理します
   * レンダリング遅延が発生していないかシステム性能を確認します
   * GPU リソースに余裕があるかを確認します
