cea6005bf4
Find, cut, paste replacements in sermon audio. - engine.py: SermonClean core (BadSegment, trim, concat, splice verify) - cli.py: find/cut/paste/pipe subcommands - elevenlabs.py: optional ElevenLabs rendering hook - 25 tests passing (timestamp parsing, BadSegment validation, end-to-end trim on real audio) - pyproject.toml: pip-installable; dep only on ffmpeg/ffprobe system-wide - README + LICENSE (MIT) + examples/segs.json Validated against the krystie audio cache (OGG/Opus 48kHz mono).
56 lines
1.5 KiB
TOML
56 lines
1.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=68", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "sermon-clean"
|
|
version = "0.1.0"
|
|
description = "Find bad segments in sermon audio, cut them out, splice in ElevenLabs replacements."
|
|
readme = "README.md"
|
|
requires-python = ">=3.9"
|
|
license = {text = "MIT"}
|
|
authors = [
|
|
{name = "Sami Ahmed", email = "hello@sami-ahmed.net"},
|
|
]
|
|
keywords = ["audio", "ffmpeg", "sermon", "editing", "elevenlabs"]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: End Users/Desktop",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Multimedia :: Sound/Audio :: Editors",
|
|
]
|
|
|
|
# Runtime dependencies — requests is only needed if you use ElevenLabs rendering.
|
|
# ffmpeg / ffprobe must be installed system-wide.
|
|
dependencies = [
|
|
"requests>=2.31",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
# Whisper integration (optional, adds auto-detect mode)
|
|
auto = [
|
|
"faster-whisper>=1.0.0",
|
|
]
|
|
test = [
|
|
"pytest>=7.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
sermon-clean = "sermon_clean.cli:main"
|
|
|
|
[project.urls]
|
|
Homepage = "https://git.sami/sami7777/sermon-clean"
|
|
Issues = "https://git.sami/sami7777/sermon-clean/issues"
|
|
|
|
[tool.setuptools]
|
|
packages = ["sermon_clean"]
|
|
|
|
[tool.setuptools.package-data]
|
|
sermon_clean = ["py.typed"]
|