Files
hms-mediaengine/pyproject.toml
T
HMS MediaEngine Agent 2b1e6af6c0 Phase 7: Audio-Analyse und Mapping-Engine (§20)
- AudioFeatures: Peak, RMS, FFT-Spektrum, Bass/Low-Mid/Mid/High-Mid/
  Treble, Spectral Flux, Beat, BPM, Beat-Phase, Confidence,
  Stilleerkennung; timestamped mit monotoner Zeitbasis (§20.2, §20.3)
- BeatDetector: adaptiver Schwellwert ueber Flux-Fenster, Mindestabstand,
  BPM-Median ueber Inter-Beat-Intervalle, Sentinel-Fix fuer ersten Beat
- RingBuffer: begrenzter Kreisring statt unkontrollierter Queues (§20.3,
  §33)
- AudioBinding (§20.4): Gate/Threshold, Normalisierung, Gain, Kurve
  (linear/quadratic/cubic/exponential), Attack/Release, Min/Max
- Modulatoren ohne Audio (§20.5): LFO Sine/Triangle/Saw/Square,
  Random mit Seed (deterministisch), Step Sequencer BPM-synchron
- ModulatorEngine: verwaltet Audio-Bindings und Modulatoren;
  Ergebnisse ueber Parameter-Engine mit AUDIO-Prioritaet 6 (§11.2)
- 29 Unit-Tests: RMS/Peak, RingBuffer-Kapazitaet, FFT-Peak-Frequenz,
  Band-Energie, Flux, BPM-Recovery (120 BPM), Min-Interval,
  Silent-Tone-Analyse, Kurven, Binding-Pipeline, LFO-Periodizitaet,
  Random-Seed-Determinismus, Sequencer-Cycling
- Gesamtsuite 586 gruen, Ruff gruen
2026-09-11 03:19:38 +02:00

54 lines
1.3 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[project]
name = "hms-mediaengine"
version = "0.1.0"
description = "HMS MediaEngine modularer Medienserver, VJ-System und generativer Effektserver (Arbeitstitel)"
requires-python = "==3.13.*"
dependencies = [
"fastapi>=0.115",
"uvicorn>=0.30",
"pydantic>=2.7",
"msgpack>=1.0",
"python-multipart>=0.0.32",
]
[dependency-groups]
dev = [
"pytest>=8.2",
"httpx>=0.27",
"ruff>=0.6",
]
[build-system]
requires = ["hatchling>=1.22"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = [
"packages/protocol/hms_protocol",
"packages/domain/hms_domain",
"packages/parameter_engine/hms_parameter",
"packages/artnet/hms_artnet",
"packages/adaptive_quality/hms_adaptive",
"packages/capabilities/hms_capabilities",
"packages/plugin_sdk/hms_plugin_sdk",
"packages/persistence/hms_persistence",
"packages/cluster/hms_cluster",
"packages/media/hms_media",
"packages/content_sync/hms_content_sync",
"packages/audio_analysis/hms_audio",
"apps/renderer/hms_renderer",
"apps/control_server/hms_control_server",
"apps/launcher/hms_launcher",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"
[tool.ruff]
line-length = 100
target-version = "py313"
[tool.ruff.lint]
select = ["E", "F", "W", "I", "UP", "B"]