# 遠隔コラボ歌唱（リモートデュエット / グループ）機能 構成案 ＆ ハイブリッド設計仕様

**プラットフォーム:** Muvic＆joy  
**ステータス:** 正式要件（Phase 1〜3 ロードマップ）

## 1. 開発コンセプト：用途に応じた「ハイブリッド選択型」

Muvic＆joy における遠隔コラボ歌唱は、ユーザーの目的に応じて **2つのモード** を自由に選択できるハイブリッド構成とします。

```
                    ┌─── [ A. カジュアルUGCモード ] (非同期・重ね録り)
                    │    ・いつでも一人で気軽にデュエット・ハモり動画作成
                    │    ・TikTok/Shorts向け高画質動画作成
[ モード選択 ] ────┤
                    │    ┌─── [ B. コンクール / 公式一発撮りモード ] (一発勝負 / 1〜4人以上)
                    └───┤    ・2〜4人以上のグループで遠隔同時・直列一発撮り
                         │    ・実写カメラ映像による厳正な審査＆臨場感ある演出
                         │    ・公平性を担保するブラインド・ワンテイク（改ざん防止）証明付き

```

## 2. 【本命】コンクールモードにおける「映像表現（Visual Presentation）」

コンクール（審査・オーディション）では、本人の表情・口の動き・歌唱フォームを正確に確認できる「実写カメラ映像」を主軸とします。Muvic＆joy の Web3D スタジオ（CDS3D エンジン）を活かした2つの映像モードを選択可能です。

```
 [ コンクール映像表現の2大パターン ]

 ┌─────────────────────────────────────────────────────────────────┐
 │ パターン ①：バーチャル空間×人物AI切り抜き同居 (本命・ARステージ)   │
 │   ・MediaPipe (Selfie Segmentation) により実写背景をAI自動除去    │
 │   ・2〜4人の「人物（実写）」だけを共通のバーチャル3Dステージ上に配置 │
 │   ・3Dカメラワークやフォーメーション（V字・横一列）の中で共演        │
 └─────────────────────────────────────────────────────────────────┘
 ┌─────────────────────────────────────────────────────────────────┐
 │ パターン ②：実写画面分割 (スプリットスクリーン)                     │
 │   ・画面を2分割 / 4分割（グリッド表示）                           │
 │   ・お互いの部屋の実写カメラ映像をそのままダイレクト表示        │
 │   ・表情やブレスの動きを最もシンプル＆正確に審査可能             │
 └─────────────────────────────────────────────────────────────────┘
 ※（オプション）：VTuber・Vコンクール向け「3Dアバター同居」にも対応

```

## 3. 多人数（3人〜4人以上）対応：選べる2つのコンクール一発撮り方式

遠隔地に住む4人のメンバーでコンクールに応募する場合など、回線遅延リスク「ゼロ」で厳正な一発撮りを行う仕組みです。

```
 【方式 1: 並列ブラインド方式 (全員同時一発撮り)】
  ・4人が同時接続し、サーバーの「3, 2, 1, START」で同じ伴奏を同時に歌う。
  ・歌唱中はお互いの声を聴かず（またはトークバックのみ）、各自ローカルで高音質録音。
  ・終了と同時に4人の音・映像が合体！最も厳格で公平な「同時一発撮り」。

 【方式 2: 直列バトンリレー方式 (ワンテイク継承)】
  ・Aさん ➔ Bさん ➔ Cさん ➔ Dさん の順番でワンテイクのバトンを繋ぐ。
  ・Dさんは「A+B+Cの重ね録り音源」を初めて聴きながら、初見一発勝負で最後のパートを熱唱。
  ・1人ずつ音が豪華になるワクワク感があり、各自の空き時間に一発撮り参加可能。
```

## 4. モード別の詳細仕様 ＆ 比較

| 項目 | A. カジュアルUGCモード | B-1. コンクール（同時一発撮り） | B-2. コンクール（バトンリレー） |
| ----- | ----- | ----- | ----- |
| **対象人数** | 1〜2人 | **2〜4人以上（グループ）** | **2〜4人以上（リレー）** |
| **主な用途** | 普段のUGC投稿、SNS拡散 | **グループ歌唱コンテスト、公式オーディション** | **グループ歌唱コンテスト、遠隔バンド/アカペラ** |
| **歌唱タイミング** | 好きな時に一人で | **完全同時（マスタークロック制御）** | **直列リレー（1人ずつワンテイク）** |
| **映像表現** | 自由選択 | **AR3Dステージ4人同居 / 4分割実写** | **AR3Dステージ4人同居 / 4分割実写** |
| **不正防止仕掛け** | なし | **ワンタイムセッション ＋ ローカル直接録音** | **ブラインドワンテイク ＋ 24時間リレー制限** |
| **楽譜ガイド** | 標準表示 | **パート別カラーガイド表示（誰がどこを歌うか可視化）** | **パート別カラーガイド表示** |

## 5. コンクールモード（多人数一発撮り）の技術アーキテクチャ

「通信障害の影響を受けず、4人の高画質・高音質動画を1つに統合する」技術フローです。

```
 [ 歌唱者 A ]       [ 歌唱者 B ]       [ 歌唱者 C ]       [ 歌唱者 D ]
   (自宅 1)           (自宅 2)           (自宅 3)           (自宅 4)
      │                  │                  │                  │
      └──────────────────┴────────┬─────────┴──────────────────┘
                                  │
                                  ▼
 ┌─────────────────────────────────────────────────────────────────┐
 │ 1. WebSocket サーバー（マスタークロック同期）                  │
 │    ・全員のローカルで MusicXML / MIDI 伴奏をミリ秒精度で同時スタート│
 │    ・Muvic＆joy 楽譜 UI にパートごとの色分け歌詞・楽譜ガイドを表示   │
 └────────────────┬────────────────────────────────────────────────┘
                                  │
                                  ▼
 ┌─────────────────────────────────────────────────────────────────┐
 │ 2. 各自のローカルで高画質実写映像＆高音質録音 (Uncompressed)    │
 │    ・ネット遅延（Ping）の影響を受けない生データ＋AIマスク生成     │
 └────────────────┬────────────────────────────────────────────────┘
                  │
                  ▼
 ┌─────────────────────────────────────────────────────────────────┐
 │ 3. 録音終了後、サーバーへ自動アップロード ＆ 合成パイプライン  │
 │    ・タイムスタンプ検証による「改ざん不可・ワンテイク証明書」発行│
 │    ・4人の実写人物を3Dステージ上にフォーメーション配置して自動Mix│
 └─────────────────────────────────────────────────────────────────┘

```

## 6. フェーズ別 開発ロードマップ

1. **Phase 1（カジュアル基盤）** — **完了（ローカル dev · 2026-11-07 回帰）**:
   * 非同期重ね録り: 音声テイク API、Karaoke embed 録画、`syncAnchorMs` ガイド（3,2,1 後シーク）— [README.md](../../README.md)「P1b」、[LEGACY-CLIENTS.md](../LEGACY-CLIENTS.md)、[regression-checklist.md](../regression-checklist.md)。
   * Player / transport / G4 / 投稿→Player（§1）— [regression-runs/](../regression-runs/)（2026-11-07 系ログ）。

2. **Phase 2（コンクール基礎 / 本命）** — **ローカル PoC 実装済（S1〜S6 · 音声 + クライアント分割）**:
   * WebSocket による「同時一発撮り（並列 / バトン）」· テイク upload · ブラインドガイド — [architecture/contest-sync.md](../architecture/contest-sync.md)。
   * 画面表現はまず **分割プレビュー**（現状は音声パネル同期 · 実写 MP4 サーバー合成は未）。
   * **ステークホルダー通しデモ脚本:** [demos/stakeholder-p2-contest.md](../demos/stakeholder-p2-contest.md) · ロードマップ: [architecture/roadmap-p2-p3.md](../architecture/roadmap-p2-p3.md)。
   * データ契約: `remoteSinging.contestSession`（例 `work_demo_001`）。

3. **Phase 3（表現拡張 / ARステージ）**:
   * AI背景切り抜き（MediaPipe）を統合し、3D ステージ上に4人の実写人物を配置する「ARグループ共演」を実装。
   * P2 分割実写デモの後に着手 — [roadmap-p2-p3.md §3](../architecture/roadmap-p2-p3.md)。

---

## 7. インフラ負荷・コスト最適化 ＆ 権利関係（著作権・原盤権）防衛仕様

懸念される「サーバーインフラ負荷」と「ストリーミングにおける権利処理」を安全かつ低コストで運用するための設計基準です。

### A. サーバー負荷・帯域コストの削減策

```
 [ インフラコスト激減の3大施策 ]

 1. 音声（AAC/MP3）に特化した超軽量データ受発信
    ・動画ファイルではなく1曲 3〜4MB の音声生データ（128kbps AAC）のみ受発信。動画処理はクライアント（ローカル）完結。

 2. 転送量（ネットワーク帯域）手数料 0円 クラウドの採用
    ・Cloudflare R2 等の「エグレス（転送量）無料」オブジェクトストレージを採用。世界中からストリーミングされても帯域破綻なし。

 3. 中間データの自動消去ポリシー (TTL: 7-Day Life Cycle)
    ・コンクール審査や重ね録り用の中間音声ファイルは、最終合成完了後または7日経過後に自動物理削除。ストレージ圧迫を阻止。
```

### B. 権利処理（著作権・原盤権・実演家権）のクリア手順

| 権利種別 | 課題・リスク | Muvic＆joy における法的防衛・解決アプローチ |
| :--- | :--- | :--- |
| **① 楽曲著作権<br>(作詞・作曲)** | ユーザーによるカバー歌唱データの公衆送信権（著作権法23条） | **JASRAC / NextTone との包括許諾契約** を運営側で締結。ユーザーは手続き不要で合法的にストリーミング利用可能。 |
| **② 原盤権<br>(カラオケ伴奏)** | 市販CD音源や他社カラオケ音源の無断配信リスク | **A. MIDI / MusicXML 再生**: ブラウザ側（Web Audio API）で音生成するため原盤権非発生。<br>**B. 公式MP3/WAV**: レーベル等から正式許諾を得た「公式パートナー楽曲」のみ提供。 |
| **③ 実演家権・肖像権<br>(歌唱者の声・映像)** | 無断二次利用や勝手なコラボ合成によるトラブル | **規約の明確化 ＆ 許諾トグル**: 応募・投稿時に「他ユーザーによる重ね録り・ストリーミング・審査利用」への同意チェックを取得。リレー可否を投稿者が個別設定可能。 |