「誰がいつ話したか」を音声ストリームからリアルタイムで識別するリアルタイム話者ダイアライゼーション「diart」を動かす

初めに

リアルタイム話者ダイアライゼーションのためのPythonフレームワークです。「誰がいつ話したか」を音声ストリームからリアルタイムで識別します。

開発環境

環境構築

システム依存関係をインストールします

brew install portaudio libsndfile ffmpeg

プロジェクトの公式推奨しているため,Python 3.10 仮想環境の作成をします

uv venv --python 3.10
source .venv/bin/activate

次にdiartのインストールします

uv pip install -e .
uv pip install -e ".[tests]"

3までのライブラリをインストールしただけだと依存関係のエラーになったため,以下の対応を入れました

uv pip install "pyannote.audio<3.1"
uv pip install "torchaudio>=2.0.2,<2.1"
uv pip install "torchvision==0.15.2"
uv pip install "pytorch-lightning>=2.0,<2.1"
uv pip install "huggingface_hub<1.0"

また以下の二つは事前に申請をしておきます

huggingface.co

実行

マイクからリアルタイムで実行する場合は,以下のコマンドを実行します

diart.stream microphone

今回は複数話者の話者分離として複数人が話している動画を使って実行しました。

diart.stream 音声ファイルのパス

以下のようなGUIで可視化されます