Text to Speech
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.
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.
Examples of Orpheus in use
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.
Examples of Piper in use
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>SSML example
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
- cy_en_GB-bu_tts — bilingual Welsh and English Piper voices: the ones in the Techiaith TTS app and the API (CC BY licence).
- cy_GB-bu_tts — Welsh-only Piper voices.
- orpheus3b-cy-en — a bilingual Orpheus 3b model, for the most natural speech.
- microsoft_speecht5_finetuned_bu_tts_cy_en — a bilingual SpeechT5 experiment.
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.
