- ターン検出は音声AIスタックにおいて最も重要な機能の1つであり、人が話しているときに音声エージェントが応答すべきタイミングを決定する技術
- ほとんどの音声エージェントはVAD(Voice Activity Detection)ベースで音声を発話区間と無音区間に分けており、音響的・言語的な意味は反映されない
- 人間は文法、抑揚、話す速度などの複雑な信号を通じてターン検出を行う
- 目標: VADベースのアプローチよりも人間の期待値に近いモデルを構築する
- オープンソースを基盤としたコミュニティ主導の音声ターン検出モデル開発プロジェクト
- BSD 2-clauseライセンス → 誰でも利用、フォーク、貢献が可能
- プロジェクトはPipecatエコシステムで始まった
- Pipecat: オープンソースのベンダー中立な音声およびマルチモーダルAIフレームワーク
- プロジェクト目標
- 高レベル目標
- 誰でも簡単に使える
- 本番環境へ容易にデプロイできる
- 特定アプリケーション向けに手軽にファインチューニングできる
- 現在のモデルの限界
- 英語のみをサポート
- 比較的遅い推論速度: GPUで約150ms、CPUで約1500ms
- 学習データは主にセグメント末尾で発生する未完の発話(filler words)中心
- 中期目標
- 多言語対応
- 推論時間: GPUで50ms以下、CPUで500ms以下
- より幅広い音声ニュアンスを学習データに反映
- 完全な合成データ生成パイプラインの構築
- テキストベースのコンディショニングをサポート(例: クレジットカード、電話番号、住所入力など)
- モデルアーキテクチャ
- Meta AIのWav2Vec2-BERTバックボーンベース(パラメータ数: 580M)
- 143言語、450万時間の自己教師なし学習音声データを使用
- 現在のモデル構造:
- Wav2Vec2-BERT → 2層分類器(classification head)
- Hugging FaceのWav2Vec2BertForSequenceClassificationを使用
- 実験中のアーキテクチャ:
- シンプルな分類器がデータセット拡張時にも有効かをテスト中
- より複雑な構造の導入可能性を検討中
1件のコメント
Hacker Newsの意見
pipecatを使ったことがあり、良かった。だが、ネイティブにコンパイルできてエッジデバイスで実行できる sherpa-onnx に切り替えた
今日、いくつか興味深い更新があった
README でほとんどの答えが得られた。よく書かれていた
Wav2Vec2-BERT のファインチューニングに必要なリソースと規模を共有してもらえるのか気になる
ターン検知が何なのか気になる
この技術がさらに進歩していくのを見るのはうれしい
HF 自閉症診断を受けた者として、この技術をイヤーピースに応用したい
いくつかのターンベースモデルを見たが、実装は非常に似通っている。この技術がどう進化していくのか楽しみ
Vedal が Neuro-sama のモデルにこの技術を統合してくれたらいいのに。osu ボットから AI Vtuber へと変身した事例
複数話者をサポートしているのか気になる
フォーク中