Merge pull request #31 from ea5gvk/pruebas
Joaquin Madrid Belando
2026-03-18 19:46:51 +0100
3a37220e14Allow parallel broadcasts on different TGs - serialize only same-TG broadcasts, mark slots busy/free for TS conflict prevention
#31
Joaquin Madrid Belando
2026-03-18 19:29:46 +0100
Update requirements.txt
Joaquin Madrid Belando
2026-03-15 22:55:10 +0100
be857f8176Add ffmpeg as system dependency note in requirements.txt (required for TTS MP3 to WAV conversion)
Joaquin Madrid Belando
2026-03-15 22:50:36 +0100
Defer hourly announcement prep when broadcast queue is active to prevent reactor blocking and audio stuttering (#29)
Joaquin Madrid Belando
2026-03-14 21:50:58 +0100
911b11c2f7Defer hourly announcement prep when broadcast queue is active to prevent reactor blocking and audio stuttering
#29
Joaquin Madrid Belando
2026-03-14 21:48:50 +0100
4bb59e46b7Defer hourly announcement prep when broadcast queue is active to prevent reactor blocking and audio stuttering
#28
Joaquin Madrid Belando
2026-03-14 21:19:15 +0100
Mejoras de Audio y funconalidad en caliente voice.cfg (#27)
Joaquin Madrid Belando
2026-03-14 21:13:33 +0100
0875216ef9Add TTS_SPEED config for speech rate control (atempo filter in ffmpeg)
#27
#26
Joaquin Madrid Belando
2026-03-14 18:49:41 +0100
c51c880882Add TTS_SPEED config for speech rate control (atempo filter in ffmpeg)
Joaquin Madrid Belando
2026-03-14 18:49:40 +0100
bdbc97679bAdd TTS_SPEED config for speech rate control (atempo filter in ffmpeg)
Joaquin Madrid Belando
2026-03-14 18:49:38 +0100
159ba43924Batch ROUTER debug logs into single write to reduce GIL contention during voice traffic - all log content preserved
Joaquin Madrid Belando
2026-03-14 18:19:44 +0100
ddff087532Skip rule_timer_loop during active voice traffic to prevent GIL contention micro-cuts - all logs preserved
Joaquin Madrid Belando
2026-03-14 18:16:06 +0100
3aee755dd5Revert bridge_master.py to state of commit ce9e9b09e0
Joaquin Madrid Belando
2026-03-14 18:02:37 +0100
8bb2a6ffa9Fix RuntimeError: dictionary changed size during iteration - use list(BRIDGES) for thread-safe iteration in all functions that access BRIDGES
Joaquin Madrid Belando
2026-03-14 17:54:35 +0100
f75fb358d0Move rule_timer_loop, statTrimmer, kaReporting to background threads to prevent reactor blocking during voice broadcasts - all logs preserved
Joaquin Madrid Belando
2026-03-14 17:51:17 +0100
11a8226b00Remove noisy ROUTER debug logs that block reactor and cause voice micro-cuts: eliminate hundreds of 'no change'/'NO ACTION' debug lines per cycle
Joaquin Madrid Belando
2026-03-14 17:45:54 +0100
21ba6fd670Adjust frame interval: 60ms->58ms for optimal playback speed on all voice functions
Joaquin Madrid Belando
2026-03-14 17:39:32 +0100
f6dfa9f05bFix frame interval: 54ms->60ms (DMR standard) + absolute timing on all voice functions to eliminate micro-cuts
Joaquin Madrid Belando
2026-03-14 17:30:36 +0100
0c3d1bc710Add broadcast queue: prevent simultaneous announcements causing audio micro-cuts. All announcements (AMBE + TTS) now queue sequentially with 1.5s gap between them.
Joaquin Madrid Belando
2026-03-14 17:28:29 +0100
07a28d34c7Fix on-demand playback timing drift: use absolute timing instead of sleep(0.058) to prevent audio cuts on long files
Joaquin Madrid Belando
2026-03-11 19:34:45 +0100
2f9a363d60Announcements dual-slot: auto-detect TS from BRIDGES, remove ANNOUNCEMENT*_TIMESLOT (config/voice.cfg)
Joaquin Madrid Belando
2026-03-09 21:25:31 +0100
80403b47baAnnouncements dual-slot: auto-detect TS from BRIDGES, remove ANNOUNCEMENT*_TIMESLOT (config.py)
Joaquin Madrid Belando
2026-03-09 21:25:29 +0100
30e4e509e6Announcements dual-slot: auto-detect TS from BRIDGES, remove ANNOUNCEMENT*_TIMESLOT (bridge_master.py)
Joaquin Madrid Belando
2026-03-09 21:25:27 +0100
2c05d0d1f4Remove TTS_ANNOUNCEMENT*_TIMESLOT: TS now auto-detected from BRIDGES (bridge_master.py)
Joaquin Madrid Belando
2026-03-09 21:21:09 +0100
33ca6a1c55Remove TTS_ANNOUNCEMENT*_TIMESLOT: TS now auto-detected from BRIDGES (config/voice.cfg)
Joaquin Madrid Belando
2026-03-09 21:21:07 +0100
6d8404aba2Remove TTS_ANNOUNCEMENT*_TIMESLOT: TS now auto-detected from BRIDGES (config.py)
Joaquin Madrid Belando
2026-03-09 21:21:06 +0100
ec035b8a18TTS dual-slot: send announcements on both TS1 and TS2 based on active BRIDGES per system
Joaquin Madrid Belando
2026-03-09 21:17:33 +0100
50b5e2ef3aRun TTS conversion (gTTS+ffmpeg+AMBEServer) in separate thread via deferToThread to avoid blocking reactor
Joaquin Madrid Belando
2026-03-09 21:05:11 +0100
2ce47b1fc9Add TTS_VOLUME parameter (config/voice.cfg): adjustable dB volume for TTS audio
Joaquin Madrid Belando
2026-03-09 20:37:22 +0100
26628d64fcAdd TTS_VOLUME parameter (config.py): adjustable dB volume for TTS audio
Joaquin Madrid Belando
2026-03-09 20:37:21 +0100
e9705d18e6Add TTS_VOLUME parameter (tts_engine.py): adjustable dB volume for TTS audio
Joaquin Madrid Belando
2026-03-09 20:37:19 +0100
55b5e6cabfFilter announcements/TTS by active BRIDGES: only send to systems with static or active dynamic TG
Joaquin Madrid Belando
2026-03-07 21:24:15 +0100
5123dd3d1aFilter announcements by TG: only send to peers active on matching talkgroup
Joaquin Madrid Belando
2026-03-07 21:20:01 +0100
0d466a3291Improve playFileOnRequest: add file existence check, better logging, catch all exceptions
Joaquin Madrid Belando
2026-03-05 18:11:43 +0100
ffe105b430Change default TG from 214 to 2 in voice.cfg
Joaquin Madrid Belando
2026-03-05 16:12:04 +0100