Spaces:
Running on Zero
Running on Zero
| [project] | |
| name = "voice-tools" | |
| version = "0.1.0" | |
| description = "Voice extraction tool for video generation - extracts target voice from mixed audio files" | |
| readme = "README.md" | |
| requires-python = ">=3.10" | |
| license = {text = "MIT"} | |
| authors = [ | |
| {name = "Voice Tools Contributors"} | |
| ] | |
| keywords = ["audio", "voice-extraction", "speaker-diarization", "ml", "huggingface"] | |
| classifiers = [ | |
| "Development Status :: 3 - Alpha", | |
| "Intended Audience :: Developers", | |
| "License :: OSI Approved :: MIT License", | |
| "Programming Language :: Python :: 3.11", | |
| "Programming Language :: Python :: 3.12", | |
| "Topic :: Multimedia :: Sound/Audio :: Analysis", | |
| ] | |
| dependencies = [ | |
| # Core ML and audio processing | |
| "torch>=2.4.0", | |
| "torchaudio>=2.4.0", | |
| "transformers>=4.35.0", | |
| "gradio>=6.2.0", | |
| "spaces>=0.28.3", # HuggingFace ZeroGPU support | |
| # HuggingFace models | |
| "huggingface-hub>=0.16.0", | |
| "pyannote.audio>=4.0.0", | |
| # Audio processing | |
| "librosa>=0.10.0", | |
| "soundfile>=0.12.1", | |
| "pydub>=0.25.1", | |
| # VAD and speech processing | |
| "silero-vad>=4.0.0", | |
| # Quality metrics | |
| "pesq>=0.0.4", | |
| "pystoi>=0.4.1", | |
| # Noise reduction | |
| "noisereduce>=3.0.0", | |
| # Utilities | |
| "numpy>=1.24.0", | |
| "scipy>=1.10.0", | |
| "rich>=13.0.0", # For CLI progress bars | |
| "click>=8.1.0", # For CLI interface | |
| "python-dotenv>=1.0.0", # For .env file support | |
| ] | |
| [project.optional-dependencies] | |
| dev = [ | |
| "pytest>=7.4.0", | |
| "pytest-cov>=4.1.0", | |
| "black>=23.0.0", | |
| "ruff>=0.1.0", | |
| "mypy>=1.5.0", | |
| ] | |
| [project.scripts] | |
| voice-tools = "src.cli.main:main" | |
| [build-system] | |
| requires = ["setuptools>=68.0.0", "wheel"] | |
| build-backend = "setuptools.build_meta" | |
| [tool.setuptools.packages.find] | |
| where = ["."] | |
| include = ["src*"] | |
| [tool.black] | |
| line-length = 100 | |
| target-version = ["py311"] | |
| include = '\.pyi?$' | |
| [tool.ruff] | |
| line-length = 100 | |
| target-version = "py311" | |
| select = [ | |
| "E", # pycodestyle errors | |
| "W", # pycodestyle warnings | |
| "F", # pyflakes | |
| "I", # isort | |
| "B", # flake8-bugbear | |
| "C4", # flake8-comprehensions | |
| ] | |
| ignore = [ | |
| "E501", # line too long (handled by black) | |
| "B008", # do not perform function calls in argument defaults | |
| ] | |
| [tool.mypy] | |
| python_version = "3.11" | |
| warn_return_any = true | |
| warn_unused_configs = true | |
| disallow_untyped_defs = false | |
| ignore_missing_imports = true | |
| [tool.pytest.ini_options] | |
| testpaths = ["tests"] | |
| python_files = ["test_*.py"] | |
| python_classes = ["Test*"] | |
| python_functions = ["test_*"] | |
| addopts = "-v --tb=short" | |