# ADN Voice configuration — hot-reloaded every 15 seconds # Copy to adn-voice.yaml and edit freely. # # If adn-voice.yaml does not exist, voice features are disabled (no error). # This file is re-checked every 15 s; changes take effect without restart. # # Each announcement/TTS has its own LANGUAGE. ENABLED: true activates that item. VOICE: # Voice ident only (MASTER systems with VOICE_IDENT in adn-server.yaml). # Leave empty: ident auto-detects from systems. Or set "es_ES,en_GB" to preload. # NOT used by ANNOUNCEMENTS or TTS — those use each item's LANGUAGE. ANNOUNCEMENT_LANGUAGES: "" # Base path for AMBE audio files (relative to project root). AUDIO_PATH: Audio # --------------------------------------------------------------------------- # Scheduled AMBE announcements (array — add as many as needed) # Pre-recorded .ambe files played on a talkgroup at intervals or hourly. # FILE: filename without .ambe, looked up in Audio//ondemand/ # MODE: "hourly" (once per hour) or "interval" (every INTERVAL seconds) # ENABLED: true = plays; false = configured but inactive (edit to true when ready) # --------------------------------------------------------------------------- ANNOUNCEMENTS: - ENABLED: true FILE: announcement1 TG: 2 MODE: interval INTERVAL: 60 LANGUAGE: es_ES - ENABLED: false FILE: announcement2 TG: 2 MODE: hourly INTERVAL: 3600 LANGUAGE: es_ES # --------------------------------------------------------------------------- # Recording # Records voice traffic on a TG/TS and saves as .ambe in Audio//ondemand/ # Enable on the fly, record, then disable to prevent overwriting. # Max duration: ~2 min 45 s. # --------------------------------------------------------------------------- RECORDING_ENABLED: false RECORDING_TG: 2 RECORDING_TIMESLOT: 2 RECORDING_FILE: recording RECORDING_LANGUAGE: en_GB # --------------------------------------------------------------------------- # TTS (Text-to-Speech) — array # Pipeline: .txt -> gTTS -> .mp3 -> ffmpeg -> .wav -> vocoder/AMBEServer -> .ambe # FILE: filename without .txt, looked up in Audio//ondemand/ # First time: create Audio//ondemand/.txt with the text to speak. # The system encodes it to .ambe (via AMBEServer or vocoder) and plays it. # Later: if .ambe exists and is newer than .txt, uses cached .ambe directly. # ENABLED: true to activate; requires TTS_VOCODER_CMD or TTS_AMBESERVER_HOST # See docs/en/server/user-guide/voice-and-tts.md for the TTS pipeline and troubleshooting. # --------------------------------------------------------------------------- # External vocoder command ({wav} and {ambe} are replaced at runtime). # Example: /usr/local/bin/md380-vocoder -e {wav} {ambe} TTS_VOCODER_CMD: "" # AMBEServer (physical DV3000 via UDP) — host where AMBEServer runs. # See https://github.com/marrold/AMBEServer TTS_AMBESERVER_HOST: "" TTS_AMBESERVER_PORT: 2460 # Volume in dB before AMBE encoding (-3 = slightly quieter). TTS_VOLUME: -3 # Speech rate: 1.0 = normal, 1.2 = ~20% faster (recommended for some languages). TTS_SPEED: 1.0 TTS_ANNOUNCEMENTS: - ENABLED: true FILE: texto1 TG: 2 MODE: interval INTERVAL: 60 LANGUAGE: es_ES - ENABLED: false FILE: texto2 TG: 2 MODE: hourly INTERVAL: 3600 LANGUAGE: es_ES