Skip to content

eGroupAI/audio-segmentation-starter

audio-segmentation-starter

CI  Python  License: MIT  Free & Open Source


把一段長音檔切成固定長度的片段, 同時輸出帶 checksum 的 manifest,每次執行結果可驗證。


安裝  ·  執行  ·  輸出格式  ·  Python API  ·  授權


安裝

python -m venv .venv
. .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -e .[dev]

執行

# 產生示範音檔(合成靜音 6 秒)
python scripts/generate_demo_wav.py

# 切段:每段 2 秒,overlap 0.5 秒
audio-split fixed --input ./out/demo.wav --segment 2 --overlap 0.5 --out ./out/chunks

# 驗證 manifest(checksum 逐段比對)
audio-split verify --input ./out/chunks/manifest.json

輸出格式

out/chunks/
├── demo_0001.wav
├── demo_0002.wav
├── demo_0003.wav
├── demo_0004.wav
└── manifest.json
{
  "version": "1.0",
  "segment_count": 4,
  "segments": [
    { "index": 1, "start_sec": 0.0, "end_sec": 2.0,
      "path": "out/chunks/demo_0001.wav",
      "checksum_sha256": "a3f..." }
  ]
}

Python API

from audio_splitter.core import split_fixed_length, build_manifest, write_manifest

segments = split_fixed_length("audio.wav", "out/chunks", segment_sec=30.0, overlap_sec=2.0)
manifest = build_manifest(segments)
write_manifest(manifest, "out/chunks/manifest.json")

適合這些情境

  • 長音檔送入轉寫前,需要先切成固定長度片段
  • 批次流程需要 checksum 驗證,確保每次切段結果一致
  • 流程中斷後需要 skip 已處理片段、續跑剩餘部分

不包含

  • 動態分段策略(依語意或靜音偵測)
  • 任何業務規則與排程邏輯

詳見 docs/threat-model.md


開發

pytest -q

授權

本專案採 MIT License 授權,永久免費、可商業使用、可修改、可散佈

License: MIT Free & Open Source

權利 說明
✅ 免費使用 個人、商業、學術皆可,不收費
✅ 可修改 可依需求自由調整原始碼
✅ 可散佈 可重新散佈原始或修改版本
✅ 可商業使用 可用於商業產品中
ℹ️ 保留聲明 散佈時需保留原始版權與授權聲明

版權所有 © 2026 eGroupAI 益群健康資訊


維護者

本 repo 由 eGroupAI 益群健康資訊 維護,作為公司開源貢獻的一部分。

項目 資訊
官網 https://www.egroupai.com/zh-TW
聯絡信箱 service@egroupai.com
GitHub 組織 github.com/eGroupAI

如有問題或建議,歡迎透過 GitHub Issues 或上述信箱與我們聯絡。

About

Public-safe starter kit for fixed audio segmentation

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages