LiveKit で turn detection と VAD はどう違うか

Question

LiveKit の音声エージェント学習では turn detection と VAD が両方出てくる。どちらも発話を扱うが、何が違うのか。

Answer

違いを一言で言うと、VAD は音声区間を検出する部品、turn detection は会話ターンをどう切り替えるかを決める制御層 だ。

VAD は、音があるか、発話が始まったか、無音になったか、といった低レベルの音声区間検出を担う。これは signal レベルの認識に近い。

一方 turn detection は、その検出結果や他の文脈情報を使って、「今ユーザーの発話が終わったと見なすか」「Agent は話し始めてよいか」「割り込みをどう扱うか」を決める。つまり turn detection は、会話体験を作るためのポリシー層である。

したがって次の切り分けが有効だ。

  • VAD: 音声活動を見つける
  • turn detection: 会話ターンを確定する
  • interruption handling: ターン切り替え時の Agent 応答制御を補助する

この見方をすると、VAD は turn detection を支える下位部品であり、同義ではない。

Evidence / Linked Notes

Follow-up Questions

  • realtime model 利用時に VAD と turn detection の境界はどう変化するか
  • VAD の閾値調整が turn 体験にどう波及するか