audio - Getting pronunciation of a word using Google Translate API - Stack Overflow
Easy way / short link to Google's pronunciation tool in Chrome?
Google Pronunciation
resources - What pronunciation does Google dictionary use? - English Language & Usage Stack Exchange
Videos
Since this question was asked, it's gotten much harder to "scrape" MP3s from Google Translate, but Google has (finally) set up a TTS API. Interestingly it is billed in input characters, with the first 1 or 4 million input characters per month being free (depending on whether you use WaveNet or old school voices)
Nowadays to do this using gcloud on the command line (versus building this into an app) you would do roughly as follows (I'm paraphrasing the TTS quick start). You need base64, curl, gcloud, and jq for this walkthrough.
- Create a project on the GCP console, or run something like
gcloud projects create example-throwaway-tts - Enable billing for the project. Do this even if you don't intend to exceed the freebie quota.
- Use the GCP console to enable the TTS API for the project you just set up.
- Use the console again, this time to make a new service account.
- Use any old name
- Don't give it a role. You'll get a warning. This is okay.
- Select key type JSON if it isn't already selected
- Click
Create - Hold onto the JSON file that your browser downloads
- Set an environment variable to point at that file, e.g.
export GOOGLE_APPLICATION_CREDENTIALS="~/Downloads/service-account-file.json" - Get the appropriate access token:
- Tell
gcloudto use that new project:gcloud config set project example-throwaway-tts - Set a variable
TTS_ACCESS_TOKEN=gcloud auth application-default print-access-token
- Tell
- Put together a JSON request. I'll give an example below. For this example we'll call it
request.json Lastly, run the following
curl \ -H "Authorization: Bearer "$TTS_ACCESS_TOKEN \ -H "Content-Type: application/json; charset=utf-8" \ --data-raw @request.json \ "https://texttospeech.googleapis.com/v1/text:synthesize" \ | jq '.audioContent' \ | base64 --decode > very_simple_example.mp3
What this does is to
- authenticate using the default access token for the project you set up
- set the content type to JSON (so that
jqcan extract the payload) - use
request.jsonas the data to send usingcurl's--data-rawflag - extract the value of
audioContentfrom the response base64decode that content- save the whole mess as an MP3
Contents of request.json follow. You can see where to insert your desired text, adjust the voice or change output formats via audioConfig:
{
'input':{
'text':'very simple example'
},
'voice':{
'languageCode':'en-gb',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'audioEncoding':'MP3'
}
}
Original Answer
As Hugolpz alludes, if you know the word or phrase you want (via a previous Translate API call), you can get MP3s from a URL like http://translate.google.com/translate_tts?ie=UTF-8&q=Bonjour&tl=fr
Note that &tl=fr ensures that you get French instead of the default English.
You will need to rate-limit yourself, but if you're looking for a small number of words or phrases you should be fine.
Similar functionality is provided by the Speech Synthesis API (under development). Third-party libraries are already there, such as ResponsiveVoice.JS.
Hi. I teach English, and Google has a great pronunciation help tool. You can see it at the link below for the word "therapist". Is there a better way to get to this tool / a shorter official link that I can use to direct students to this tool? Right now, I tell students to search "how to say _______" on Google, or share really long ugly links.
https://www.google.com/search?q=how+to+say+therapist&oq=how+to+say+therapist&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIHCAEQABiABDIHCAIQABiABDIHCAMQABiABDIHCAQQABiABDIHCAUQABiABDIHCAYQABiABDIHCAcQABiABDIHCAgQABiABDIHCAkQABiABNIBCDMyNzJqMGo3qAIAsAIA&sourceid=chrome&ie=UTF-8
Today I found an interesting tool.
I know Google Translate, it is a very useful tool. But today I searched in Google for "querying pronunciation" (my mother tongue is Brazilian Portuguese, and I'm improving my English).
If you search for "<anything> pronunciation", Google will show a box where you can listen the word, and while listening you will see lip/tongue movements, you can listen also in slow motion, and the best feature I see: a "Practice" button. Clicking, it will record your voice speaking the word and it will say if you said correctly, and if not, it will give clues like "it looks you said xxx instead" or "Good Job".
I want to ask what you think about this tool. Is it suggesting things correctly? Is it an ok tool to help on listening?
Google uses American pronunciation.
One of the most noticeable differences in pronunciation between AmE and BrE is that when words like hot, cop, cot, etc. are pronounced,
the o is pronounced as "ah" in AmE while it is pronounced as ɒ in BrE.
Here is a complete guide to learn British pronunciation (phonetic alphabet included) by BBC.
If you would like to hear how words are pronounced in British English, you may want to use the British Macmillan Dictionary. (But don't confuse yourself with the American Macmillan Dictionary, there is a small difference between their URLs.)
I can confirm Google uses American Pronunciation.
I searched for lambaste and the American pronunciation [lam'beist] was used where in British English it's [laem'baest] — hated it, really put my nose out of joint.