In the voice list output by say -v ?
, some names can speak multiple languages. (The answers on this question only deal with single-language voices.) A subset of what I see includes:
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. Jeg er en dansk stemme.
Satu fi_FI # Hei, minun nimeni on Satu. Olen suomalainen ääni.
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.
But say -v Shelley es_ES "Hola amigos"
doesn't work, and actually neither does say -v Shelley "Hi there"
; both fail with a repeated error like:
2023-04-14 16:15:34.968 say[96121:9557619] Could not retrieve voice [AVSpeechSynthesisProviderVoice 0x60000092cf00] Name: Shelley, Identifier: com.apple.eloquence.en-GB.Shelley, Supported Languages (
"en-GB"
), Age: 0, Gender: 0, Size: 0, Version: (null)
How do I use this voice and specify which language I want?