From cd788026dfeaf74aae97d35729dab316acf1a915 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 22 Mar 2026 15:27:08 -0700 Subject: [PATCH] Bundle soundfile with native libs in PyInstaller, link LICENSE in README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit soundfile needs collect_all() to include libsndfile native library — hiddenimports alone wasn't enough, causing 'No module named soundfile' in the frozen sidecar. This is needed for the pyannote Audio patch that bypasses torchaudio/torchcodec. Co-Authored-By: Claude Opus 4.6 --- README.md | 2 +- python/voice_to_notes.spec | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8d35730..596c163 100644 --- a/README.md +++ b/README.md @@ -126,4 +126,4 @@ docs/ # Documentation ## License -MIT +[MIT](LICENSE) diff --git a/python/voice_to_notes.spec b/python/voice_to_notes.spec index aaa7348..f464515 100644 --- a/python/voice_to_notes.spec +++ b/python/voice_to_notes.spec @@ -12,12 +12,13 @@ faster_whisper_datas, faster_whisper_binaries, faster_whisper_hiddenimports = co "faster_whisper" ) pyannote_datas, pyannote_binaries, pyannote_hiddenimports = collect_all("pyannote") +soundfile_datas, soundfile_binaries, soundfile_hiddenimports = collect_all("soundfile") a = Analysis( ["voice_to_notes/main.py"], pathex=[], - binaries=ctranslate2_binaries + faster_whisper_binaries + pyannote_binaries, - datas=ctranslate2_datas + faster_whisper_datas + pyannote_datas, + binaries=ctranslate2_binaries + faster_whisper_binaries + pyannote_binaries + soundfile_binaries, + datas=ctranslate2_datas + faster_whisper_datas + pyannote_datas + soundfile_datas, hiddenimports=[ "torch", "torchaudio", @@ -30,7 +31,8 @@ a = Analysis( ] + ctranslate2_hiddenimports + faster_whisper_hiddenimports - + pyannote_hiddenimports, + + pyannote_hiddenimports + + soundfile_hiddenimports, hookspath=[], hooksconfig={}, runtime_hooks=[],