@@ -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