fix: restore previous behavior on live pipeline + audio downscaler (#561)

This commit restore the original behavior with frame cutting. While
silero is used on our gpu for files, look like it's not working great on
the live pipeline. To be investigated, but at the moment, what we keep
is:

- refactored to extract the downscale for further processing in the
pipeline
- remove any downscale implementation from audio_chunker and audio_merge
- removed batching from audio_merge too for now
This commit is contained in:
2025-08-22 10:49:26 -06:00
committed by GitHub
parent 52f9f533d7
commit 9265d201b5
14 changed files with 522 additions and 617 deletions

View File

@@ -16,7 +16,8 @@ import av
from reflector.logger import logger
from reflector.processors import (
AudioChunkerProcessor,
AudioChunkerAutoProcessor,
AudioDownscaleProcessor,
AudioFileWriterProcessor,
AudioMergeProcessor,
AudioTranscriptAutoProcessor,
@@ -95,7 +96,8 @@ async def process_audio_file(
# Add the rest of the processors
processors += [
AudioChunkerProcessor(),
AudioDownscaleProcessor(),
AudioChunkerAutoProcessor(),
AudioMergeProcessor(),
AudioTranscriptAutoProcessor.as_threaded(),
TranscriptLinerProcessor(),
@@ -322,7 +324,8 @@ if __name__ == "__main__":
# Ignore internal processors
if processor in (
"AudioChunkerProcessor",
"AudioDownscaleProcessor",
"AudioChunkerAutoProcessor",
"AudioMergeProcessor",
"AudioFileWriterProcessor",
"TopicCollectorProcessor",

View File

@@ -17,7 +17,8 @@ import av
from reflector.logger import logger
from reflector.processors import (
AudioChunkerProcessor,
AudioChunkerAutoProcessor,
AudioDownscaleProcessor,
AudioFileWriterProcessor,
AudioMergeProcessor,
AudioTranscriptAutoProcessor,
@@ -96,7 +97,8 @@ async def process_audio_file_with_diarization(
# Add the rest of the processors
processors += [
AudioChunkerProcessor(),
AudioDownscaleProcessor(),
AudioChunkerAutoProcessor(),
AudioMergeProcessor(),
AudioTranscriptAutoProcessor.as_threaded(),
]
@@ -276,7 +278,8 @@ if __name__ == "__main__":
# Ignore internal processors
if processor in (
"AudioChunkerProcessor",
"AudioDownscaleProcessor",
"AudioChunkerAutoProcessor",
"AudioMergeProcessor",
"AudioFileWriterProcessor",
"TopicCollectorProcessor",

View File

@@ -53,7 +53,7 @@ async def run_single_processor(args):
async def event_callback(event: PipelineEvent):
processor = event.processor
# ignore some processor
if processor in ("AudioChunkerProcessor", "AudioMergeProcessor"):
if processor in ("AudioChunkerAutoProcessor", "AudioMergeProcessor"):
return
print(f"Event: {event}")
if output_fd: