Skip to content

Instantly share code, notes, and snippets.

@mculp
Created December 3, 2014 00:14
Show Gist options
  • Save mculp/4b95752e25c456d425c6 to your computer and use it in GitHub Desktop.
Save mculp/4b95752e25c456d425c6 to your computer and use it in GitHub Desktop.
List of voices available by the `say` command on OS X
Agnes en_US # Isn't it nice to have a computer that will talk to you?
Albert en_US # I have a frog in my throat. No, I mean a real frog!
Alex en_US # Most people recognize me by my voice.
Alice it_IT # Salve, mi chiamo Alice e sono una voce italiana.
Alva sv_SE # Hej, jag heter Alva. Jag är en svensk röst.
Amelie fr_CA # Bonjour, je m’appelle Amelie. Je suis une voix canadienne.
Anna de_DE # Hallo, ich heiße Anna und ich bin eine deutsche Stimme.
Bad News en_US # The light you see at the end of the tunnel is the headlamp of a fast approaching train.
Bahh en_US # Do not pull the wool over my eyes.
Bells en_US # Time flies when you are having fun.
Boing en_US # Spring has sprung, fall has fell, winter's here and it's colder than usual.
Bruce en_US # I sure like being inside this fancy computer
Bubbles en_US # Pull the plug! I'm drowning!
Carmit he_IL # שלום. קוראים לי כרמית, ואני קול בשפה העברית.
Cellos en_US # Doo da doo da dum dee dee doodly doo dum dum dum doo da doo da doo da doo da doo da doo da doo
Damayanti id_ID # Halo, nama saya Damayanti. Saya berbahasa Indonesia.
Daniel en_GB # Hello, my name is Daniel. I am a British-English voice.
Deranged en_US # I need to go on a really long vacation.
Diego es_AR # Hola, me llamo Diego y soy una voz española.
Ellen nl_BE # Hallo, mijn naam is Ellen. Ik ben een Belgische stem.
Fiona en-scotland # Hello, my name is Fiona. I am a Scottish-English voice.
Fred en_US # I sure like being inside this fancy computer
Good News en_US # Congratulations you just won the sweepstakes and you don't have to pay income tax again.
Hysterical en_US # Please stop tickling me!
Ioana ro_RO # Bună, mă cheamă Ioana . Sunt o voce românească.
Joana pt_PT # Olá, chamo-me Joana e dou voz ao português falado em Portugal.
Junior en_US # My favorite food is pizza.
Kanya th_TH # สวัสดีค่ะ ดิฉันชื่อKanya
Karen en_AU # Hello, my name is Karen. I am an Australian-English voice.
Kathy en_US # Isn't it nice to have a computer that will talk to you?
Kyoko ja_JP # こんにちは、私の名前はKyokoです。日本語の音声をお届けします。
Laura sk_SK # Ahoj. Volám sa Laura . Som hlas v slovenskom jazyku.
Lekha hi_IN # नमस्कार, मेरा नाम लेखा है.Lekha[[FEMALE_NAME]]मै हिंदी मे बोलने वाली आवाज़ हूँ.
Luciana pt_BR # Olá, o meu nome é Luciana e a minha voz corresponde ao português que é falado no Brasil
Mariska hu_HU # Üdvözlöm! Mariska vagyok. Én vagyok a magyar hang.
Mei-Jia zh_TW # 您好,我叫美佳。我說國語。
Melina el_GR # Γεια σας, ονομάζομαι Melina. Είμαι μια ελληνική φωνή.
Milena ru_RU # Здравствуйте, меня зовут Milena. Я – русский голос системы.
Moira en_IE # Hello, my name is Moira. I am an Irish-English voice.
Monica es_ES # Hola, me llamo Monica y soy una voz española.
Nora nb_NO # Hei, jeg heter Nora. Jeg er en norsk stemme.
Paulina es_MX # Hola, me llamo Paulina y soy una voz mexicana.
Pipe Organ en_US # We must rejoice in this morbid voice.
Princess en_US # When I grow up I'm going to be a scientist.
Ralph en_US # The sum of the squares of the legs of a right triangle is equal to the square of the hypotenuse.
Samantha en_US # Hello, my name is Samantha. I am an American-English voice.
Sara da_DK # Hej, jeg hedder Sara. Jeg er en dansk stemme.
Satu fi_FI # Hei, minun nimeni on Satu. Olen suomalainen ääni.
Sin-ji zh_HK # 您好,我叫 Sin-ji。我講廣東話。
Tarik ar_SA # مرحبًا اسمي Tarik. أنا عربي من السعودية.
Tessa en_ZA # Hello, my name is Tessa. I am a South African-English voice.
Thomas fr_FR # Bonjour, je m’appelle Thomas. Je suis une voix française.
Ting-Ting zh_CN # 您好,我叫Ting-Ting。我讲中文普通话。
Trinoids en_US # We cannot communicate with these carbon units.
Veena en_IN # Hello, my name is Veena. I am an Indian-English voice.
Vicki en_US # Isn't it nice to have a computer that will talk to you?
Victoria en_US # Isn't it nice to have a computer that will talk to you?
Whisper en_US # Pssssst, hey you, Yeah you, Who do ya think I'm talking to, the mouse?
Xander nl_NL # Hallo, mijn naam is Xander. Ik ben een Nederlandse stem.
Yelda tr_TR # Merhaba, benim adım Yelda. Ben Türkçe bir sesim.
Yuna ko_KR # 안녕하세요. 제 이름은 Yuna입니다. 저는 한국어 음성입니다.
Zarvox en_US # That looks like a peaceful planet.
Zosia pl_PL # Witaj. Mam na imię Zosia, jestem głosem kobiecym dla języka polskiego.
Zuzana cs_CZ # Dobrý den, jmenuji se Zuzana. Jsem český hlas.
@knoxilla
Copy link

