1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
use std::collections::HashMap;

use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug)]
pub struct Voice {
    #[serde(rename = "Name")]
    pub name: String,

    #[serde(rename = "DisplayName")]
    pub display_name: String,

    #[serde(rename = "LocalName")]
    pub local_name: String,

    #[serde(rename = "ShortName")]
    pub short_name: String,

    #[serde(rename = "Gender")]
    pub gender: String,

    #[serde(rename = "Locale")]
    pub locale: String,

    #[serde(rename = "LocaleName")]
    pub locale_name: String,

    #[serde(rename = "SampleRateHertz")]
    pub sample_rate_hertz: String,

    #[serde(rename = "VoiceType")]
    pub voice_type: String,

    #[serde(rename = "Status")]
    pub status: String,

    #[serde(rename = "WordsPerMinute")]
    pub words_per_minute: Option<String>,

    #[serde(rename = "StyleList")]
    pub style_list: Option<Vec<String>>,

    #[serde(rename = "RolePlayList")]
    pub role_play_list: Option<Vec<String>>,

    #[serde(rename = "SecondaryLocaleList")]
    pub secondary_locale_list: Option<Vec<String>>,

    #[serde(rename = "ExtendedPropertyMap")]
    pub extended_property_map: Option<HashMap<String, String>>,
}