A new text-reading tool for QA made freely available for the community
Thread poster: Esteban Flamini
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
Jun 19, 2023

Dear fellows: over the last few years I've been developing a quality-assurance tool for translations, which is basically a wrapper around espeak (a commonly used free speech-synthesis engine).

The tool segments the text file you're editing, according to user-definable rules, and sends the segments to espeak to be read one by one, with full keyboard control of the process (you can go back and forward, search, stop/pause/resume the reading, etc., all with simple keystrokes).... See more
Dear fellows: over the last few years I've been developing a quality-assurance tool for translations, which is basically a wrapper around espeak (a commonly used free speech-synthesis engine).

The tool segments the text file you're editing, according to user-definable rules, and sends the segments to espeak to be read one by one, with full keyboard control of the process (you can go back and forward, search, stop/pause/resume the reading, etc., all with simple keystrokes).

The program gives you auditory feedback of changes to the text in real time, so you can rest assured that no accidental editions have been made before delivering the file to your client.

Just to give you an idea of its possibilities, I use this tool to listen to the target text, while I follow the source text onscreen (or sometimes, the other way around). It is just another way to compare the target text with the source for mistranslations, omissions, etc., which can be easy to overlook when moving between source and target onscreen. (I also use the tool to read the text aloud just to check for grammar, flow, etc., without comparing it to the source.)

I do not know if similar or better tools for this task already exist; I started developing this one for me because I wasn't satisfied with the ones available at the time. Over the years I've added a large set of features which I find useful. I think the tool is mature enough by now, and I'd like to share it with you, hoping that someone might find it useful too.

Please note that it is a command-line tool (no GUI for the time being). You need to have some proficiency with the command line to use it. I developed and tested the tool in Linux, and then introduced some changes so it will run in Windows too (but some features might be missing and/or don't work as well as in Linux).

Be also warned that in order to read text from non-plain text files, you'll have to install an external tool of your choice (not included) to convert your file to plain-text and use it with the program (e.g., I use libreoffice + unoconv to extract and read text from Office files). Instructions for doing so are given in the manual.

If you want to give it a try, feel free to download it from:

https://github.com/estebanflamini/efabulor

or (to download just one zip or tar.gz file):

https://github.com/estebanflamini/efabulor/releases/tag/v1.0

It's free and I am putting it in the public domain under the General Public License.

Installation instructions and a tutorial are given in the manual included with the release.

You are welcome to suggest improvements and/or get involved in the development; I have plans for future enhancements. (If you'd like to help me maintain the tool, you can contact me for an explanation of the code; I've tried my best to write clear code, and it has gone thru a massive "refactoring" last year, but there is still a lot to improve.)
Collapse


 
Tom in London
Tom in London
United Kingdom
Local time: 16:41
Member (2008)
Italian to English
Amazing Jun 19, 2023

Amazing thing: yesterday I opened a book and with very advanced technical capabilities in my body, eyes, and brain, I read it.

esperantisto
neilmac
 
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
TOPIC STARTER
Ehem... Jun 19, 2023

Tom, I'm affraid you did not understand the purpose of the tool.

It is about not having to read (with your eyes) both the source text and the target text in order to compare them. Instead of that, you listen to one text and read the other (you put two sensory channels to the task at the same time). It is another way to check your translations. Hope it helps to clarify the issue....
See more
Tom, I'm affraid you did not understand the purpose of the tool.

It is about not having to read (with your eyes) both the source text and the target text in order to compare them. Instead of that, you listen to one text and read the other (you put two sensory channels to the task at the same time). It is another way to check your translations. Hope it helps to clarify the issue.
Collapse


Jorge Payan
expressisverbis
 
Tom in London
Tom in London
United Kingdom
Local time: 16:41
Member (2008)
Italian to English
I just print Jun 19, 2023

Esteban Flamini wrote:

Tom, I'm affraid you did not understand the purpose of the tool.

It is about not having to read (with your eyes) both the source text and the target text in order to compare them. Instead of that, you listen to one text and read the other (you put two sensory channels to the task at the same time). It is another way to check your translations. Hope it helps to clarify the issue.



I just print off my most important translations and read them as they appear "on the page". There are always changes and improvements that I missed on screen. I find this works well. I don't need anything else.


Anne Maclennan
 
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
TOPIC STARTER
Perfect! Jun 19, 2023

Tom in London wrote:

I don't need anything else.


Perfect! Then you do not need this tool.

For the rest of the forum, if there is someone interested in trying it (and joining an enormous user base of exactly... one satisfied and proud user at the time being), please let me know what you think. (Maybe I can get the user base grow to just two, and then my life will not have been in vain!)

Have a wonderful day all you there!


Jorge Payan
expressisverbis
Nysderline
Rachel Waddington
 
Mr. Satan (X)
Mr. Satan (X)
English to Indonesian
[secret hand gestures] Jun 19, 2023

Esteban Flamini wrote:
I developed and tested the tool in Linux, and then introduced some changes so it will run in Windows too (but some features might be missing and/or don't work as well as in Linux).


Salutations, my brother in Tux!

Be also warned that in order to read text from non-plain text files, you'll have to install an external tool of your choice (not included) to convert your file to plain-text and use it with the program (e.g., I use libreoffice + unoconv to extract and read text from Office files).


I'm afraid this would be a tough sell for this audience. Many of them work with office documents, and seamless operation out of the box is what they're after. Then again, I don't think most would be too keen on the idea of typing commands in a terminal emulator either. Especially on Windows. I can confirm with great confidence that the command prompt is absolute garbagio. In my personal case, I could use it for SRT subtitles as it's a text-based file format. But this also means I'd have to do the aural-textual QA process twice since I still have to watch the video with my translated subtitles, even just for the sake of making sure all the technical prerequisites are met.

Anyway, I might take a look at it over this weekend. Thank you for sharing it. If this somehow can be integrated in a CAT program, that would be neat.

P.S.
May I suggest writing the necessary instructions on the main page or in a Wiki section of your GitHub repo? IMHO, making them more visible could only benefit your project.

[Edited at 2023-06-19 13:48 GMT]


expressisverbis
 
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
TOPIC STARTER
Thanks (am I approaching the userbase-of-two goal?) Jun 21, 2023

Mr. Satan wrote:

Salutations, my brother in Tux!



Same for you!

I'm afraid this would be a tough sell for this audience. Many of them work with office documents, and seamless operation out of the box is what they're after.


I forgot to tell in my original post, that once you install an external conversion tool and learn the command needed to convert your format to plain text, you can configure the command within my tool and associate it to the extension or mimetype of the files you work with. (Instructions in the manual.) After that, the conversion is made transparently within the tool.


Then again, I don't think most would be too keen on the idea of typing commands in a terminal emulator either. Especially on Windows. I can confirm with great confidence that the command prompt is absolute garbagio.


Yes, you're right. I also forgot to mention, that whereas the program does not include a GUI yet, it exposes a "protocol" whereby it could be invoked and controlled by an external program offering a GUI (Instructions also given in the manual). I was too busy (lazy?) to write a GUI program myself (especially because I tend to spend most of the time in the command line here in Linux), but I tried to make it easy to do when the time comes (and it can be done in any language, not just Python).

The truth is that I am offering this version of the program here (which I agree with you, is a hard sell) with the hope of attracting the interest of technically-minded people (like BTW I guess you are) who might see potential in it and would like to join the development and be fully credited for it. (Or with the hope, at least, of receiving enough positive feedback to find the energy and time to improve it myself, until it gets a stage where it could be easily adopted by the average translator.)

Some future lines of development I envision are: writing a GUI; improving the current installation instructions; providing an installation script; providing detailed instructions for the conversion of different formats; providing ready-to-use scripts for such conversion from TMX, XLIFF, etc. (I have some such scripts, but they are not publishable yet.)

In my personal case, I could use it for SRT subtitles as it's a text-based file format. But this also means I'd have to do the aural-textual QA process twice since I still have to watch the video with my translated subtitles, even just for the sake of making sure all the technical prerequisites are met.


Good point, it's a use scenario I haven't imagined. I use it mostly with Office files, and it is also feasible (I've done it before) to configure the program to read text from TMX, XLIFF, TTX, etc., provided you know how to use sed/grep or you know a little programming and can script the extraction process yourself (or have a programmer do it for you). Again, once you have the conversion command needed, you can configure it within the program and associate it to the file format.

Anyway, I might take a look at it over this weekend. Thank you for sharing it. If this somehow can be integrated in a CAT program, that would be neat.


Thanks! Please let me know if you run into any trouble.

May I suggest writing the necessary instructions on the main page or in a Wiki section of your GitHub repo? IMHO, making them more visible could only benefit your project.

[Edited at 2023-06-19 13:48 GMT]


Excellent advice, I'll try to do it, time permitting.


Mr. Satan (X)
 
expressisverbis
expressisverbis
Portugal
Local time: 16:41
Member (2015)
English to Portuguese
+ ...
Thanks Esteban! Jun 21, 2023

Each translator uses the tools they find most useful for their work.
If there is a colleague who develops or tries to create a tool that he or she thinks will improve or help our tasks, he/she is always welcome, not only for his/her effort, but also for the fact that he/she shares it with a lot of people, free of charge.
Thanks Esteban!


Dan Lucas
Robert Rietvelt
Mr. Satan (X)
Christel Zipfel
Arabic & More
Rachel Waddington
Becca Resnik
 
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
TOPIC STARTER
Thank you Jun 22, 2023

expressisverbis wrote:

Each translator uses the tools they find most useful for their work.
If there is a colleague who develops or tries to create a tool that he or she thinks will improve or help our tasks, he/she is always welcome, not only for his/her effort, but also for the fact that he/she shares it with a lot of people, free of charge.
Thanks Esteban!


Thank you for your feedback!

Of course, all translators have the right to organize their work as they wish, and with so many tools available and little time to learn them all, it is understandable to be reluctant about trying a new one. This tool is offered as a potential complement (not a replacement) of what you already use. Some people may find it useful, some people not. Before anybody spends any time trying this one, let me try to explain its purpose (and deficiencies) a little better:

The idea of improving your proofreading power by using two sensory channels at once is not like I invented the wheel: proofreaders with whom I worked in several projects for a publishing house had a technique of working in pairs, one person reading the final text aloud and the other reading the page; I took that as an inspiration. I've found that having the text spoken aloud makes it easier to spot minor errors that sometimes can be overlooked onscreen.

The tool includes also a feature to define 'transformation rules' and 'substitution rules' to introduce changes within the spoken text. I use that to help me find errors/typos while proofreading. For example, I have one rule that replaces every occurrence of two spaces with a sentence in Spanish alerting me of the typo; another set of rules to alert me of unmatched parentheses, quotation marks, and so on. (You need some proficiency in 'regular expressions' to make the most of this feature.)

There are also tracking/feedback modes that compare the latest version of the file saved to disk with the last version being spoken, provide spoken feedback on changes detected and restart the reading at the first changed sentence. (Besides being an essential part of using the tool, the tracking feature is a protection against unadvertently introducing changes to the file before delivering it.)

Overall, using this tool has made me more confident about my proofreading.

And a final benefit for people like us who work in a solitary occupation: having the tool whispering the text in your ears (I always wear a headset to use it) keeps you company (But to have human-like company, you need to install the mbrola utility referred to in the manual, and a good voice from the mbrola project. I am lucky to have a very good Spanish voice to use with my tool, I wish I could thank the man from Spain who recorded the samples used to make it.)

Some caveats now:

- No GUI, and the tool may also be a little difficult to get running the first time unless you are proficient with the command line. (I expect to improve on that, especialy if there are technically-oriented people out there interested in joining the development effort--and enough people interested in the tool to warrant it.)
- The tool won't help you find misspelled words (if they sound the same as the right one). It is a complement to your proofreading, not a replacement. Keep using the spellchecker!
- If you are very good (and quick) at proofreading onscreen, this tool would slow down your proofreading, maybe you should not use it.
- And a big con is that you cannot listen to music and at the same time use this tool (at least I can't).

Hope this helps!



[Edited at 2023-06-22 09:35 GMT]


Mr. Satan (X)
expressisverbis
 
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
TOPIC STARTER
Reply to some private feedback Jun 26, 2023

A short reply to some helpful feedback I've received privately through my profile (thanks for your encouragement):

mbrola voice too robotic

The quality of the mbrola voices may be different depending on the language. I happen to use a very good, clear Spanish voice (spanish-mbrola-1), but other languages/voices might be not so good.

Be sure to check that the espeak + mbrola combination is working properly in your computer. You can (and should) do tha
... See more
A short reply to some helpful feedback I've received privately through my profile (thanks for your encouragement):

mbrola voice too robotic

The quality of the mbrola voices may be different depending on the language. I happen to use a very good, clear Spanish voice (spanish-mbrola-1), but other languages/voices might be not so good.

Be sure to check that the espeak + mbrola combination is working properly in your computer. You can (and should) do that outside efabulor, by having espeak read something for you with the preferred voice. For example, I would enter this command:

espeak -v spanish-mbrola-1 "¡Hola mundo!"

Pay attention to any error messages you get, they may be a sign that espeak is having trouble using the mbrola voices.

Other front-ends to espeak already exist

That's true, I tried several ones before I started developing efabulor. At that time, none of them had all the features I wanted, so I preferred to create my own front-end, for personal use (the idea of sharing it came later). Of course, if anyone knows of better tools, please feel free to post them here for the benefit of everyone.

Using gTTS instead of espeak?

I have considered the possibility of using other speech engines. I will check your suggestion; hopefully I can add support for it in a future release.

Listening to music while using efabulor

I forgot to mention, the impossibility is, of course, cognitive, not technical. You can use efabulor and listen to music at the same time, it's only that I personally prefer to have only efabulor's output to focus on.
Collapse


Mr. Satan (X)
 
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
TOPIC STARTER
Update on recent work Oct 24, 2023

Hi everybody, just in case someone happens to read this thread.

I know my tool hasn't elicited a lot of interest (and probably never will), but I feel obliged to report that I am working on an improved version (still without GUI) that should be ready in the following weeks (that is, before 2023 ends).

Those of you who are eager to try the tool may download the current version, which is fully functional; the new version will not add any important feature, I'm just workin
... See more
Hi everybody, just in case someone happens to read this thread.

I know my tool hasn't elicited a lot of interest (and probably never will), but I feel obliged to report that I am working on an improved version (still without GUI) that should be ready in the following weeks (that is, before 2023 ends).

Those of you who are eager to try the tool may download the current version, which is fully functional; the new version will not add any important feature, I'm just working on improving its design (the current one is lacking in that respect, and lately I've been improving my knowledge of software engineering).

Best regards for all!
Collapse


 
Philippe Locquet
Philippe Locquet  Identity Verified
Portugal
Local time: 16:41
English to French
+ ...
Interesting Oct 24, 2023

Esteban Flamini wrote:

Hi everybody, just in case someone happens to read this thread.



Hello Esteban, that's an interesting idea. If it's reading simple text (i.e. in a TM or directly from an xml like an xliff, what happens when it comes to tags, is it able to recognize them and either jump them silencing or saying something relevant like "opening tag one"; "closing tag one".

How about you record a video of it working and you post it somewhere, that would be an interesting way to demo it?

Take care.


 
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
TOPIC STARTER
On making a demo Nov 13, 2023

Hi, Philippe, sorry for my late reply.

Yes, I think your proposal of publishing a demo is an excellent one (in fact, it's something I had thought about, but didn't have the time to make it; and I still need to research which tools I can use to make a demo in Linux). I will take your proposal as an encouragement to finally get to work on it and publish a demo asap. Thanks!


 
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
TOPIC STARTER
On silencing tags Nov 13, 2023

With regards to silencing tags or saying some message like "opening tag"/"closing tag":

You can do it, provided you know regular expressions (which is something you have probably used before; please note the tool uses Pythons's regexes, which are similar to Perl's).

You can set a replacement regex for tags, either within a substitution rule file (which you can activate by adding --subst name-of-the-file when invoking the program from the command line) or within a transf
... See more
With regards to silencing tags or saying some message like "opening tag"/"closing tag":

You can do it, provided you know regular expressions (which is something you have probably used before; please note the tool uses Pythons's regexes, which are similar to Perl's).

You can set a replacement regex for tags, either within a substitution rule file (which you can activate by adding --subst name-of-the-file when invoking the program from the command line) or within a transformation rule file (which you can activate by adding --transform name-of-the-file when invoking the program from the command line).

For example, you could set these two rules in a substitution/transformation rule file:


# To have efabulor read "opening tag" instead of the actual tag

s/<[^/].+?>/opening tag/

# To have efabulor read "closing tag" instead of the actual tag

s/</.+?>/closing tag/


The difference between substitution and transformation rules is:

-If you use substitution rules, the tags will appear onscreen, but efabulor will read the replacement instead of the original text. (efabulor sees the original text, but reads something else.)

-If you use transformation rules, the tags will not appear onscreen, only the replacement text. (efabulor doesn't "see" the original text).

The difference may be subtle, but transformation rules are intended to affect the segmenting (though they can also be used to affect the reading), while substitution rules are intended to affect only the reading.

(By the way, you can also use the --preprocess switch, instead of --transform, to apply any filtering program/script to the input text, not just regexes.)

Hope this helps!
Collapse


 
Esteban Flamini
Esteban Flamini  Identity Verified
Greece
English to Spanish
+ ...
TOPIC STARTER
Demo Apr 9

Hi! For those of you who asked for a demo, I have uploaded one (covering just the basic funcionality) at:

https://github.com/estebanflamini/efabulor-demo/raw/main/demo.mp4

Even if no one ever sees the demo, I had a lot of fun making it (with ffmpeg and Kdenlive).

By the way, I've also uploaded a new, improved "beta" version of the pr
... See more
Hi! For those of you who asked for a demo, I have uploaded one (covering just the basic funcionality) at:

https://github.com/estebanflamini/efabulor-demo/raw/main/demo.mp4

Even if no one ever sees the demo, I had a lot of fun making it (with ffmpeg and Kdenlive).

By the way, I've also uploaded a new, improved "beta" version of the program (but no GUI yet). You can download it at:

https://github.com/estebanflamini/efabulor/releases/tag/v2.0-beta

Let me state once again that efabulor is work-in-progress. If you see potential and want to help me develop it, you are welcome to join.

Stay well!
Collapse


 


To report site rules violations or get help, contact a site moderator:


You can also contact site staff by submitting a support request »

A new text-reading tool for QA made freely available for the community






TM-Town
Manage your TMs and Terms ... and boost your translation business

Are you ready for something fresh in the industry? TM-Town is a unique new site for you -- the freelance translator -- to store, manage and share translation memories (TMs) and glossaries...and potentially meet new clients on the basis of your prior work.

More info »
Anycount & Translation Office 3000
Translation Office 3000

Translation Office 3000 is an advanced accounting tool for freelance translators and small agencies. TO3000 easily and seamlessly integrates with the business life of professional freelance translators.

More info »