... you can get the missing ones and more in Preferences > Accessibility > Speech, clicking the voice selector and in there Customize

Indeed, many thanks! 👍

@TheRealGeek
Copy link

@anthonyshibitov you can get the missing ones and more in Preferences > Accessibility > Speech, clicking the voice selector and in there Customize

Thanks!!!

@mvaneijgen
Copy link

Anyone know which of these voices are the Siri Female (United States) which I can select in Settings > Accessibility > Speech. I've tested them all, but none seem to sound like that voice.

I am asking because I need to convert some text to audio and I want to have it sound the same as when I select some text and have it speak with Option+ Esc.

@jdbool
Copy link

jdbool commented Nov 28, 2019

Anyone know which of these voices are the Siri Female (United States) which I can select in Settings > Accessibility > Speech. I've tested them all, but none seem to sound like that voice.

I am asking because I need to convert some text to audio and I want to have it sound the same as when I select some text and have it speak with Option+ Esc.

Samantha

@mvaneijgen
Copy link

Anyone know which of these voices are the Siri Female (United States) which I can select in Settings > Accessibility > Speech. I've tested them all, but none seem to sound like that voice.
I am asking because I need to convert some text to audio and I want to have it sound the same as when I select some text and have it speak with Option+ Esc.

Samantha

I did some testing and Samantha is not really the same voice if you have a listen. These are Siri on iOS, Siri on macOS and Samantha compared.

@FlipMuc
Copy link

FlipMuc commented Mar 5, 2020

I was able to download the German Siri voice through the accessibility tab.
When hovering over the entry "Siri Female (Germany)" it reveals, that the voice is actually called "Helena".

I was able to find a HelenaSiri.SpeechVoice folder in System/Library /Speech/Voices, however when trying to use this voice in the terminal, I always get the message "Voice 'Helena' not found.

All other alternatives like HelenaSiri, Helena Siri, etc. don't work either.

BTW for you Americans, your Siri voice is actually called NoraSiri. But same issue applies.

Any idea how to get it done?

@mvaneijgen
Copy link

@FlipMuc amazing research I've done some more digging and found this Alfred workflow which is not really the solution, but I'm researching it now an it seems a step in the right direction.

@mcauser
Copy link

mcauser commented Jun 22, 2020

