From bef9ab7e34050cbe3387245d35aff889d9ff1012 Mon Sep 17 00:00:00 2001 From: arteven Date: Tue, 5 May 2026 17:29:33 +0200 Subject: [PATCH] fix(faster-whisper): cast segment timestamps to int after multiplication MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `int(x) * 1e9` returns a float because `1e9` is a float literal, but TranscriptSegment.start/end are integer protobuf fields. This caused every transcription request to fail with: TypeError: 'float' object cannot be interpreted as an integer Multiply first, then cast — `int(x * 1e9)` — to get an int as required. --- backend/python/faster-whisper/backend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/python/faster-whisper/backend.py b/backend/python/faster-whisper/backend.py index 9cfb9dfd1c80..5ff5f96d0ab6 100755 --- a/backend/python/faster-whisper/backend.py +++ b/backend/python/faster-whisper/backend.py @@ -59,7 +59,7 @@ def AudioTranscription(self, request, context): id = 0 for segment in segments: print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text)) - resultSegments.append(backend_pb2.TranscriptSegment(id=id, start=int(segment.start)*1e9, end=int(segment.end)*1e9, text=segment.text)) + resultSegments.append(backend_pb2.TranscriptSegment(id=id, start=int(segment.start*1e9), end=int(segment.end*1e9), text=segment.text)) text += segment.text id += 1 except Exception as err: