Release Notes: v0.12.0¶
Release Date: 2026-06-27
Highlights¶
- Local TTS/STT Providers: Run F5-TTS and Whisper on Apple Silicon without cloud dependencies
- gRPC Endpoint Configuration: New
WithEndpointoption for local providers using gRPC - Voice Profiles Library: 700+ pre-configured voices via omnivoice-core v0.15.0
- Audio Analysis Tools: Utilities for analyzing audio properties and characteristics
- omnictl CLI: Voice testing tool for local and cloud providers
New Features¶
Local Providers Support¶
OmniVoice now supports running text-to-speech and speech-to-text completely locally on Apple Silicon machines:
import (
"github.com/plexusone/omnivoice"
"github.com/plexusone/omnivoice-core/registry"
_ "github.com/plexusone/omnivoice/providers/all"
)
// Use local F5-TTS provider
ttsProvider, err := omnivoice.GetTTSProvider("f5tts-mlx",
registry.WithEndpoint("localhost:50051"),
)
if err != nil {
log.Fatal(err)
}
// Use local Whisper provider
sttProvider, err := omnivoice.GetSTTProvider("whisper-mlx",
registry.WithEndpoint("localhost:50052"),
)
if err != nil {
log.Fatal(err)
}
Available Local Providers:
| Provider | Type | Hardware | Features |
|---|---|---|---|
| F5-TTS MLX | TTS | Apple Silicon | Natural-sounding text-to-speech, multi-voice support |
| Whisper MLX | STT | Apple Silicon | Accurate speech recognition, multi-language support |
Benefits of Local Providers:
- Privacy: Audio never leaves your machine
- Cost: No API calls or monthly bills
- Latency: Faster response times with local execution
- Offline: Works without internet connection
gRPC Endpoint Configuration¶
The new WithEndpoint option is now exported for configuring local gRPC providers:
import "github.com/plexusone/omnivoice-core/registry"
// Configure custom gRPC endpoint
opts := []registry.ProviderOption{
registry.WithEndpoint("192.168.1.100:50051"),
}
provider, err := omnivoice.GetTTSProvider("f5tts-mlx", opts...)
This enables:
- Custom Endpoints: Point to locally-running gRPC services
- Network Flexibility: Use different machines for inference
- Development: Easy switching between local dev and staging servers
Voice Profiles Library¶
omnivoice-core v0.15.0 includes a library of 700+ pre-configured voice profiles:
// Access voice profiles programmatically
profiles, err := omnivoice.GetVoiceProfiles()
if err != nil {
log.Fatal(err)
}
for _, profile := range profiles {
fmt.Printf("%s (%s): %s\n", profile.Name, profile.Language, profile.Gender)
}
Voice Profile Coverage:
- Multiple genders and accents
- 50+ languages and locales
- Pitch, speed, and tone customization
- Provider-specific voice mappings
Audio Analysis Utilities¶
New audio analysis tools for understanding audio characteristics:
// Analyze audio from reader
analysis, err := omnivoice.AnalyzeAudio(ctx, audioReader)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Duration: %dms\n", analysis.DurationMs)
fmt.Printf("Sample Rate: %dHz\n", analysis.SampleRate)
fmt.Printf("Channels: %d\n", analysis.Channels)
Available Metrics:
- Duration in milliseconds
- Sample rate and bit depth
- Channel configuration (mono, stereo, etc.)
- Format detection
- Loudness analysis
omnictl Voice Testing Tool¶
omnivoice-core v0.15.0 includes the omnictl CLI for testing voice providers:
# List available providers
omnictl providers list
# Test text-to-speech
omnictl tts --provider f5tts-mlx "Hello, world!"
# Test speech-to-text
omnictl stt --provider whisper-mlx audio.wav
# Test voice profiles
omnictl voices list --filter f5tts-mlx
Dependency Updates¶
omnivoice-core v0.14.0 → v0.15.0¶
The major dependency update includes:
| Feature | Version | Impact |
|---|---|---|
| Local TTS (F5-TTS MLX) | New | Run TTS on Apple Silicon |
| Local STT (Whisper MLX) | New | Run STT on Apple Silicon |
| Voice Profiles | New | 700+ pre-configured voices |
| Audio Analysis | New | Analyze audio properties |
| omnictl CLI | New | Voice testing tool |
Documentation Updates¶
Local Providers Guide¶
Added comprehensive documentation for using local providers:
- Location:
docs/providers/index.md - Content:
- Local Providers section with F5-TTS MLX and Whisper MLX
- Setup instructions for Apple Silicon
- gRPC endpoint configuration
- Privacy and cost benefits
Registry Reference¶
Updated registry documentation with new endpoint option:
- Location:
docs/reference/registry.md - Content:
WithEndpointoption reference- gRPC provider configuration
- Examples for local and cloud providers
README Updates¶
Enhanced README with local provider information:
- Features: Added local provider icons and descriptions
- Included Providers: Listed F5-TTS MLX and Whisper MLX
- Related Packages: Referenced local provider packages
Migration Guide¶
Using Local Providers (No Changes Needed)¶
If you're already using omnivoice with cloud providers, local providers are opt-in. No migration required.
Adding Local Provider Support¶
To add local provider support to existing code:
// Before: Cloud providers only
import (
"github.com/plexusone/omnivoice"
_ "github.com/plexusone/omnivoice/providers/all"
)
// After: Cloud + Local providers (automatic via imports)
import (
"github.com/plexusone/omnivoice"
_ "github.com/plexusone/omnivoice/providers/all" // Includes local providers
)
// Just use WithEndpoint for local gRPC providers
opts := []registry.ProviderOption{
registry.WithEndpoint("localhost:50051"),
}
provider, _ := omnivoice.GetTTSProvider("f5tts-mlx", opts...)
Breaking Changes¶
None. This is a backward-compatible feature release.
Installation¶
Full Changelog¶
See CHANGELOG.md for the complete list of changes.