Set up your own Google Cloud API key
Google's best voices, on your own account, at Google's prices. Expect about 15 minutes of clicking around in a console you may never have opened before.
Google Cloud Text-to-Speech has the best voices Speakybara can use, including Chirp 3 HD and WaveNet; in the app they are called Studio. They are not built into the app: you bring your own key, the key stays on your PC, and Google bills you directly if you ever go past the free tier.
Being honest about the work: you need a Google account, a Cloud project and a billing account attached to it, even though the free tier costs nothing. If that sounds like a bad evening, the Natural voices are free and need no key at all. Complete, the subscription at the top of Settings (the app calls it Compleet), gives you the Studio voices without a key of your own, but it cannot be activated in the app yet.
What Google gives away each month
Per voice family, per month, on your own key. A page of running text is about 3,000 characters.
| Voice family | Free per month | About |
|---|---|---|
| Standard | 4,000,000 characters | 1,333 pages |
| WaveNet | 4,000,000 characters | 1,333 pages |
| Neural2 | 1,000,000 characters | 333 pages |
| Chirp 3 HD | 1,000,000 characters | 333 pages |
1,000,000 characters of Chirp 3 HD is roughly 333 pages a month. Most personal use never leaves the free tier; past it, Google charges your billing account at its own rates.
From nothing to a working key
Step 1
Create a Google Cloud project
Sign in to the Google Cloud Console with your Google account and create a project. The name is yours to pick; nothing in Speakybara refers to it.
Step 2
Enable the Cloud Text-to-Speech API
In that project, find the Cloud Text-to-Speech API and switch it on. This is the step people forget: a key without the API enabled returns an error on every sentence.
Step 3
Attach a billing account
Google asks for a billing account before it hands out Text-to-Speech quota, including the free part. You are not charged while you stay inside the free tier, but the card details do have to be there.
Step 4
Create an API key and restrict it
Create a key under Credentials and copy it. Then restrict it to the Cloud Text-to-Speech API, so a leaked key cannot be used for anything else in your project. Restricting is a minute of work and worth doing now rather than later.
Step 5
Paste it into Speakybara and test
Open Speakybara and go to Settings › Voice. Under Who reads aloud? pick Studio, paste the key in the field Google Cloud key and press Test. The line under the field says whether the key works, and the Voice per language lists fill with Google's voices. The key is stored in config.json on your PC and is only ever sent to Google.
On a Mac: Settings › Voice › API, with Google Cloud as the service.
Step 6
Watch the usage meter
Under the key, Usage this month has a bar per voice family: characters used, the percentage of the free allowance, and about how many pages are left. It counts as you read, and Settings › About Speakybara lists every voice service you used this month.
Speakybara keeps its own counter because Google's console shows requests rather than characters, and the billing overview stays at zero while you are inside the free tier. Six months of history are kept on your PC.
Worth knowing
- Sentences you have already heard are cached on your PC, so re-reading the same text starts instantly and costs no characters.
- Each voice family has its own free allowance, which is why the usage meter counts them separately.
- The key sits in your settings file in the Speakybara folder. Copying it to a second PC works; treat it like a password.
- If Google is unreachable mid-text, Speakybara carries on with the local voice and tells you once.
If something goes wrong
It goes to Google, and nowhere else. The key is stored in Speakybara's settings file on your own computer and is sent with each request to Google's Text-to-Speech service. Speakybara has no server in that path.
Google charges your billing account at its published rates for anything above the free characters. Speakybara cannot stop that for you, which is why the usage meter shows how far into the month's allowance you are.
Almost always one of three things: the Cloud Text-to-Speech API is not enabled in that project, no billing account is attached, or the key restriction is set to a different API. Check them in that order.
Rather not do any of that?
The Natural voices are free, need no key and work offline, and on Windows the Microsoft Edge voices need no key either. Complete, the subscription without keys (Compleet in the app), cannot be activated in the app yet.
Offline voices with Piper