任意のマイク入力にエキスパンダーとコンプレッサーをリアルタイム適用し、Windows 上の全アプリケーションにフィルタ済み音声を提供する常駐ツールです。
| Dark | Light |
|---|---|
![]() |
![]() |
フィルタアルゴリズムは OBS Studio の音声フィルタ機能(GPL-2.0)から派生しています。
- OS: Windows 10 / 11
- 仮想オーディオデバイス: VB-Cable(別途インストールが必要です)
Filtflow はフィルタ処理した音声を仮想オーディオデバイス経由で通話アプリ(Discord・Teams など)に渡します。そのため事前に VB-Cable のインストールが必要です。
- VB-Cable 公式サイト からインストーラをダウンロードします
VBCABLE_Setup_x64.exeを管理者として実行してインストールします- 求められた場合は PC を再起動してください
- GitHub Releases から最新の
Filtflow_v*.zipをダウンロードします - zip を任意のフォルダに展開します
Filtflow.exeを実行します
Note: 展開後のフォルダには
source/フォルダ(ソースコード)も含まれていますが、削除しても動作に影響ありません。実行に必要なのはFiltflow.exeのみです。
起動するとウィンドウは表示されず、タスクトレイにアイコンが常駐します。
- トレイアイコンを右クリック →「Settings」で設定画面を開きます
- 入力マイクと出力デバイス(VB-Cable)を選択し、フィルタのパラメータを調整します
- 通話アプリ側のマイク設定を 「CABLE Output (VB-Audio Virtual Cable)」 に変更します
デバイスエラー時はトレイアイコンが赤に変わります。
%APPDATA%\Filtflow\config.json
初回起動時に OBS デフォルト値で自動生成されます。
# 依存ライブラリインストール
uv sync
# アイコン生成(初回のみ)
cd Filtflow/assets && uv run python create_icons.py && cd ../..
# 起動
uv run python Filtflow/main.pyFiltflow/
├── main.py エントリポイント・起動制御
├── audio_stream.py デバイス列挙・WASAPI ストリーム管理
├── compressor.py コンプレッサーフィルタ(OBS 準拠)
├── expander.py エキスパンダーフィルタ(OBS 準拠)
├── config.py 設定値の定義・ロード・保存
├── ui.py 設定 UI(PySide6)
├── tray.py タスクトレイ常駐(QSystemTrayIcon)
├── filtflow.spec PyInstaller ビルド設定
└── assets/
├── create_icons.py icon.png / icon.ico 生成スクリプト
├── icon.png トレイアイコン(create_icons.py で生成)
└── icon.ico exe アイコン(create_icons.py で生成)
# アイコンが未生成の場合
cd Filtflow/assets && uv run python create_icons.py && cd ../..
cd Filtflow
uv run pyinstaller filtflow.spec
# → Filtflow/dist/Filtflow.execonsole=False でコンソールウィンドウは表示されません。
本プロジェクトは GNU General Public License v2 or later (GPL-2.0-or-later) の下で公開されています。
本プロジェクトの音声フィルタは、 OBS Studio の音声フィルタ機能(C 実装)を参考に Python で再実装したものです。 OBS Studio は GPL-2.0-or-later でライセンスされており、本プロジェクトも同じく GPL-2.0-or-later に従います。