say -v '?' | awk '{print $1}' | while read voice; do printf "using $voice...\n"; say -v $voice "hello, this is me using the $voice voice"; sleep 1; done

@Pysis868
Copy link

set voiceNamesList (say -v \? | tr -s ' ' | sort -k2 | awk '{print $1,$2}' | tr '\n' ' ');
set voiceName (eval dialog --stdout --menu testy 25 40 15 $voiceNamesList); clear;
set voiceLine (say -v '?' | grep "$voiceName");

test -z "$voiceLine";
and echo "Error: No voice found for $voiceName.";
or begin;
  set voiceText (echo "$voiceLine" | tr -s ' '  | cut -d' ' -f3- | sed -r 's|^# ||');
  set command "say -v '$voiceName' '$voiceText'";
  echo "$voiceLine";
  eval "$command";
end

@m7ess5
Copy link

m7ess5 commented Jun 28, 2020

@mcauser, I like your command line, is there a way to feed the script with the voices.txt file or an XML file in order to make it say the file's commented text, which in their native correspondent language?

say -v '?' | awk '{print $1}' | while read voice; do printf "using $voice...\n"; say -v $voice "hello, this is me using the $voice voice"; sleep 1; done

@Pysis868
Copy link

@maustyle Isn't that what I just posted?

@m7ess5
Copy link

m7ess5 commented Jul 11, 2020

@maustyle Isn't that what I just posted?

The code part say -v $voice "hello, this is me using the $voice voice" only speaks English. How can you feed it your list to make it say "hello, this is me using.." in its own language, instead of always in English?

@arturom
Copy link

arturom commented Jul 16, 2020

@maustyle

say -v '?' | while read line;
    do
        voice=$(echo $line | awk '{print $1}');
        phrase=$(echo $line | awk '{split($0,a,"#"); print a[2]}');
        echo "($voice) $phrase";
        say -v $voice "$voice: $phrase";
    done

@chrischma
Copy link

chrischma commented Jul 16, 2020

Thank you a lot for this list. It is useful.

Which of these voices are available in high quality? Read Samantha a lot, but i am not convinced. ... ;)

@m7ess5
Copy link

m7ess5 commented Jul 17, 2020

