mcspeak/pyproject.toml
Ryan Malloy 3c4e06aa64 Add Pink Floyd tone kit and conversation-first listen
A telephone-themed bookend set, tuned by ear:

- speak: heartbeat entry ("Speak to Me" woven with warm MF tones), soft-chord
  exit (pure sines, easy on the ears on repetition)
- listen: mf-dial start (the genuine Young Lust R1 operator routing sequence,
  KP 0-4-4-1-8-3-1 ST) and machine end (Welcome to the Machine throb)
- mf-listen/mf-done gentler alternatives, and a call-waiting blip

listen() is now conversation-first: wait_for_silence defaults on with a 30s
cap, and the "go" tone plays only after the mic is live (warmup) so the first
word isn't clipped. VAD defaults tuned (aggressiveness 3, 2200ms silence,
400ms min-speech) after live testing showed the old values cut replies off on
brief background transients. Adds webrtcvad-wheels for the VAD path.
2026-07-03 20:08:14 -06:00

41 lines
997 B
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "mcspeak"
version = "2026.03.04.1"
description = "Multi-engine TTS server with speech queue, exposed via FastMCP 3.0 Streamable HTTP"
requires-python = ">=3.12"
license = "MIT"
authors = [{name = "Ryan Malloy", email = "ryan@supported.systems"}]
dependencies = [
"fastmcp>=3.0.0",
"httpx",
"kokoro-onnx>=0.5.0",
"numpy",
"onnxruntime",
"pydantic-settings",
"snac>=1.2.1",
"soundfile",
"torch",
# webrtcvad-wheels is a drop-in fork of webrtcvad that ships pre-built
# wheels for Python 3.12/3.13 — the original requires gcc to build from
# source, which the slim Docker image doesn't have.
"webrtcvad-wheels",
"wyoming>=1.8.0",
]
[project.scripts]
mcspeak = "mcspeak.__main__:main"
[tool.hatch.build.targets.wheel]
packages = ["src/mcspeak"]
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.ruff.lint]
select = ["E", "F", "I", "W"]