noti
                                
                                 noti copied to clipboard
                                
                                    noti copied to clipboard
                            
                            
                            
                        "Default" voice ("Alex") doesn't seem to exist anymore on macOS 14.2
Hi!
While trying to get noti to speak a message on a fresh install, I got the following error message (and no sound).
Voice `Alex' not found.
We indeed don't find it listed under the available voices on OSX:
❯ say -v '?'      
Albert              en_US    # Hello! My name is Albert.
Alice               it_IT    # Ciao! Mi chiamo Alice.
Alva                sv_SE    # Hej! Jag heter Alva.
Amélie              fr_CA    # Bonjour! Je m’appelle Amélie.
Amira               ms_MY    # Hi my name is Amira
Anna                de_DE    # Hallo! Ich heiße Anna.
Bad News            en_US    # Hello! My name is Bad News.
Bahh                en_US    # Hello! My name is Bahh.
...
Zuzana              cs_CZ    # Hi my name is Zuzana
Would it be possible to not set a default voice? (IIUC the system's default is correctly picked up by the underlying say tool)
Verbose output
❯  noti --verbose -t "My Title" -m "My Message" -s
os.Args: [noti --verbose -t My Title -m My Message -s]
failed to read config file: [open .noti.yaml: no such file or directory open /Users/aisamu/.config/noti/noti.yaml: no such file or directory]
Running command: []
Title: My Title
Message: My Message
Time: false
Services: map[speech:{}]
Viper: map[bearychat:map[incominghookuri:] defaults:[banner] espeak:map[voicename:english-us] gchat:map[appurl: template:*{{.title}}*: {{.message}}] keybase:map[channel: conversation: explodinglifetime: public:] mattermost:map[channel: iconurl: incominghookuri: username:noti] message:My Message nsuser:map[soundname:Ping soundnamefail:Basso] pushbullet:map[accesstoken: deviceiden:] pushover:map[apitoken: userkey:] pushsafer:map[key:] say:map[voice:Alex] simplepush:map[event: key:] slack:map[channel: token: username:noti] speechsynthesizer:map[voice:Microsoft David Desktop] telegram:map[chatid: token: topic:] time:false title:My Title twilio:map[accountsid: authtoken: numberfrom: numberto:] zulip:map[botaddress: key: to: type:private uri:]]
1 notifications queued
Voice `Alex' not found.
2023/12/22 15:34:51 exit status 1
Context
❯ uname -a                                       
Darwin aisamu 23.2.0 Darwin Kernel Version 23.2.0: Wed Nov 15 21:55:06 PST 2023; root:xnu-10002.61.3~2/RELEASE_ARM64_T6020 arm64 arm Darwin
(i.e. macOS Sonoma 14.2)
Thanks for writing noti!  🎉
Weirdly, I see it:
say -v '?'
Albert              en_US    # Hello! My name is Albert.
Alex                en_US    # Hello! My name is Alex.
…
Could that be a locale difference?
Here's my complete list FWIW:
Albert              en_US    # Hello! My name is Albert.
Alice               it_IT    # Ciao! Mi chiamo Alice.
Alva                sv_SE    # Hej! Jag heter Alva.
Amélie              fr_CA    # Bonjour! Je m’appelle Amélie.
Amira               ms_MY    # Hi my name is Amira
Anna                de_DE    # Hallo! Ich heiße Anna.
Bad News            en_US    # Hello! My name is Bad News.
Bahh                en_US    # Hello! My name is Bahh.
Bells               en_US    # Hello! My name is Bells.
Boing               en_US    # Hello! My name is Boing.
Bubbles             en_US    # Hello! My name is Bubbles.
Carmit              he_IL    # שלום, שמי כרמית.
Cellos              en_US    # Hello! My name is Cellos.
Damayanti           id_ID    # Halo! Nama saya Damayanti.
Daniel              en_GB    # Hello! My name is Daniel.
Daria               bg_BG    # Hello! My name is Daria.
Wobble              en_US    # Hello! My name is Wobble.
Eddy (German (Germany)) de_DE    # Hallo! Ich heiße Eddy.
Eddy (English (UK)) en_GB    # Hello! My name is Eddy.
Eddy (English (US)) en_US    # Hello! My name is Eddy.
Eddy (Spanish (Spain)) es_ES    # ¡Hola! Me llamo Eddy.
Eddy (Spanish (Mexico)) es_MX    # ¡Hola! Me llamo Eddy.
Eddy (Finnish (Finland)) fi_FI    # Hei! Nimeni on Eddy.
Eddy (French (Canada)) fr_CA    # Bonjour! Je m’appelle Eddy.
Eddy (French (France)) fr_FR    # Bonjour, je m’appelle Eddy.
Eddy (Italian (Italy)) it_IT    # Ciao! Mi chiamo Eddy.
Eddy (Portuguese (Brazil)) pt_BR    # Olá, meu nome é Eddy.
Ellen               nl_BE    # Hallo! Mijn naam is Ellen.
Flo (German (Germany)) de_DE    # Hallo! Ich heiße Flo.
Flo (English (UK))  en_GB    # Hello! My name is Flo.
Flo (English (US))  en_US    # Hello! My name is Flo.
Flo (Spanish (Spain)) es_ES    # ¡Hola! Me llamo Flo.
Flo (Spanish (Mexico)) es_MX    # ¡Hola! Me llamo Flo.
Flo (Finnish (Finland)) fi_FI    # Hei! Nimeni on Flo.
Flo (French (Canada)) fr_CA    # Bonjour! Je m’appelle Flo.
Flo (French (France)) fr_FR    # Bonjour, je m’appelle Flo.
Flo (Italian (Italy)) it_IT    # Ciao! Mi chiamo Flo.
Flo (Portuguese (Brazil)) pt_BR    # Olá, meu nome é Flo.
Fred                en_US    # Hello! My name is Fred.
Good News           en_US    # Hello! My name is Good News.
Grandma (German (Germany)) de_DE    # Hallo! Ich heiße Grandma.
Grandma (English (UK)) en_GB    # Hello! My name is Grandma.
Grandma (English (US)) en_US    # Hello! My name is Grandma.
Grandma (Spanish (Spain)) es_ES    # ¡Hola! Me llamo Grandma.
Grandma (Spanish (Mexico)) es_MX    # ¡Hola! Me llamo Grandma.
Grandma (Finnish (Finland)) fi_FI    # Hei! Nimeni on Grandma.
Grandma (French (Canada)) fr_CA    # Bonjour! Je m’appelle Grandma.
Grandma (French (France)) fr_FR    # Bonjour, je m’appelle Grandma.
Grandma (Italian (Italy)) it_IT    # Ciao! Mi chiamo Grandma.
Grandma (Portuguese (Brazil)) pt_BR    # Olá, meu nome é Grandma.
Grandpa (German (Germany)) de_DE    # Hallo! Ich heiße Grandpa.
Grandpa (English (UK)) en_GB    # Hello! My name is Grandpa.
Grandpa (English (US)) en_US    # Hello! My name is Grandpa.
Grandpa (Spanish (Spain)) es_ES    # ¡Hola! Me llamo Grandpa.
Grandpa (Spanish (Mexico)) es_MX    # ¡Hola! Me llamo Grandpa.
Grandpa (Finnish (Finland)) fi_FI    # Hei! Nimeni on Grandpa.
Grandpa (French (Canada)) fr_CA    # Bonjour! Je m’appelle Grandpa.
Grandpa (French (France)) fr_FR    # Bonjour, je m’appelle Grandpa.
Grandpa (Italian (Italy)) it_IT    # Ciao! Mi chiamo Grandpa.
Grandpa (Portuguese (Brazil)) pt_BR    # Olá, meu nome é Grandpa.
Jester              en_US    # Hello! My name is Jester.
Ioana               ro_RO    # Salut! Numele meu este Ioana.
Jacques             fr_FR    # Bonjour, je m’appelle Jacques.
Joana               pt_PT    # Olá! Chamo‑me Joana.
Junior              en_US    # Hello! My name is Junior.
Kanya               th_TH    # สวัสดี! ฉันชื่อกันยา
Karen               en_AU    # Hi my name is Karen
Kathy               en_US    # Hello! My name is Kathy.
Kyoko               ja_JP    # こんにちは! 私の名前はKyokoです。
Lana                hr_HR    # Bok, zovem se Lana.
Laura               sk_SK    # Ahoj, volám sa Laura.
Lekha               hi_IN    # नमस्ते, मेरा नाम लेखा है।
Lesya               uk_UA    # Привіт! Мене звуть Леся.
Linh                vi_VN    # Xin chào! Tên tôi là Linh.
Luciana             pt_BR    # Olá, meu nome é Luciana.
Majed               ar_001   # مرحبًا! اسمي ماجد.
Tünde               hu_HU    # Üdvözlöm! A nevem Tünde.
Meijia              zh_TW    # 你好,我叫美佳。
Melina              el_GR    # Χαίρετε! Το όνομά μου είναι «Μελίνα».
Milena              ru_RU    # Здравствуйте! Меня зовут Милена.
Moira               en_IE    # Hello! My name is Moira.
Mónica              es_ES    # ¡Hola! Me llamo Mónica.
Montse              ca_ES    # Hola! Em dic Montse.
Nora                nb_NO    # Hei! Jeg heter Nora.
Organ               en_US    # Hello! My name is Organ.
Paulina             es_MX    # ¡Hola! Me llamo Paulina.
Superstar           en_US    # Hello! My name is Superstar.
Ralph               en_US    # Hello! My name is Ralph.
Reed (German (Germany)) de_DE    # Hallo! Ich heiße Reed.
Reed (English (UK)) en_GB    # Hello! My name is Reed.
Reed (English (US)) en_US    # Hello! My name is Reed.
Reed (Spanish (Spain)) es_ES    # ¡Hola! Me llamo Reed.
Reed (Spanish (Mexico)) es_MX    # ¡Hola! Me llamo Reed.
Reed (Finnish (Finland)) fi_FI    # Hei! Nimeni on Reed.
Reed (French (Canada)) fr_CA    # Bonjour! Je m’appelle Reed.
Reed (Italian (Italy)) it_IT    # Ciao! Mi chiamo Reed.
Reed (Portuguese (Brazil)) pt_BR    # Olá, meu nome é Reed.
Rishi               en_IN    # Hello! My name is Rishi.
Rocko (German (Germany)) de_DE    # Hallo! Ich heiße Rocko.
Rocko (English (UK)) en_GB    # Hello! My name is Rocko.
Rocko (English (US)) en_US    # Hello! My name is Rocko.
Rocko (Spanish (Spain)) es_ES    # ¡Hola! Me llamo Rocko.
Rocko (Spanish (Mexico)) es_MX    # ¡Hola! Me llamo Rocko.
Rocko (Finnish (Finland)) fi_FI    # Hei! Nimeni on Rocko.
Rocko (French (Canada)) fr_CA    # Bonjour! Je m’appelle Rocko.
Rocko (French (France)) fr_FR    # Bonjour, je m’appelle Rocko.
Rocko (Italian (Italy)) it_IT    # Ciao! Mi chiamo Rocko.
Rocko (Portuguese (Brazil)) pt_BR    # Olá, meu nome é Rocko.
Samantha            en_US    # Hello! My name is Samantha.
Samantha (Enhanced) en_US    # Hello! My name is Samantha.
Sandy (German (Germany)) de_DE    # Hallo! Ich heiße Sandy.
Sandy (English (UK)) en_GB    # Hello! My name is Sandy.
Sandy (English (US)) en_US    # Hello! My name is Sandy.
Sandy (Spanish (Spain)) es_ES    # ¡Hola! Me llamo Sandy.
Sandy (Spanish (Mexico)) es_MX    # ¡Hola! Me llamo Sandy.
Sandy (Finnish (Finland)) fi_FI    # Hei! Nimeni on Sandy.
Sandy (French (Canada)) fr_CA    # Bonjour! Je m’appelle Sandy.
Sandy (French (France)) fr_FR    # Bonjour, je m’appelle Sandy.
Sandy (Italian (Italy)) it_IT    # Ciao! Mi chiamo Sandy.
Sandy (Portuguese (Brazil)) pt_BR    # Olá, meu nome é Sandy.
Sara                da_DK    # Hej! Jeg hedder Sara.
Satu                fi_FI    # Hei! Nimeni on Satu.
Shelley (German (Germany)) de_DE    # Hallo! Ich heiße Shelley.
Shelley (English (UK)) en_GB    # Hello! My name is Shelley.
Shelley (English (US)) en_US    # Hello! My name is Shelley.
Shelley (Spanish (Spain)) es_ES    # ¡Hola! Me llamo Shelley.
Shelley (Spanish (Mexico)) es_MX    # ¡Hola! Me llamo Shelley.
Shelley (Finnish (Finland)) fi_FI    # Hei! Nimeni on Shelley.
Shelley (French (Canada)) fr_CA    # Bonjour! Je m’appelle Shelley.
Shelley (French (France)) fr_FR    # Bonjour, je m’appelle Shelley.
Shelley (Italian (Italy)) it_IT    # Ciao! Mi chiamo Shelley.
Shelley (Portuguese (Brazil)) pt_BR    # Olá, meu nome é Shelley.
Sinji               zh_HK    # 你好!我叫善怡。
Tessa               en_ZA    # Hello! My name is Tessa.
Thomas              fr_FR    # Bonjour, je m’appelle Thomas.
Tingting            zh_CN    # Hi my name is Tingting
Trinoids            en_US    # Hello! My name is Trinoids.
Whisper             en_US    # Hello! My name is Whisper.
Xander              nl_NL    # Hallo! Mijn naam is Xander.
Yelda               tr_TR    # Merhaba, benim adım Yelda.
Yuna                ko_KR    # 안녕하세요. 제 이름은 유나입니다.
Zarvox              en_US    # Hello! My name is Zarvox.
Zoe (Premium)       en_US    # Hello! My name is Zoe.
Zosia               pl_PL    # Hi my name is Zosia
Zuzana              cs_CZ    # Hi my name is Zuzana
I probably downloaded it and forgot about it :)
FWIW, I did not have Alex either. But I was able to go into VoiceOver Utility -> Manage Voices -> English and choose Alex. It is a ~900mb download. After that, the voice worked in noti.
MacOS 14.2.1