Fixed kokoro loading process.
This commit is contained in:
@@ -11,7 +11,7 @@ export class OpenAITTSModule extends ApiTTSModuleBase {
|
||||
// Voice options specific to OpenAI
|
||||
this.voiceOptions = {
|
||||
voice: 'alloy', // Default voice for OpenAI
|
||||
model: 'tts-1', // Standard model
|
||||
model: 'tts-1-hd', // Standard model
|
||||
speed: 1.0,
|
||||
response_format: 'mp3' // OpenAI supports mp3, opus, aac, and flac (not wav)
|
||||
};
|
||||
@@ -19,11 +19,16 @@ export class OpenAITTSModule extends ApiTTSModuleBase {
|
||||
// Predefined voices - OpenAI has a fixed set
|
||||
this.voices = [
|
||||
{ id: 'alloy', name: 'Alloy', language: 'en' },
|
||||
{ id: 'ash', name: 'Ash', language: 'en' },
|
||||
{ id: 'ballad', name: 'Ballad', language: 'en' },
|
||||
{ id: 'coral', name: 'Coral', language: 'en' },
|
||||
{ id: 'echo', name: 'Echo', language: 'en' },
|
||||
{ id: 'fable', name: 'Fable', language: 'en' },
|
||||
{ id: 'onyx', name: 'Onyx', language: 'en' },
|
||||
{ id: 'nova', name: 'Nova', language: 'en' },
|
||||
{ id: 'shimmer', name: 'Shimmer', language: 'en' }
|
||||
{ id: 'sage', name: 'Sage', language: 'en' },
|
||||
{ id: 'shimmer', name: 'Shimmer', language: 'en' },
|
||||
{ id: 'verse', name: 'Verse', language: 'en' }
|
||||
];
|
||||
}
|
||||
|
||||
@@ -208,7 +213,14 @@ export class OpenAITTSModule extends ApiTTSModuleBase {
|
||||
}
|
||||
|
||||
if (typeof options.speed === 'number') {
|
||||
this.voiceOptions.speed = Math.max(0.5, Math.min(2.0, options.speed));
|
||||
// OpenAI API supports speed values from 0.25 to 4.0 with 1 as default
|
||||
if (options.speed <= 0.5) {
|
||||
// Map [0, 0.5] -> [0.25, 1]
|
||||
this.voiceOptions.speed = 0.25 + (1 - 0.25) * (options.speed / 0.5);
|
||||
} else {
|
||||
// Map [0.5, 1] -> [1, 4]
|
||||
this.voiceOptions.speed = 1 + (4 - 1) * ((options.speed - 0.5) / 0.5);
|
||||
}
|
||||
}
|
||||
|
||||
// Handle OpenAI-specific options
|
||||
|
||||
Reference in New Issue
Block a user