say -v '?' | while read line;
    do
    voice=$(echo $line | awk '{print $1..
    ..
    done

@arturom

Now the code you wrote is more dynamic, great!

  1. How do I execute the command to make this file (voices.txt) work?
  2. Does the script need to be saved as a file in the same folder of this file (voices.txt) ?
  3. Are there any requirements for this script to work with this file (voices.txt)?

Thank you!

@arturom
Copy link

arturom commented Jul 18, 2020

@maustyle

The file voices.txt isn't special in any way. You don't need to download it and there is not much you can do with it. You can recreate that file with a list of the voices installed in your own Mac by simply going to your terminal and typing this command:

say -v '?'

If your Mac has different voices installed, it will show those voices instead of the ones in this list.

  1. To execute the command I posted, you can simply copy/paste it into your terminal.
  2. You can also save it to a file named mycommand.sh in your desktop and executing it by typing sh ~/Desktop/mycommand.sh
  3. Again, voices.txt isn't special. If you want to install more voices, follow this guide

I split the script into many lines. Here is the same exact script I posted, but I deleted the new lines:

say -v '?' | while read line; do voice=$(echo $line | awk '{print $1}'); phrase=$(echo $line | awk '{split($0,a,"#"); print a[2]}'); echo "($voice) $phrase"; say -v $voice "$voice: $phrase"; done

@tjwds
Copy link

tjwds commented Sep 5, 2020

Reading the manpage for say (as one does), I noticed an --interactive flag, so here's a modified version of @arturom's script above which highlights each word as it is read:

say -v '?' | while read line;
    do
        voice=$(echo $line | awk '{print $1}');
        phrase=$(echo $line | awk '{split($0,a,"#"); print a[2]}');
        say --interactive -v $voice "$voice: $phrase";
    done

@Nastras
Copy link

Nastras commented Oct 8, 2020

Hello, can someone tell me what the language name for Siri is so I can read it out over the terminal with

cat text.txt | say -v anna -o vorgelesen.aiff

I have already tried Siri / siri for Anna but he tells me Siri does not exist.

cat text.txt | say -v siri -o vorgelesen.aiff
Voice `siri' not found.

Bildschirmfoto 2020-10-08 um 07 48 06

@mvaneijgen
Copy link

@Nastras that is the same problem I'm having and you can't, the Siri voices are not part of any of the other speech tools on macOS. Here is more detail on the issue mklement0/speak.awf#1

@Nastras
Copy link

Nastras commented Oct 8, 2020

Ok, I had already suspected something like that. I took the detour and let siri read the text and record it via soundflower and quick time to get an audio file without any loss.

Thanks for your hint.

@mvaneijgen
Copy link

@Nastras could you explain how that works, I would love to use something similar.

@Nastras
Copy link

Nastras commented Oct 8, 2020

I have followed these instructions. It is unfortunately in German but you can certainly have it translated. The text to be read aloud I wrote in a text file and let Siri read it out over the voice output.

https://www.netzwelt.de/anleitung/159266-soundflower-so-zeichnet-interne-quellen.html

I hope it helps you?

@sanjibnarzary
Copy link

Allison and Samanta are close to Siri voice. Both are downloadable from Speech content.

@chestozo
Copy link

chestozo commented Aug 7, 2021

+1 for this topic
in browser if you select some text and choose "Speak" in contextual menu - you will here a nice Siri voice
and apparently this voice is not available in the list of voices speechSynthesis.getVoices() :/

@upintheairsheep
Copy link

say -v cello droid

@Harm-Nullix
Copy link

say -v Agnes              " Isn't it nice to have a computer that will talk to you?"
say -v Albert                 "  I have a frog in my throat. No, I mean a real frog!"
say -v Alex                   " Most people recognize me by my voice."
say -v Alice                  " Salve, mi chiamo Alice e sono una voce italiana."
say -v Alva                   " Hej, jag heter Alva. Jag är en svensk röst."
say -v Amelie                  " Bonjour, je m’appelle Amelie. Je suis une voix canadienne."
say -v Anna                   " Hallo, ich heiße Anna und ich bin eine deutsche Stimme."
say -v Bad News               " The light you see at the end of the tunnel is the headlamp of a fast approaching train."
say -v Bahh                    " Do not pull the wool over my eyes."
say -v Bells                  " Time flies when you are having fun."
say -v Boing                  " Spring has sprung, fall has fell, winter's here and it's colder than usual."
say -v Bruce                  " I sure like being inside this fancy computer"
say -v Bubbles                " Pull the plug! I'm drowning!"
say -v Carmit                 " שלום. קוראים לי כרמית, ואני קול בשפה העברית."
say -v Cellos                 " Doo da doo da dum dee dee doodly doo dum dum dum doo da doo da doo da doo da doo da doo da doo"
say -v Damayanti              " Halo, nama saya Damayanti. Saya berbahasa Indonesia."
say -v Daniel                 " Hello, my name is Daniel. I am a British-English voice."
say -v Deranged              " I need to go on a really long vacation."
say -v Diego                   " Hola, me llamo Diego y soy una voz española."
say -v Ellen                   " Hallo, mijn naam is Ellen. Ik ben een Belgische stem."
say -v Fiona                " Hello, my name is Fiona. I am a Scottish-English voice."
say -v Fred                    " I sure like being inside this fancy computer"
say -v Good News               " Congratulations you just won the sweepstakes and you don't have to pay income tax again."
say -v Hysterical              " Please stop tickling me!"
say -v Ioana                   " Bună, mă cheamă Ioana . Sunt o voce românească."
say -v Joana                   " Olá, chamo-me Joana e dou voz ao português falado em Portugal."
say -v Junior                  " My favorite food is pizza."
say -v Kanya                   " สวัสดีค่ะ ดิฉันชื่อKanya"
say -v Karen                   " Hello, my name is Karen. I am an Australian-English voice."
say -v Kathy                   " Isn't it nice to have a computer that will talk to you?"
say -v Kyoko                   " こんにちは、私の名前はKyokoです。日本語の音声をお届けします。"
say -v Laura                   " Ahoj. Volám sa Laura . Som hlas v slovenskom jazyku."
say -v Lekha                   " नमस्कार, मेरा नाम लेखा है.Lekha[[FEMALE_NAME]]मै हिंदी मे बोलने वाली आवाज़ हूँ."
say -v Luciana                 " Olá, o meu nome é Luciana e a minha voz corresponde ao português que é falado no Brasil"
say -v Mariska                 " Üdvözlöm! Mariska vagyok. Én vagyok a magyar hang."
say -v Mei-Jia                 " 您好,我叫美佳。我說國語。"
say -v Melina                  " Γεια σας, ονομάζομαι Melina. Είμαι μια ελληνική φωνή."
say -v Milena                  " Здравствуйте, меня зовут Milena. Я – русский голос системы."
say -v Moira                   " Hello, my name is Moira. I am an Irish-English voice."
say -v Monica                  " Hola, me llamo Monica y soy una voz española."
say -v Nora                    " Hei, jeg heter Nora. Jeg er en norsk stemme."
say -v Paulina                 " Hola, me llamo Paulina y soy una voz mexicana."
say -v Pipe Organ              " We must rejoice in this morbid voice."
say -v Princess                " When I grow up I'm going to be a scientist."
say -v Ralph                   " The sum of the squares of the legs of a right triangle is equal to the square of the hypotenuse."
say -v Samantha                " Hello, my name is Samantha. I am an American-English voice."
say -v Sara                    " Hej, jeg hedder Sara. Jeg er en dansk stemme."
say -v Satu                    " Hei, minun nimeni on Satu. Olen suomalainen ääni."
say -v Sin-ji                  " 您好,我叫 Sin-ji。我講廣東話。"
say -v Tarik                   " مرحبًا اسمي Tarik. أنا عربي من السعودية."
say -v Tessa                   " Hello, my name is Tessa. I am a South African-English voice."
say -v Thomas                  " Bonjour, je m’appelle Thomas. Je suis une voix française."
say -v Ting-Ting               " 您好,我叫Ting-Ting。我讲中文普通话。"
say -v Trinoids                " We cannot communicate with these carbon units."
say -v Veena                   " Hello, my name is Veena. I am an Indian-English voice."
say -v Vicki                   " Isn't it nice to have a computer that will talk to you?"
say -v Victoria                " Isn't it nice to have a computer that will talk to you?"
say -v Whisper                 " Pssssst, hey you, Yeah you, Who do ya think I'm talking to, the mouse?"
say -v Xander                  " Hallo, mijn naam is Xander. Ik ben een Nederlandse stem."
say -v Yelda                   " Merhaba, benim adım Yelda. Ben Türkçe bir sesim."
say -v Yuna                    " 안녕하세요. 제 이름은 Yuna입니다. 저는 한국어 음성입니다."
say -v Zarvox                  " That looks like a peaceful planet."
say -v Zosia                   " Witaj. Mam na imię Zosia, jestem głosem kobiecym dla języka polskiego."
say -v Zuzana                  "Dobrý den, jmenuji se Zuzana. Jsem český hlas."

@nikitaosx
Copy link

The worst one is Bells. It gives me nightmares.

@sarimarton
Copy link

The worst one is Bells. It gives me nightmares.

@nikitaosx Then try Bahh...

@JnBrymn
Copy link

JnBrymn commented Aug 5, 2023

while read line; do
  VOICE=$(echo $line | awk -F " +" '{print $1}');
  TEXT=$(echo $line | cut -d "#" -f 2);
  echo "VOICE: $VOICE";
  say -v $VOICE "My name is $VOICE. $TEXT";
done < <(curl https://gist.githubusercontent.com/mculp/4b95752e25c456d425c6/raw/01dc37abb4bf100c7966e1d0b1e320d90333fd0b/voices.txt)

@Buggem
Copy link

Buggem commented Feb 11, 2024

this just a dump of say -v ?. nothing special

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment