use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FallbackPlayHtVoice {
#[serde(rename = "cachingEnabled", skip_serializing_if = "Option::is_none")]
pub caching_enabled: Option<bool>,
#[serde(rename = "provider")]
pub provider: ProviderTrue,
#[serde(rename = "voiceId")]
pub voice_id: models::PlayHtVoiceVoiceId,
#[serde(rename = "speed", skip_serializing_if = "Option::is_none")]
pub speed: Option<f64>,
#[serde(rename = "temperature", skip_serializing_if = "Option::is_none")]
pub temperature: Option<f64>,
#[serde(rename = "emotion", skip_serializing_if = "Option::is_none")]
pub emotion: Option<EmotionTrue>,
#[serde(rename = "voiceGuidance", skip_serializing_if = "Option::is_none")]
pub voice_guidance: Option<f64>,
#[serde(rename = "styleGuidance", skip_serializing_if = "Option::is_none")]
pub style_guidance: Option<f64>,
#[serde(rename = "textGuidance", skip_serializing_if = "Option::is_none")]
pub text_guidance: Option<f64>,
#[serde(rename = "model", skip_serializing_if = "Option::is_none")]
pub model: Option<ModelTrue>,
#[serde(rename = "language", skip_serializing_if = "Option::is_none")]
pub language: Option<LanguageTrue>,
#[serde(rename = "chunkPlan", skip_serializing_if = "Option::is_none")]
pub chunk_plan: Option<models::ChunkPlan>,
}
impl FallbackPlayHtVoice {
pub fn new(
provider: ProviderTrue,
voice_id: models::PlayHtVoiceVoiceId,
) -> FallbackPlayHtVoice {
FallbackPlayHtVoice {
caching_enabled: None,
provider,
voice_id,
speed: None,
temperature: None,
emotion: None,
voice_guidance: None,
style_guidance: None,
text_guidance: None,
model: None,
language: None,
chunk_plan: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ProviderTrue {
#[serde(rename = "playht")]
Playht,
}
impl Default for ProviderTrue {
fn default() -> ProviderTrue {
Self::Playht
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EmotionTrue {
#[serde(rename = "female_happy")]
FemaleHappy,
#[serde(rename = "female_sad")]
FemaleSad,
#[serde(rename = "female_angry")]
FemaleAngry,
#[serde(rename = "female_fearful")]
FemaleFearful,
#[serde(rename = "female_disgust")]
FemaleDisgust,
#[serde(rename = "female_surprised")]
FemaleSurprised,
#[serde(rename = "male_happy")]
MaleHappy,
#[serde(rename = "male_sad")]
MaleSad,
#[serde(rename = "male_angry")]
MaleAngry,
#[serde(rename = "male_fearful")]
MaleFearful,
#[serde(rename = "male_disgust")]
MaleDisgust,
#[serde(rename = "male_surprised")]
MaleSurprised,
}
impl Default for EmotionTrue {
fn default() -> EmotionTrue {
Self::FemaleHappy
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ModelTrue {
#[serde(rename = "PlayHT2.0")]
PlayHt2Period0,
#[serde(rename = "PlayHT2.0-turbo")]
PlayHt2Period0Turbo,
#[serde(rename = "Play3.0-mini")]
Play3Period0Mini,
#[serde(rename = "PlayDialog")]
PlayDialog,
}
impl Default for ModelTrue {
fn default() -> ModelTrue {
Self::PlayHt2Period0
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum LanguageTrue {
#[serde(rename = "afrikaans")]
Afrikaans,
#[serde(rename = "albanian")]
Albanian,
#[serde(rename = "amharic")]
Amharic,
#[serde(rename = "arabic")]
Arabic,
#[serde(rename = "bengali")]
Bengali,
#[serde(rename = "bulgarian")]
Bulgarian,
#[serde(rename = "catalan")]
Catalan,
#[serde(rename = "croatian")]
Croatian,
#[serde(rename = "czech")]
Czech,
#[serde(rename = "danish")]
Danish,
#[serde(rename = "dutch")]
Dutch,
#[serde(rename = "english")]
English,
#[serde(rename = "french")]
French,
#[serde(rename = "galician")]
Galician,
#[serde(rename = "german")]
German,
#[serde(rename = "greek")]
Greek,
#[serde(rename = "hebrew")]
Hebrew,
#[serde(rename = "hindi")]
Hindi,
#[serde(rename = "hungarian")]
Hungarian,
#[serde(rename = "indonesian")]
Indonesian,
#[serde(rename = "italian")]
Italian,
#[serde(rename = "japanese")]
Japanese,
#[serde(rename = "korean")]
Korean,
#[serde(rename = "malay")]
Malay,
#[serde(rename = "mandarin")]
Mandarin,
#[serde(rename = "polish")]
Polish,
#[serde(rename = "portuguese")]
Portuguese,
#[serde(rename = "russian")]
Russian,
#[serde(rename = "serbian")]
Serbian,
#[serde(rename = "spanish")]
Spanish,
#[serde(rename = "swedish")]
Swedish,
#[serde(rename = "tagalog")]
Tagalog,
#[serde(rename = "thai")]
Thai,
#[serde(rename = "turkish")]
Turkish,
#[serde(rename = "ukrainian")]
Ukrainian,
#[serde(rename = "urdu")]
Urdu,
#[serde(rename = "xhosa")]
Xhosa,
}
impl Default for LanguageTrue {
fn default() -> LanguageTrue {
Self::Afrikaans
}
}