Skip to main content

ADR-003: 音声コーデック選択(複数対応)

Context

音声伝送に使用するコーデックの選択が必要。

選択肢:

  • 非圧縮PCM: 遅延最小、帯域大
  • Opus: 低遅延コーデック標準、高品質、可変ビットレート
  • FLAC: ロスレス圧縮、遅延中程度
  • AAC: 一般的、ライセンス問題あり
  • MP3: 遅延大、非推奨

要件:

  • 遅延最小化
  • 音楽品質(楽器演奏に耐える)
  • 帯域効率(インターネット越し)

Decision

複数コーデックを選択可能とする:

  1. 非圧縮PCM: LAN内、超低遅延重視
  2. Opus: インターネット越し、標準使用
  3. FLAC: 録音用、ロスレス重視

ユーザーはプリセットまたは手動で選択できる。

Consequences

非圧縮PCM

項目
遅延0ms(コーデック起因)
帯域約1.5 Mbps/ch (48kHz/16bit)
用途LAN内ジャムセッション

Opus

項目
遅延2.5ms〜(フレームサイズ依存)
帯域64-256 kbps
用途インターネット越しセッション

Opusは2.5ms、5ms、10ms、20msのフレームサイズに対応。jamjamでは2.5ms〜5msを推奨する。

FLAC

項目
遅延フレームサイズ依存
帯域約800 kbps/ch(可変)
用途ロスレス録音

実装方針

  • デフォルト: Opus 128kbps
  • プリセット「ultra-low-latency」: 非圧縮PCM
  • プリセット「high-quality」: Opus 256kbps
  • 録音時: FLAC(オプション)