smileart/mac-say

View on GitHub
lib/mac/say/voices_attributes.rb

Summary

Maintainability
C
1 day
Test Coverage
# Additional voice attributes mixed to the original Hash of
# parsed voices (to provide additional context when looking for a voice)
#
# @note Unfortunately information in system *.plist files
#   e.g. /System/Library/Speech/Voices/<VoiceName>.SpeechVoice/Contents/Info.plist"
#   is inconsistent, fragmentary and sometimes incorrect, but:
#
#   WARNING: all the attributes values provided here are highly subjective!!!
ADDITIONAL_VOICE_ATTRIBUTES = {
    _unknown_voice: {
      gender: nil,
      joke: nil,
      quality: nil,
      singing: nil
    },
    agnes: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    albert: {
      gender: :male,
      joke: true,
      quality: :medium,
      singing: false
    },
    alex: {
      gender: :male,
      joke: false,
      quality: :medium,
      singing: false
    },
    alice: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    allison: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    alva: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    amelie: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    angelica: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    anna: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    audrey: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    aurelie: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    ava: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    :'bad news' => {
      gender: :male,
      joke: true,
      quality: :high,
      singing: true
    },
    bahh: {
      gender: :male,
      joke: true,
      quality: :low,
      singing: false
    },
    bells: {
      gender: :neutral,
      joke: true,
      quality: :medium,
      singing: true
    },
    boing: {
      gender: :neutral,
      joke: true,
      quality: :medium,
      singing: false
    },
    bruce: {
      gender: :male,
      joke: false,
      quality: :low,
      singing: false
    },
    bubbles: {
      gender: :male,
      joke: true,
      quality: :medium,
      singing: false
    },
    carlos: {
      gender: :male,
      joke: false,
      quality: :high,
      singing: false
    },
    carmit: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    catarina: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    cellos: {
      gender: :male,
      joke: true,
      quality: :medium,
      singing: true
    },
    cem: {
      gender: :male,
      joke: false,
      quality: :medium,
      singing: false
    },
    chantal: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    claire: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    damayanti: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    daniel: {
      gender: :male,
      joke: false,
      quality: :high,
      singing: false
    },
    deranged: {
      gender: :neutral,
      joke: true,
      quality: :medium,
      singing: false
    },
    diego: {
      gender: :male,
      joke: false,
      quality: :low,
      singing: false
    },
    ellen: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    ewa: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    federica: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    felipe: {
      gender: :male,
      joke: false,
      quality: :medium,
      singing: false
    },
    fiona: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    fred: {
      gender: :male,
      joke: true,
      quality: :low,
      singing: false
    },
    :'good news' => {
      gender: :male,
      joke: true,
      quality: :high,
      singing: true
    },
    henrik: {
      gender: :male,
      joke: false,
      quality: :high,
      singing: false
    },
    hysterical: {
      gender: :male,
      joke: true,
      quality: :medium,
      singing: false
    },
    ioana: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    iveta: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    joana: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    jorge: {
      gender: :male,
      joke: false,
      quality: :low,
      singing: false
    },
    juan: {
      gender: :male,
      joke: false,
      quality: :medium,
      singing: false
    },
    junior: {
      gender: :male,
      joke: true,
      quality: :low,
      singing: false
    },
    kanya: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    karen: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    kate: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    kathy: {
      gender: :female,
      joke: true,
      quality: :low,
      singing: false
    },
    katya: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    klara: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    kyoko: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    laila: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    laura: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    lee: {
      gender: :male,
      joke: false,
      quality: :high,
      singing: false
    },
    lekha: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    luca: {
      gender: :male,
      joke: false,
      quality: :high,
      singing: false
    },
    luciana: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    maged: {
      gender: :male,
      joke: false,
      quality: :low,
      singing: false
    },
    magnus: {
      gender: :male,
      joke: false,
      quality: :medium,
      singing: false
    },
    mariska: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    markus: {
      gender: :male,
      joke: false,
      quality: :low,
      singing: false
    },
    :'mei-jia' => {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    melina: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    milena: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    moira: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    monica: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    nicolas: {
      gender: :male,
      joke: false,
      quality: :high,
      singing: false
    },
    nikos: {
      gender: :male,
      joke: false,
      quality: :medium,
      singing: false
    },
    nora: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    oliver: {
      gender: :male,
      joke: false,
      quality: :low,
      singing: false
    },
    oskar: {
      gender: :male,
      joke: false,
      quality: :medium,
      singing: false
    },
    otoya: {
      gender: :male,
      joke: false,
      quality: :medium,
      singing: false
    },
    paola: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    paulina: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    petra: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    :'pipe organ' => {
      gender: :male,
      joke: true,
      quality: :high,
      singing: true
    },
    princess: {
      gender: :female,
      joke: true,
      quality: :low,
      singing: false
    },
    ralph: {
      gender: :male,
      joke: true,
      quality: :low,
      singing: false
    },
    samantha: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    sara: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    satu: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    serena: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    :'sin-ji' => {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    soledad: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    susan: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    tarik: {
      gender: :male,
      joke: false,
      quality: :low,
      singing: false
    },
    tessa: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    thomas: {
      gender: :male,
      joke: false,
      quality: :high,
      singing: false
    },
    :'ting-ting' => {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    tom: {
      gender: :male,
      joke: false,
      quality: :high,
      singing: false
    },
    trinoids: {
      gender: :neutral,
      joke: true,
      quality: :medium,
      singing: false
    },
    veena: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    },
    vicki: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    victoria: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    whisper: {
      gender: :male,
      joke: true,
      quality: :medium,
      singing: false
    },
    xander: {
      gender: :male,
      joke: false,
      quality: :high,
      singing: false
    },
    yannick: {
      gender: :male,
      joke: false,
      quality: :medium,
      singing: false
    },
    yelda: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    yuna: {
      gender: :female,
      joke: false,
      quality: :medium,
      singing: false
    },
    yuri: {
      gender: :male,
      joke: false,
      quality: :low,
      singing: false
    },
    zarvox: {
      gender: :neutral,
      joke: true,
      quality: :medium,
      singing: false
    },
    zosia: {
      gender: :female,
      joke: false,
      quality: :low,
      singing: false
    },
    zuzana: {
      gender: :female,
      joke: false,
      quality: :high,
      singing: false
    }
}.freeze