Skip to content

Commit dec6981

Browse files
rootroot
authored andcommitted
v2.4: Fix post-tone delay trim after tone detection
1 parent 2375c8f commit dec6981

2 files changed

Lines changed: 11 additions & 12 deletions

File tree

app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from lib.logging_module import CustomLogger
1717

1818
app_name = "icad_dispatch"
19-
__version__ = "2.3.1"
19+
__version__ = "2.4"
2020
DEFAULT_TIMEZONE = "America/New_York"
2121

2222
load_dotenv()

routes/api/call_upload.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -191,16 +191,6 @@ def call_upload():
191191
route_logger.warning("Audio validation failed: %s", e)
192192
return _err(str(e), 422)
193193

194-
# Apply post-tone delay (skip first N seconds of audio before saving/processing)
195-
system_res = db.execute_query("SELECT post_tone_delay FROM radio_systems WHERE radio_system_id = ?", (radio_system_id,), fetch_mode="one")
196-
system_row = system_res.get("result") if system_res.get("success") else None
197-
post_tone_delay = int(system_row["post_tone_delay"]) if system_row else 0
198-
if post_tone_delay > 0 and len(audio_segment) > post_tone_delay * 1000:
199-
delay_ms = post_tone_delay * 1000
200-
audio_segment = audio_segment[delay_ms:]
201-
audio_duration = len(audio_segment) / 1000.0
202-
route_logger.info("Post-tone delay applied: %d seconds trimmed, new duration: %.2fs", post_tone_delay, audio_duration)
203-
204194
# 2) ---------- call-data ---------------------------------------------------------
205195
skip_keys = {"key", "system", "radio_system_id", "audio"}
206196
call_data = {k: v for k, v in request.values.items() if k not in skip_keys}
@@ -476,7 +466,16 @@ def call_upload():
476466
route_logger.error(f"Unexpected error transcribing audio: {e}")
477467
transcribe_response = None
478468

479-
469+
# Apply post-tone delay AFTER tone detection (only if tones were detected)
470+
if detect_has_tones:
471+
system_res = db.execute_query("SELECT post_tone_delay FROM radio_systems WHERE radio_system_id = ?", (radio_system_id,), fetch_mode="one")
472+
system_row = system_res.get("result") if system_res.get("success") else None
473+
post_tone_delay = int(system_row["post_tone_delay"]) if system_row else 0
474+
if post_tone_delay > 0 and len(audio_segment) > post_tone_delay * 1000:
475+
delay_ms = post_tone_delay * 1000
476+
audio_segment = audio_segment[delay_ms:]
477+
audio_duration = len(audio_segment) / 1000.0
478+
route_logger.info("Post-tone delay applied: %d seconds trimmed, new duration: %.2fs", post_tone_delay, audio_duration)
480479

481480
# Save audio based on storage settings (LOCAL / SFTP / S3)
482481
try:

0 commit comments

Comments
 (0)