Devotd Github
NewLLM infrastructure

modelship-ai/modelship — Preserve fractional audio duration in transcription responses

A commit notice about a fix in modelship-ai/modelship where the audio duration in whispercpp transcription responses was truncated to whole seconds, now preserving the fractional part.

Repositorymodelship-ai/modelship ↗

A commit notice about a fix in modelship-ai/modelship where the audio duration in whispercpp transcription responses was truncated to whole seconds, now preserving the fractional part.

GitHub description: Self-hosted, OpenAI-compatible inference for the agentic era: reasoning LLMs, universal tool calling, and the Responses API alongside embeddings, speech, and image models — many models sharing your GPUs, one gateway. Powered by Ray Serve.

stars
★ 53
Forks
4
Language
Python
License
Apache-2.0
Latest release
v0.8.1
Read original source ↗View on GitHub ↗

modelship-ai/modelship is a self-hosted OpenAI-compatible gateway based on Ray Serve that serves inference models jointly across multiple GPUs. The commit 10e440c of November 6, 2026 (merging PR #297) fixes the problem where the audio duration (duration) in speech transcription responses on the whispercpp path was truncated to whole seconds, changing it so that the fractional part is preserved as-is.

There are three modification points. decode_audio in modelship/utils/audio.py returns the number of samples divided by the sample rate as a float instead of casting it to int, the field type of TranscriptionUsageAudio.seconds in modelship/openai/protocol/audio.py changed from int to float, and modelship/infer/whispercpp/whispercpp_infer.py puts that value into usage.seconds as-is. The commit touches a total of 4 files with 29 lines added and 5 lines deleted. The newly added test creates a 3.6-second silent WAV and verifies that the duration of the response and usage.seconds are 3.6. If the integer casting had remained, the value recorded in usage would have been 3 seconds.

However, the confirmed changes are limited to four files: the whispercpp inference path, the audio utility, the OpenAI protocol type, and the test. The commit message contains no version notation or release guidance, and the verification was performed only with a stub model and synthesized silence input, so it does not cover whether the accuracy of actual recognition results or other processing paths are affected. For those who use the OpenAI-compatible API and aggregate audio length via usage, it is clear that this patch is not a trivial type change but a change that alters the aggregated value itself.