What’s behind Trawsgrifiwr Byw, and why it isn’t a simultaneous interpreter
Trawsgrifiwr Byw (Live Transcriber) is a desktop app that listens to spoken Welsh and writes what it hears on screen as you speak, showing an English translation beneath each sentence almost immediately afterwards. It runs on Windows, Mac and Linux, it’s free, and everything happens on your own computer. The audio never leaves the machine, there’s no need to create an account, and the packaged version we distribute can work with no internet connection at all, something schools asked for with exams and closed networks in mind. You can download it from GitHub.

Note the second and third sentences: “yn syth bin” became “straight bin”, and “Saesneg”, pronounced “Sysnag”, was transcribed as it was pronounced and became “sysnagic” when translated. The explanation follows below.
It’s easy to call something like this “simultaneous interpreting”, and we may have been guilty of doing so ourselves. But simultaneous interpreting is a craft with a long history and a research problem with a precise definition. So it’s worth being honest about where this small app, which runs on a laptop, stands in relation to it. That is the purpose of this article: to explain what happens behind the screen, to explore why spoken Welsh is a particular challenge for machines, why translating from Welsh to English and from English to Welsh are different challenges, and to ask what is needed to go further. The other aim is to say plainly that the goal is not to replace interpreters, but to offer an alternative.
What’s happening under the bonnet
Two small models power the app, both trained by us in the Unit.
The first is a Kaldi speech recognition model, packaged by us for the Vosk framework. It is 120 MB in size and was trained on roughly 159 hours of spoken Welsh. It runs on a single processor core and processes each second of audio in about seven hundredths of a second. It offers a provisional transcript while you speak and converts it into a more accurate finished sentence when there’s a pause. It has a fixed vocabulary of 62,392 words: it cannot write a word that isn’t on that list, whether that’s a person’s name, a place name or an English word, and if one comes up while it’s transcribing, it will substitute the closest-sounding Welsh word. It doesn’t add punctuation or capital letters to the text either.
The second is a Marian machine translation model, which we compressed to 21 MB using software from the Bergamot project, the technology that translates web pages inside Firefox without sharing anything with the cloud. The model was trained on 11.8 million written Welsh–English sentence pairs: texts from the websites of the Welsh Government and public bodies, the Senedd Record, university and health board translation memories, and text from the web. Measuring the processing time used by the models teaches us the following: translating a sentence takes between 10 and 35 milliseconds, while waiting for the sentence to finish being spoken takes between half a second and twenty seconds. The delay, then, is not the speed of the computer but the need to wait for the end of the sentence before translating it. In the profession’s terms, the app does sentence-by-sentence consecutive translation, not simultaneous interpreting. In the research literature’s terms, it is a “cascade” of a streaming recogniser and a translator that works on whole sentences, in one direction, on one channel, from speech to text. That isn’t a criticism (users asked first for a readable transcript), but it is a precise description of what it is and what it isn’t.
Challenge 1: Welsh as it is spoken
The Welsh found on the web and in bilingual documents is written, standard and fairly formal in tone, and has usually been edited by an author or professional translator. That is not necessarily the Welsh that microphones hear. Here’s a typical line from the Bangor Transcription Bank, our open collection of natural speech:
post industrial yym a gyda yy dwi’n ca’l deud
In that one short line there’s a switch into English, two examples of hesitation, shortened colloquial forms (“ca’l”, “dwi”) and a phrase with no natural ending. Add to that restarts in the middle of a word (“o- o’n i’n disgwl”), dialect spellings (“gwbod”, “petha”, “dwetha”, “wsos”), mutations that don’t always follow the rules of grammar books, and sentences that run into each other with no punctuation to show where one ends and the next begins. The challenging nature of the task facing these models is fairly clear.
You saw dialect spelling at work in the third line of the clip above. The speaker said “Saesneg” as it is pronounced in the north: “Sysnag”. The recogniser wrote “sysnag”, exactly as it heard it. That’s not a mistake on its part: it learned from verbatim transcriptions, and in those the same word appears as “sysnag”, “sysneg” and “susnag” as well as “saesneg”, according to each transcriber’s ear, because a verbatim style was used to transcribe the underlying training data.
Nor is there just one way of writing spoken Welsh. In the written world there are general style guidelines, not one detailed, perfect standard, and the same is true of transcription: we have our own guidelines for the Bank, and broadcasters such as S4C have theirs for subtitles. Part of the reason is that different purposes call for different kinds of transcribed Welsh. The requirements for subtitles on a news programme, where the demand for readability means hesitations and restarts are omitted, are not the same as those for a literal record of a court hearing, where every “um” counts. A youth programme or social media video may need to keep more colloquial forms such as “dwi”, “nw” and “ca’l” exactly as they were said, where an official document would use “dw i”, “nhw” and “cael”. These are ultimately editorial decisions, and every choice is valid. For a word-for-word transcript, “sysnag” is the right choice: that’s what was said.
However, every one of these styles has to be turned into understandable English, and the machine translator saw only one of them during training: formal, edited, written Welsh. Give it “sysnag”, and since it has never seen any of the spoken forms and has to offer something, it invents a brand new English word: “the sysnagic translation”. Give it “Saesneg” and you get “the English translation” every time. To a reader, all of this is natural variety. To a model learning from examples, it’s a challenge.
The two models in the app have learned two different versions of Welsh. The recogniser learned from word-for-word transcriptions of speech, and the translator learned from formal written text. Feed “ma’ nw ’di ca’l y petha” straight into the translation model and “it’s a bit of the things” comes back. To deal with that, we’ve placed a speech normaliser, developed by the Unit’s linguists, between the two models: about a dozen tables of rules that turn that line into “mae nhw wedi cael y pethau” (that is, “they have had the things”) before it reaches the translator, and that strip from the text the hesitations and transcription tags such as <anadlu> (“breathing”) that the translator has never seen. Only the translation engine sees the normalised text; the transcript on screen stays as it is. On 500 spoken sentences from the Bank that were translated into English by a human translator, this step raised the translation’s BLEU score from 32.6 to 44.7. That’s a big jump for a small piece of code, and a clear sign of how much of the problem is linguistic rather than technical in nature.
Spelling alone isn’t responsible for the gap. Take “syth bin”, a colloquial, perfectly natural way of saying “ar unwaith” (“at once”). That’s what you saw in the clip at the top of the post. Give the translator “dewch yma’n syth bin” and you get “come here straight bin”. Give it “dewch yma ar unwaith” and “come here at once” comes back, correct every time. It’s not that the model understands one phrase better than the other in itself. The difference is that “ar unwaith” appears consistently in public documents and bilingual records, so the model has learned it. But “syth bin” is a colloquial form which, though common on people’s tongues, is rarely found in the kind of documents where English translations are provided. Both phrases are in the recogniser’s vocabulary, so it can write them correctly. The problem is that the translation model has never seen them side by side. There’s no rule for them in the normaliser yet either, any more than there is for “sysnag”. Adding one would be a single line (“syth bin” → “ar unwaith”), since the rules are a list that linguists maintain, not code, but there are hundreds of such phrases and forms in spoken Welsh, varying by dialect. Nobody has listed them all, and there’s a danger of introducing unintended changes by adding too many without thought.
Challenge 2: code-switching
Welsh speakers mix English into their Welsh all the time, in the form of single words, whole phrases, names and quotations. Any technology that pretends this doesn’t happen will fail to cope with how real speakers actually talk, as Gruffudd Prys wrote in March. The recogniser’s vocabulary includes some common English words, “actually”, “so”, “like”, “email”, “meeting”, because they are found in the training transcripts, but it is not an English model: it knows only the English words that happened to occur in those transcripts, and an unexpected English phrase, or a name, will come out as the closest-sounding Welsh words.
As a result, the translator is faced with English, or garbled English from the recogniser, in the middle of a Welsh phrase. Here are two examples from the experiment on the Bank:
| What was said | What was translated |
| dwi isio neud teulu fi proud | I want to make a family of the biodes |
| Coming here a fi’n mwynhau like, mae’n lysh | Coming here and I enjoy like, it’s a court |
Sometimes the English word or phrase passes through correctly (as “leaps and bounds” did in the same experiment), sometimes it is “translated” as if it were a Welsh word or phrase, and sometimes a word that is Welsh (“lysh”) is mistranslated (this is particularly true of more colloquial and informal words). The real answer is to create bilingual models that treat Welsh and English together, and that’s the direction we’re already taking with our Whisper models fine-tuned on spontaneous Welsh and English speech, as well as with our bilingual synthetic voices, where one model can pronounce both languages. However, those models are a hundred times larger than the Kaldi model in the Live Transcriber app, and they can’t yet transcribe as you speak on an ordinary laptop without a powerful graphics card. That’s why the app also gives you the option of sending the recording to the Online Transcriber website, where the larger models run on our servers, so they can offer a fuller transcript and translation after you’ve finished speaking.
Challenge 3: the data that doesn’t exist
Every one of the challenges above comes back to the same thing: data.
| Hours of transcribed speech | |
| The app’s Welsh Kaldi model (all the open corpora we have) | about 159 |
| OpenAI’s Whisper, the multilingual model everyone compares against (all languages together) | 680,000 |
Nor is the amount of data the only problem. Much of the public data available for minority languages is read speech: people reading sentences aloud for Common Voice. It is clean speech, with no hesitation, no code-switching and no speakers talking over one another, which are exactly the features real speech is full of. The Bangor Transcription Bank, Lleisiau ARFOR and the WLGA meetings corpus are exceptions, since they contain that kind of messy, realistic talk, and they carry the model.
For speech translation you need yet another kind of data: Welsh audio together with an English translation of what was said, not of a written paraphrase. We have 500 such sentences, which is an evaluation set, not a training set. The 11.8 million pairs that train the translation model are written and formal, and a proportion of them are web text where the English side was machine-translated. For English speech with a Welsh translation there is no corpus at all, and for speech-to-speech translation, there is nothing in either direction.
That matters because the systems that provide true simultaneous interpreting (audio in as a stream, audio out as a parallel stream a few seconds behind it, as Hibiki does between French and English) are built on enormous amounts of audio in both languages and on strong machine translation in both directions to create synthetic parallel data. As a recent review of the field notes, languages with scarce data are the biggest challenge for these direct recognition and translation models. Another paper questions how “real-time” the systems called real-time actually are: most are tested on speech that has already been cut into sentences by people, not on the unbroken stream a microphone hears. That’s the stream Live Transcriber has to cope with every time.
Welsh to English and English to Welsh: not the same task within interpreting
It’s tempting to think of translation as a two-way street, and that one direction will work as well as the other once the technology exists. That’s not the situation in Wales, because of the relative situation of the two languages, and the difference changes what “good enough” means.
From Welsh to English is the usual direction of simultaneous interpreting at meetings in Wales. The purpose of interpreting is to allow Welsh speakers to speak Welsh without those who don’t understand Welsh being excluded, and without every meeting or even being forced to switch to English. The recipient of the service is someone who doesn’t understand Welsh, and so they tolerate and overlook minor errors, since otherwise they would understand nothing.
From English to Welsh the situation is almost the opposite in every way. The audience, Welsh speakers, already understands English, so the purpose is not “understanding” but providing a service on the basis of language rights. That is, giving Welsh to people who have a right to it and who choose to live their lives in it. The Welsh itself is the product, and every error in it, a missing mutation, the wrong register, a formal term in an informal conversation, “chi” for “ti”, is visible to every fluent reader and undermines trust in the service. By now, English speech recognition is for all practical purposes a solved problem; the accuracy and naturalness of the Welsh that comes out of the models is the challenge, and that’s exactly what is hardest to measure with a machine. The Welsh Language (Wales) Measure 2011 requires that Welsh is not treated less favourably than English, and the Welsh Language Commissioner’s regulatory policy statement on artificial intelligence (July 2025) sets out linguistic fairness, the accuracy and naturalness of the language, and testing systems specifically in Welsh, as fundamental expectations. Our view is that publishing machine-generated Welsh without the same level of review given to English texts doesn’t meet that standard. The NOTICE file for our models says the same thing: they were released to help organisations offer a Welsh-language service as good as the English one, not to replace quality Welsh-language provision.
In short: translating into English requires good understanding; translating into Welsh requires that as well as good Welsh. The second is a higher standard, and it requires editorial input from qualified people.
Is the aim to replace simultaneous interpreters? No
To be clear: Trawsgrifiwr Byw, and all our models, are tools for transcription and translation, not replacements for interpreters. In meetings where the translation has to be accurate and a record that can be relied upon, in a court, at a medical appointment, in a committee deciding important matters, in a job interview, in a hearing, a human interpreter is still needed, and will be for a long time to come.
An interpreter does things this pipeline doesn’t do at all. They anticipate the end of a sentence before hearing it, and start translating two or three seconds behind the speaker, not twenty seconds later. They recognise a name they’ve never heard before because they know who is in the room. They understand that something was a joke, or a threat, or a quotation. They handle code-switching without noticing it. They correct themselves. And, most importantly of all, they take responsibility for their words; no machine can do that.
What the app can do is help individuals: to follow a Welsh conversation or broadcast roughly, to take notes, to make a draft of minutes to be corrected, to support a learner, or to offer accessibility support. The app says so on screen when it opens, and each model’s NOTICE file specifically lists the situations it isn’t suitable for unless a qualified person reviews every word. It’s an assistant, not an authority.
Where next, and what will be needed
The most important thing learned while working on the app is this: the computer is no longer the obstacle. Two models that together come to under 150 MB transcribe and translate on an ordinary laptop faster than anyone can speak. The obstacles are the policy that decides when to translate, the gap between the two models, the closed vocabulary, and the data.
Within the app itself, the next steps are to translate the sentence as it grows (re-translating the part the recogniser has settled on every tenth of a second, as the re-translation systems in the literature do) instead of waiting for it; to manage better when a sentence will end; to restore punctuation and capital letters between the two models, so that “dyma gic gosb i gymryd …” becomes “here is a penalty kick to take …” but “Dyma gic gosb i Gymru.” becomes “This is a penalty kick for Wales.”; to expand the normaliser’s rules with the colloquial idioms that aren’t in official bilingual data from the web (such as “syth bin”, for example); and to create bilingual speech recognition models with an open vocabulary, so that names and English can finally appear in their output.
Beyond the app, there’s a path towards true voice-to-voice simultaneous interpreting, in both directions, through collecting data. This is what would be needed:
- Spontaneous, bilingual speech, with consent and an open licence. Many hundreds of hours of Welsh as it is spoken, including code-switching, many speakers and background noise, all transcribed word for word and released as the (CC0) Bangor Transcription Bank is, so that anyone can build on it.
- Speech transcribed in each of the styles described above, with a corresponding English translation for each, so that a normaliser or translator can turn any of them into understandable English.
- Human translations of speech, not of written text: thousands of spoken sentences with their English translations and, for the other direction, English speech alongside a Welsh translation. One possible source, with the consent of everyone involved, would be recordings of meetings that are already being interpreted: Welsh and English, side by side, as they were spoken.
- Evaluations that measure how much is understood, not just automatic scores, but asking: did the reader understand? That is the most important question users ask.
- Working with translators and interpreters, not around them. They know what “good enough” means. Their work would be the best possible data, and they understand that they can’t be everywhere to translate everything that needs translating.
Every hour of spoken Welsh donated to Common Voice or to the Bank counts. There’s no shortcut when it comes to collecting data.
Licensing the models: Apache 2.0 and the NOTICE file
Both models the app uses are now available under the Apache 2.0 licence, which permits commercial use. In the case of the speech model, this is the first Kaldi/Vosk model from the Unit to be released this way: until now, one of its components restricted the model to non-commercial research use. Replacing that component with another under an Apache licence (pocolm) opened the door to a more permissive licence. The speech data is all CC0 already, and the translation model’s data is under the Open Government Licence, CC BY and ODC-By, all acknowledged according to their terms.
With each model comes a NOTICE file (e.g. kaldi-cy), and Apache 2.0 requires that file to travel with the model to whoever redistributes it or builds on it. It contains the acknowledgements, but also the things we believe every user should know:
- automatic processing makes mistakes, and the output can be wrong even though it looks fluent and confident: it contains missing or extra words, and incorrect names, numbers, dates and negatives, with lower accuracy on dialect, poor audio and unfamiliar subjects;
- the output should be treated as provisional, to be checked by a qualified person before being relied on as a record, before making a decision that affects someone, and before being shared or published, and users of a live system should be told that a machine is speaking;
- it is not suitable for medical, legal, financial or emergency situations, or any decision affecting someone’s rights, health, freedom or livelihood, unless a qualified person reviews all output;
- in Wales, whoever uses the model should consider the requirements of the Welsh Language Measure and the Commissioner’s guidance: offering automatic Welsh where people provide the English is not consistent with the purpose for which the model was released.
The app shows you this file from the version information in its header, and the same warning is shown on screen every time it opens. That is the agreement we offer in producing and distributing these models: open models that anyone, including companies, can use and improve, on condition that the truth about their limitations also reaches the people who use them.
Give it a try
Live Transcriber is available to download free for Windows, Mac and Linux from github.com/techiaith/trawsgrifiwr-byw, with a version bundled for schools and closed networks. The models are on Hugging Face, and the code is open. If you spot errors, or if you have speech, translations or time to offer, get in touch: techiaith@bangor.ac.uk.
Sources and links
- Live Transcriber: code and releases
- Models: techiaith/kaldi-cy (speech recognition, Apache 2.0) · techiaith/cy_en_GB-bu_tts (bilingual voices)
- Data: Bangor Transcription Bank · Lleisiau ARFOR · WLGA Corpus · Common Voice Welsh
- Gruffudd Prys, The importance of bilingual models for Welsh (in Welsh), techiaith.cymru, March 2026
- Welsh Language Commissioner, Artificial intelligence and the Welsh language: regulatory policy statement (Welsh), July 2025 · Welsh Language (Wales) Measure 2011
- A. Radford et al., Robust Speech Recognition via Large-Scale Weak Supervision (Whisper), 2022: 680,000 hours of training data
- S. Papi, P. Polák, O. Bojar, D. Macháček, How “Real” is Your Real-Time Simultaneous Speech-to-Text Translation System?, TACL, 2025
- M. Sarim et al., Direct Speech to Speech Translation: A Review, 2025
- T. Labiausse et al., High-fidelity simultaneous speech-to-speech translation (Hibiki), 2025
- IWSLT, the annual conference on spoken language translation
