sing_detect
Singing/music-segment detection for long live-stream recordings: find the segments where someone is singing and export markers (CSV / EDL / JSON) for fast editing in DaVinci Resolve.
This branch is the latest version (v6). A plain git pull gives you only the
current code — no old versions clutter the working tree. The earlier iterations
live in the git history and are tagged, so you can inspect or check out any of
them:
git checkout v3 # or v1 … v6
git checkout - # back to latest
Evolution
The history is ordered by technical & functional evolution (not file timestamp). Each tag is a complete, standalone version at the repository root.
| Tag | Engine | Interface | Leap |
|---|---|---|---|
v1 |
HuggingFace matthijs/svd (torch.jit) |
tkinter file picker | First prototype — single file, proves the idea |
v2 |
transformers pipeline + pyannote |
CustomTkinter GUI | Overlapping-chunk inference, CSV timecode export |
v3 |
inaSpeechSegmenter | CLI (argparse) | Robust pipeline: gap-merge, min-duration, EDL+CSV |
v4 |
inaSpeechSegmenter | CLI batch | Process whole folders, --recursive, --auto-cut |
v5 |
inaSpeechSegmenter | CustomTkinter multi-tab app | Modular core/ engine + UI tab, JSON + ffmpeg-script export |
v6 |
inaSpeechSegmenter (Python sidecar) | Tauri (Rust + TS) | Cross-platform rewrite; Python reduced to a thin ML sidecar emitting line-JSON |
Engine evolution: svd model → transformers pipeline →
inaSpeechSegmenter (settled from v3 on, which classifies singing voice as
"music").
Notes
- v4 carries a copy of
detect_singing.pybecausebatch_detect.pyimports it at runtime. - v5 keeps the original package layout (
core/,ui/,utils/) so the relative imports resolve; it was extracted from the largerstream_toolsapp. - v6 is the detection slice only (
sidecar_detect.py,detect.rs,detect.ts), extracted from thestream-studioTauri app —detect.tsstill references the app's../dom,../ui,../apimodules.
Excluded: song_detection_cn.py (an ACRCloud-style fingerprint song-identification
client) — it names a track rather than detecting singing segments.