What's Changed
OpenAI diarization and streaming support:
- Added support for OpenAI's
gpt-4o-transcribe-diarizemodel, enabling diarization (speaker labels and timestamps) and streaming output in the transcription pipeline (pkg/manager.go,README.md). - Modified the OpenAI transcription flow to emit streaming segments via a
SegmentWriterinterface, handling both diarized and non-diarized streaming events (pkg/manager.go).
Refactoring for streaming and extensibility:
- Refactored the transcription and translation methods for Whisper, OpenAI, and ElevenLabs to accept a
SegmentWriter, enabling real-time segment emission for all providers and improving code consistency (pkg/manager.go).
Error handling improvements:
- Standardized error handling by replacing custom errors with
httpresponseerrors for not found and bad parameter cases, improving error reporting to clients (pkg/manager.go,pkg/httphandler/httphandler.go).
Full Changelog: v0.0.38...v0.0.39
Downloading the CLI
Download the CLI for Linux and MacOS here. This does not contain the server. To check the integrity of the binary, and make it executable:
# Download and check against the SHA256 hash on the releases page (MacOS)
wget -O gowhisper -q https://github.com/mutablelogic/go-whisper/releases/download/v0.0.39/gowhisper-darwin-arm64
sha256sum gowhisper
chmod +x gowhisper
# For MacOS, remove quarantine attribute
xattr -d com.apple.quarantine gowhisper
# Run the executable
./gowhisper --help