Port utility function format_timestamp

This commit is contained in:
Guillaume Klein
2023-03-15 15:27:20 +01:00
parent eafb2c79a3
commit c5f6b91b7d
2 changed files with 22 additions and 0 deletions

View File

@@ -1 +1,2 @@
from faster_whisper.transcribe import WhisperModel from faster_whisper.transcribe import WhisperModel
from faster_whisper.utils import format_timestamp

21
faster_whisper/utils.py Normal file
View File

@@ -0,0 +1,21 @@
def format_timestamp(
seconds: float,
always_include_hours: bool = False,
decimal_marker: str = ".",
):
assert seconds >= 0, "non-negative timestamp expected"
milliseconds = round(seconds * 1000.0)
hours = milliseconds // 3_600_000
milliseconds -= hours * 3_600_000
minutes = milliseconds // 60_000
milliseconds -= minutes * 60_000
seconds = milliseconds // 1_000
milliseconds -= seconds * 1_000
hours_marker = f"{hours:02d}:" if always_include_hours or hours > 0 else ""
return (
f"{hours_marker}{minutes:02d}:{seconds:02d}{decimal_marker}{milliseconds:03d}"
)