feat: 大屏后端(FastAPI+MQTT+sim_engine)
- REST :10085 / MQTT 控制 / SSE 回退 / AI+语音 - 数据源规划:接核心服务端 + 算力引擎真实数据
This commit is contained in:
+143
@@ -0,0 +1,143 @@
|
||||
[build-system]
|
||||
requires = ["setuptools>=77.0.3", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "speech-to-speech"
|
||||
version = "0.2.11"
|
||||
description = "Low-latency speech-to-speech pipeline"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.10"
|
||||
license = "Apache-2.0"
|
||||
license-files = ["LICENSE"]
|
||||
authors = [
|
||||
{ name = "Hugging Face" },
|
||||
]
|
||||
keywords = ["speech-to-speech", "voice-agents", "speech-recognition", "text-to-speech", "openai"]
|
||||
classifiers = [
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Intended Audience :: Developers",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Topic :: Multimedia :: Sound/Audio :: Speech",
|
||||
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
||||
]
|
||||
dependencies = [
|
||||
"fastapi>=0.115.0",
|
||||
"httpx>=0.28.0",
|
||||
"nltk==3.9.4",
|
||||
"numpy>=1.26.0,<2.4.4; platform_system == 'Darwin'",
|
||||
"numpy>=1.26.0; platform_system != 'Darwin'",
|
||||
"openai==2.28.0",
|
||||
"pillow>=10.0.0",
|
||||
"pydantic>=2.0",
|
||||
"rich>=13.0",
|
||||
"scipy>=1.10.0",
|
||||
"sounddevice==0.5.3; platform_system == 'Darwin'",
|
||||
"sounddevice>=0.5.0; platform_system != 'Darwin'",
|
||||
"soundfile>=0.13.0; platform_system == 'Darwin'",
|
||||
"torch==2.11.0; platform_system == 'Darwin'",
|
||||
"torch>=2.4.0; platform_system != 'Darwin'",
|
||||
"torchaudio==2.11.0; platform_system == 'Darwin'",
|
||||
"torchaudio>=2.4.0; platform_system != 'Darwin'",
|
||||
"transformers==5.6.2; platform_system == 'Darwin'",
|
||||
"transformers>=4.57.0; platform_system != 'Darwin'",
|
||||
"uvicorn>=0.30.0",
|
||||
"websockets>=12.0",
|
||||
"nano-parakeet>=0.2.0; platform_system != 'Darwin'",
|
||||
"faster-qwen3-tts[ggml]>=0.3.2; platform_system != 'Darwin' and platform_system != 'Windows'",
|
||||
"faster-qwen3-tts>=0.3.2; platform_system == 'Windows'",
|
||||
"lingua-language-detector>=2.0.2",
|
||||
"miniaudio==1.61; platform_system == 'Darwin'",
|
||||
"mlx==0.31.1; platform_system == 'Darwin'",
|
||||
"mlx-audio==0.4.2; platform_system == 'Darwin'",
|
||||
"mlx-lm==0.31.1; platform_system == 'Darwin'",
|
||||
"mlx-metal==0.31.1; platform_system == 'Darwin'",
|
||||
"misaki>=0.9.4; platform_system == 'Darwin'",
|
||||
"espeakng-loader>=0.2.4; platform_system == 'Darwin'",
|
||||
"spacy>=3.8.4; platform_system == 'Darwin'",
|
||||
"phonemizer-fork>=3.3.2; platform_system == 'Darwin'",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
chattts = [
|
||||
"ChatTTS>=0.1.1",
|
||||
]
|
||||
facebook-mms = [
|
||||
"transformers>=4.57.0",
|
||||
]
|
||||
faster-whisper = [
|
||||
"faster-whisper>=1.0.3",
|
||||
]
|
||||
kokoro = [
|
||||
"kokoro>=0.9.2; platform_system != 'Darwin'",
|
||||
]
|
||||
language-detection = [
|
||||
"lingua-language-detector>=2.0.2",
|
||||
]
|
||||
mlx-lm = [
|
||||
"mlx-lm==0.31.1; platform_system == 'Darwin'",
|
||||
"mlx-vlm==0.4.1; platform_system == 'Darwin'",
|
||||
]
|
||||
paraformer = [
|
||||
"funasr>=1.1.6",
|
||||
"modelscope>=1.17.1",
|
||||
"onnxruntime<1.24; python_version < '3.11'",
|
||||
]
|
||||
pocket = [
|
||||
"pocket-tts>=0.1.0",
|
||||
]
|
||||
websocket = [
|
||||
"websockets>=12.0",
|
||||
]
|
||||
whisper-mlx = [
|
||||
"lightning-whisper-mlx>=0.0.10; platform_system == 'Darwin'",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/huggingface/speech-to-speech"
|
||||
Repository = "https://github.com/huggingface/speech-to-speech"
|
||||
Issues = "https://github.com/huggingface/speech-to-speech/issues"
|
||||
|
||||
[project.scripts]
|
||||
speech-to-speech = "speech_to_speech.s2s_pipeline:main"
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"ruff",
|
||||
"mypy",
|
||||
"pytest",
|
||||
"pytest-asyncio",
|
||||
"websockets>=12.0",
|
||||
]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
asyncio_mode = "auto"
|
||||
|
||||
[tool.uv]
|
||||
package = true
|
||||
prerelease = "allow"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
where = ["src"]
|
||||
include = ["speech_to_speech*"]
|
||||
exclude = ["tests*"]
|
||||
|
||||
[tool.setuptools.package-data]
|
||||
speech_to_speech = ["TTS/*.wav"]
|
||||
|
||||
[tool.ruff]
|
||||
src = ["src"]
|
||||
line-length = 120
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = ["E", "F", "I", "W"]
|
||||
ignore = ["E501"]
|
||||
|
||||
[tool.mypy]
|
||||
python_version = "3.10"
|
||||
ignore_missing_imports = true
|
||||
warn_unused_configs = true
|
||||
check_untyped_defs = false
|
||||
Reference in New Issue
Block a user