Text to Speech

TTS logo
Text-to-speech allows a computer system to speak any text using either a synthetic or natural voice.

The text can come from documents, a website, text messages or an embedded software system (where text cannot be displayed on a screen). The Language Technologies Portal’s Welsh text-to-speech resources are based on open source systems.

TTS logo
Logo of Canopy AI, the developers of Orpheus

Orpheus-TTS

Canopy AI’s Orpheus-TTS is one of the most advanced open-source text-to-speech systems, originally built on top of Llama-3b. It produces natural-sounding voices with lifelike emotion, nuanced intonation, and rhythm that rival (and often surpass) closed-source services. It can generate new voices without lengthy training and supports expressive control through simple emotion tags making it ideal for real-time applications. Our fine tuned version of Orpheus-TTS offers:

  • Authentic Welsh voices: Trained on high-quality Welsh data, including natural speech and native intonation patterns.
  • Accuracy and consistency: Carefully tuned to handle the unique sound structure and rhythm of Welsh speech.
  • Welsh-specific emotion tags: Add cues like <chwerthin> (laughter) or <anadlu> (breathing) for expressive, culturally faithful delivery.
Logo of Canopy AI, the developers of Orpheus
Piper logo
Piper logo

Piper

We have fine-tuned Piper for use with the Welsh language. For the first time, developers, educators, and creators can access natural, authentic Welsh voices that run in real-time — even on small devices like Raspberry Pi.

What is Piper?

Piper is a modern, open-source TTS engine designed for speed and quality. It turns text into natural-sounding speech with minimal latency and can be run on a wide range of hardware, from laptops to embedded systems. It’s simple to integrate, lightweight, and capable of generating speech in real-time — making it perfect for assistive technology, smart devices, and interactive apps.

Using the voices

The same voices are available in three ways — pick the one that fits:

On your device

The Techiaith TTS app installs the voices as system voices on iOS, Android and Windows — free, offline, and working in every app that speaks.

In your code

One REST API call from the cloud — always the latest voices, nothing to install. Right for apps, websites and servers.

Your own voice

With Lleisiwr you can listen to our collection of bilingual voices — and generate a synthetic voice of your own.

Want to hear them first? Try the voices at tts.techiaith.cymru.

SSML: control how the voice sounds

SSML (Speech Synthesis Markup Language) lets you add instructions to your text that control how it is spoken: add a pause, correct how a word is pronounced, expand an abbreviation, force the language of a passage, or choose how numbers and dates are read.

SSML editor

Try it in the online editor: adjust how words sound, add natural pauses and perfect the delivery, without writing any code.

SSML API

Send SSML to the API (POST /api/ssml) and get a WAV file back, with both the Piper and Orpheus voices.

What you can control

  • Pauses: <break time="500ms"/>, or <p> and <s> for paragraphs and sentences.
  • Pronunciation: <phoneme> with IPA or Bangor notation.
  • Abbreviations: <sub alias="…"> to say something different from what is written.
  • Language: <lang xml:lang="cy"> or "en" to force the language of a passage.
  • Numbers, dates and times: <say-as>, including spelling a word out letter by letter.
  • Voice and model: <voice name="…" model="…">.

SSML is supported by the piper-cy, piper-cy-en and orpheus-cy-en models. Changing rate, pitch or emphasis (<prosody>, <emphasis>) is not available yet.

Example

This SSML expands an abbreviation, adds a pause and switches to English. Listen to the result below.

<speak>
  <voice name="benyw-gogledd-pro" model="piper-cy-en">
    Croeso i'r <sub alias="Uned Technolegau Iaith">UTI</sub>.
    <break time="700ms"/>
    <lang xml:lang="en">Welcome to the Language Technologies Unit.</lang>
  </voice>
</speak>

To send it to the API, wrap the SSML in JSON as {"ssml": "…"} (up to 10,000 characters). The API documentation has more examples.

Developer resources

Everything that powers these voices is available in the open — the models, the code and the packages:

Models

Packages

  • techiaith-g2p on PyPI — the front end that turns Welsh and English text into Piper phonemes: normalising numbers, times, dates and money, choosing each sentence’s language, and pronouncing words from the Bangor pronunciation dictionary. The same code runs on the web and in every app.

Code

techiaith/piper-cy

techiaith/piper-ios-app

Earlier generations

Our text-to-speech work from before the neural era — Festival and MaryTTS — is still available:

techiaith/llais_festival

techiaith/Festival_MSAPI

techiaith/docker-marytts

API

The same voices are served from our cloud REST API — Piper and Orpheus alike, with nothing to install, including SSML for controlling pauses and pronunciation. See API Services for documentation and access, and tts.techiaith.cymru to try them in the browser.