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
- LiveKit Turn Detection
- LiveKit STT and TTS
- Turn Detection and Interruptions
- Silero VAD plugin
- Adaptive Interruption Handling
Follow-up Questions
- realtime model 利用時に VAD と turn detection の境界はどう変化するか
- VAD の閾値調整が turn 体験にどう波及するか