このツールは、心音図(PCG)解析のためのヒューリスティックベースのアルゴリズムです。 心音のオーディオ録音を解析して心拍を検出し、時間経過に伴う心拍数(BPM)をグラフ化します。
心拍数グラフを生成するだけで十分ですが、詳細な情報が必要な場合のために他のオプションも用意されています
このスクリプトにはデバッグ用のスペクトログラムビューが含まれていますが、生成に非常に時間がかかります

bpm_analysis.py エンジンのすべての調整可能パラメータは config.py に配置されています。
パラメータは論理的なカテゴリに整理され、ナビゲーションと調整が容易になります。
- 複数フォーマットオーディオサポート: WAV、MP3、M4A、MOVなどの一般的なメディアファイルを受け付け、解析用に.wav形式に変換します。
bpm_analysis.py エンジンのすべての調整可能パラメータは config.py に配置されています。
パラメータは論理的なカテゴリに整理され、ナビゲーションと調整が容易になります。
- 複数フォーマットオーディオサポート: WAV、MP3、M4A、MOVなどの一般的なメディアファイルを受け付け、解析用に.wav形式に変換します。
このスクリプトを実行するには、Pythonと以下のライブラリが必要です:
numpypandasscipyplotlyttkbootstrappydubsoxrlibrosa(オーディオの読み込みとリサンプリングを担当)PyWavelets(ウェーブレットデノイジングに使用されるpywtモジュールを提供)pyPCG-toolbox(オプションの調整可能なpyPCGデノイジングを有効にします。この機能はconfig.pyでdenoising_methodを設定した場合のみ有効になります)
FFmpegをインストール: 公式 FFmpegウェブサイト からお使いのオペレーティングシステム向けのインストール手順に従ってください。
FFmpegをインストール: 公式 FFmpegウェブサイト からお使いのオペレーティングシステム向けのインストール手順に従ってください。
pydub が正しく機能するためには、 FFmpeg がシステムのPATHにインストールされてアクセス可能である必要があります。
- Microsoft Visual C++ Redistributable 最新サポート版 v14 (Visual Studio 2017–2026用)がインストールされていることを確認してください。
依存関係のインストール:
pip install numpy pandas scipy plotly ttkbootstrap pydub librosa PyWavelets pyPCG-toolbox
コマンドプロンプトから同じディレクトリでスクリプトを実行:
python main.py
ヒント: ファイルを main.pyw にリネームすると、コマンドプロンプトを使用せずに実行できます。ダブルクリックして .exe ファイルのように起動できます。
生成された心拍数グラフをBlenderにインポートして、時間経過に伴うBPMの変化を簡単に計算できます。 Blenderファイルとスクリプトは Blender BPM tool フォルダに配置されています。
ジオメトリノードオブジェクトを選択し、編集モードに入ります。これにより以下を計算できます:
- 心拍数回復(HRR)
- 心拍数増加の最大レート
また、任意の BPM/時間 グラフを作成し、Export graph data.py スクリプトを使用してBlenderからエクスポートすることもできます。
フォーマット「Time(Seconds), Beats Per Minute」のCSVファイルをインポートできます
