From 5f9045c347d1654692537b5ed1b24ef701b887c6 Mon Sep 17 00:00:00 2001 From: Chidi Williams Date: Sun, 1 Jan 2023 12:45:39 +0000 Subject: [PATCH] Use comma as SRT separator (#280) --- .coveragerc | 2 +- buzz/transcriber.py | 6 +++--- tests/transcriber_test.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.coveragerc b/.coveragerc index 7772715..29b81b1 100644 --- a/.coveragerc +++ b/.coveragerc @@ -7,4 +7,4 @@ omit = directory = coverage/html [report] -fail_under = 74 +fail_under = 73 diff --git a/buzz/transcriber.py b/buzz/transcriber.py index 68c5dc6..c12af10 100644 --- a/buzz/transcriber.py +++ b/buzz/transcriber.py @@ -474,7 +474,7 @@ def write_output(path: str, segments: List[Segment], should_open: bool, output_f for (i, segment) in enumerate(segments): file.write(f'{i + 1}\n') file.write( - f'{to_timestamp(segment.start)} --> {to_timestamp(segment.end)}\n') + f'{to_timestamp(segment.start, ms_separator=",")} --> {to_timestamp(segment.end, ms_separator=",")}\n') file.write(f'{segment.text}\n\n') if should_open: @@ -495,14 +495,14 @@ def segments_to_text(segments: List[Segment]) -> str: return result -def to_timestamp(ms: float) -> str: +def to_timestamp(ms: float, ms_separator='.') -> str: hr = int(ms / (1000 * 60 * 60)) ms = ms - hr * (1000 * 60 * 60) min = int(ms / (1000 * 60)) ms = ms - min * (1000 * 60) sec = int(ms / 1000) ms = int(ms - sec * 1000) - return f'{hr:02d}:{min:02d}:{sec:02d}.{ms:03d}' + return f'{hr:02d}:{min:02d}:{sec:02d}{ms_separator}{ms:03d}' SUPPORTED_OUTPUT_FORMATS = 'Audio files (*.mp3 *.wav *.m4a *.ogg);;\ diff --git a/tests/transcriber_test.py b/tests/transcriber_test.py index 4118dc6..b4c49f2 100644 --- a/tests/transcriber_test.py +++ b/tests/transcriber_test.py @@ -205,7 +205,7 @@ class TestWhisperCpp: (OutputFormat.TXT, 'Bien venue dans\n'), ( OutputFormat.SRT, - '1\n00:00:00.040 --> 00:00:00.299\nBien\n\n2\n00:00:00.299 --> 00:00:00.329\nvenue dans\n\n'), + '1\n00:00:00,040 --> 00:00:00,299\nBien\n\n2\n00:00:00,299 --> 00:00:00,329\nvenue dans\n\n'), (OutputFormat.VTT, 'WEBVTT\n\n00:00:00.040 --> 00:00:00.299\nBien\n\n00:00:00.299 --> 00:00:00.329\nvenue dans\n\n'), ])