Release Notes: v0.6.1¶
Release Date: 2026-06-15
Summary¶
Fixes audio format auto-detection for pre-recorded transcription and adopts the new format.Encoding type from omnivoice-core v0.13.0 for consistent encoding normalization.
Bug Fixes¶
Audio Format Auto-Detection¶
Previously, ConfigToPreRecordedOptions always set explicit encoding, sample rate, and channels even when not specified. This prevented Deepgram from auto-detecting these parameters from file headers (e.g., WAV files).
Before (broken):
// Empty config would still set encoding/sample_rate/channels
config := stt.TranscriptionConfig{}
// Resulted in: encoding=linear16, sample_rate=0, channels=0
// Deepgram failed to auto-detect from WAV headers
After (fixed):
// Empty config lets Deepgram auto-detect from file headers
config := stt.TranscriptionConfig{}
// No encoding/sample_rate/channels sent
// Deepgram reads metadata from WAV/MP3/FLAC headers
Refactoring¶
Encoding Normalization via omnivoice-core¶
Replaced local mapEncoding() and mapTTSEncoding() functions with format.Encoding.Normalize() from omnivoice-core. This provides:
- Case-insensitive encoding names (
"LINEAR16"→"linear16") - Alias support (
"pcm16","wav","ulaw"→ normalized forms) - Consistent behavior across all omni-* providers
// Old: local mapping functions
encoding := mapEncoding(config.Encoding)
// New: centralized normalization
encoding := format.Encoding(config.Encoding).Normalize()
Dependencies¶
| Dependency | Version |
|---|---|
| omnivoice-core | v0.13.0 |
| deepgram-go-sdk | v3.7.0 |
Installation¶
Migration Guide¶
From v0.6.0¶
No breaking changes. All existing code continues to work.
If you were working around the auto-detection bug by explicitly setting encoding parameters, you can now remove those workarounds for files with headers (WAV, MP3, FLAC, etc.).