diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-01 21:04:24 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-01 21:04:24 +0300 |
| commit | 7e1ab60bcff42d5e15aafc807781a6b3077b45f5 (patch) | |
| tree | 0deb0845ef89773b0ca3ed6f8fd07924ace6c79a /internal/audio | |
| parent | 7e84b912c56b65c070b2bbd6b0284505ba579338 (diff) | |
Fix Gemini audio provider defaults
Diffstat (limited to 'internal/audio')
| -rw-r--r-- | internal/audio/gemini_provider.go | 2 | ||||
| -rw-r--r-- | internal/audio/provider.go | 9 | ||||
| -rw-r--r-- | internal/audio/provider_test.go | 13 |
3 files changed, 13 insertions, 11 deletions
diff --git a/internal/audio/gemini_provider.go b/internal/audio/gemini_provider.go index 9900005..8d0c517 100644 --- a/internal/audio/gemini_provider.go +++ b/internal/audio/gemini_provider.go @@ -14,7 +14,7 @@ import ( ) const ( - defaultGeminiTTSModel = "gemini-2.5-flash-preview-tts" + defaultGeminiTTSModel = "gemini-2.5-flash" geminiTTSLanguageCode = "bg" geminiTTSChannels = 1 geminiTTSSampleRate = 24000 diff --git a/internal/audio/provider.go b/internal/audio/provider.go index 334e709..d750f31 100644 --- a/internal/audio/provider.go +++ b/internal/audio/provider.go @@ -17,7 +17,7 @@ type Provider interface { IsAvailable() error } -// Config holds common configuration for audio providers +// Config holds common configuration for audio providers. type Config struct { Provider string // Provider name: "openai" or "gemini" OutputDir string // Directory for output files @@ -32,7 +32,7 @@ type Config struct { // Gemini-specific settings GoogleAPIKey string - GeminiTTSModel string // "gemini-2.5-flash-preview-tts" + GeminiTTSModel string // "gemini-2.5-flash" GeminiVoice string // One of GeminiVoices, or empty for the model default. GeminiSpeed float64 // Prompt hint for desired speech speed } @@ -40,7 +40,7 @@ type Config struct { // DefaultConfig returns default configuration func DefaultProviderConfig() *Config { return &Config{ - Provider: "openai", + Provider: "gemini", OutputDir: "./", OutputFormat: "mp3", OpenAIModel: "gpt-4o-mini-tts", // New model with voice instructions support @@ -48,7 +48,7 @@ func DefaultProviderConfig() *Config { OpenAISpeed: 1.0, // OpenAISpeed: 0.98, // Default speed for clarity OpenAIInstruction: "You are speaking Bulgarian language (български език). Pronounce the Bulgarian text with authentic Bulgarian phonetics, not Russian. Speak slowly and clearly for language learners.", - GeminiTTSModel: "gemini-2.5-flash-preview-tts", + GeminiTTSModel: "gemini-2.5-flash", GeminiSpeed: 1.0, } } @@ -70,7 +70,6 @@ func NewProvider(config *Config) (Provider, error) { return nil, fmt.Errorf("Google API key is required") } return NewGeminiProvider(config) - default: return nil, fmt.Errorf("unknown audio provider: %s", config.Provider) } diff --git a/internal/audio/provider_test.go b/internal/audio/provider_test.go index 4c8d911..0b04d20 100644 --- a/internal/audio/provider_test.go +++ b/internal/audio/provider_test.go @@ -30,8 +30,8 @@ func (m *mockProvider) IsAvailable() error { func TestDefaultProviderConfig(t *testing.T) { config := DefaultProviderConfig() - if config.Provider != "openai" { - t.Errorf("Expected provider 'openai', got '%s'", config.Provider) + if config.Provider != "gemini" { + t.Errorf("Expected provider 'gemini', got '%s'", config.Provider) } if config.OutputFormat != "mp3" { @@ -50,10 +50,13 @@ func TestDefaultProviderConfig(t *testing.T) { t.Errorf("Expected OpenAI speed 1.0, got %f", config.OpenAISpeed) } - if config.GeminiTTSModel != "gemini-2.5-flash-preview-tts" { - t.Errorf("Expected Gemini TTS model 'gemini-2.5-flash-preview-tts', got '%s'", config.GeminiTTSModel) + if config.GeminiTTSModel != "gemini-2.5-flash" { + t.Errorf("Expected Gemini TTS model 'gemini-2.5-flash', got '%s'", config.GeminiTTSModel) } + if config.GeminiSpeed != 1.0 { + t.Errorf("Expected Gemini speed 1.0, got %f", config.GeminiSpeed) + } } func TestNewProvider(t *testing.T) { @@ -68,7 +71,7 @@ func TestNewProvider(t *testing.T) { name: "nil config uses defaults", config: nil, wantErr: true, - errMsg: "OpenAI API key is required", + errMsg: "Google API key is required", }, { name: "openai provider without key", |
