Azure Speech on the free tier

English · 简体中文

Azure AI Speech is the plugin's Azure provider: several hundred neural voices in over a hundred languages, multilingual voices that read a mixed document in one go, and word timings — so Read Aloud highlights word by word. Its Free (F0) pricing tier gives 500,000 characters of neural text to speech per month, every month, for as long as the resource exists. A journal article is 40,000–80,000 characters, so that is six to twelve papers a month, read in full, at no cost. This tutorial walks through getting a key on that tier and putting it into the plugin. Time: about fifteen minutes, most of it Microsoft's sign-up.

What you need

1. Create an Azure account

Go to azure.microsoft.com/free and Start free. Sign in with the Microsoft account, fill in the profile, verify the phone number and the card. The free account also comes with a US$200 credit for the first 30 days and twelve months of free amounts of various services — you need none of that for the plugin: the Speech Free tier below is permanent and independent of it.

2. Create a Speech resource on the Free tier

  1. Open the Azure portal and choose Create a resource (the + at the top left).

  2. Search the marketplace for Speech and pick Speech by Microsoft (under Azure AI services / Foundry Tools — the name of the family changes every year, the product does not). Press Create.

  3. Fill in the form:

    Field Value
    Subscription the one the sign-up created (Free Trial / Azure subscription 1)
    Resource group Create new, any name (zotero-tts)
    Region one near you — see below
    Name anything unique (zotero-tts-speech)
    Pricing tier Free F0

    Only one Free Speech resource is allowed per subscription and region; if Free F0 is grayed out, you already have one there, or had one: a deleted resource lingers in a soft-deleted state for a while and still counts. Pick another region, or purge it (Azure AI services, Manage deleted resources).

  4. Review + create, then Create. Deployment takes under a minute; press Go to resource.

Which region

The region is where your requests are served, so pick a close one for low latency: eastasia (Hong Kong) or japaneast from East Asia, westeurope or northeurope from Europe, eastus / westus2 from North America. Almost every voice is available in every region; the full list is in Speech service regions. The plugin needs the region's short id (eastasia, not East Asia); the resource page shows it.

3. Copy the key and the region

On the resource's page open Keys and Endpoint (under Resource Management in the left column). It shows KEY 1, KEY 2 and Location/Region. Copy KEY 1 and note the region id. Either key works; two exist so one can be rotated while the other stays in use.

4. Point the plugin at it

Zotero → Settings → Zotero-TTS → Azure section:

Field Value
Enable Azure voices on
API key KEY 1
Region the region id, e.g. eastasia

Test connection should answer Connected. N voices available. Synthesis works. — the test synthesizes two characters, which proves the key can spend, not just list voices. Open Read Aloud, choose the Local tier, and the Azure-… voices are there; for reading a document in one language pick a voice of that language (Azure-Xiaoxiao, Azure-Ava), for mixed-language documents one of the Multilingual ones under the "Multiple languages" entry. For word-by-word highlighting set Settings → General → Read Aloud → Highlight current to Word.

What the Free tier does and does not include

Troubleshooting