Only this pageAll pages
Powered by GitBook
1 of 15

AAC Speak Helper Tool

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Introduction

AACSpeakHelper is a small tool that enables you to

  • Take text written in a Windows AAC application

  • If you need to - Translate it using a choice of online translation systems

It is good if you

  • Want to set up a AAC system for someone speaking in a language not currently supported by solutions available

  • If you have a client who wants to communicate to some people using a language they aren't familiar with. For example speaking to carers who are don't communicate using the communication aid users language or need to speak to family members who only speak in a language that they dont have a understanding of that written form

What its not good for

  • Reading or saving long streams of text (eg reading a book aloud)

  • If you want to use with a piece of software you cant copy the text from a message bar

  • You really have to use iOS, Android or something else

Typical Use Cases

  1. Language translation and speech output

Imagine you are a Kurdish speaker with limited English skills residing in a care facility. AAC Speak Helper bridges you and your caregivers, translating Kurdish text into English. Moreover, it supports people who need to speak languages less commonly supported by TTS technology.

  1. Language not supported by current commercial solutions

If you speak Urdu - either as a bilingual speaker or as your primary language it can be difficult to find the perfect AAC system to meet your needs

Compatibility

AAC Speak Helper is a lightweight Windows executable. It can be called from any AAC app on Windows that can run external programs.

How it Works

AAC Speak Helper reads the text once the text is copied to the clipboard (using Ctrl+C). Depending on the configuration settings, it either translates the text using the selected service, speaks it aloud, or reads it. There are additional features, such as putting intonation (or style) onto some voices. We have a graphical application that can configure the app. The main application, though, has no interface.

and if you need to - Speak that text using a range of online or new offline speech models supporting not currently supported by commercial providers

1000's of languages
Basic, very short demo showing config and running

Do you really need this?

First up, check the table below for Languages officially supported by the software you are using. You can also use this as a tool to find which apps support a language you are interested in. Be careful. Some languages write in different scripts. Check the script that the TTS engine expects.

MindExpress

Software
Language Details
ISO Language Code
Cost
Download
More Info

MindExpress

English (Australia) - Acapela: Lisa (F), Tyler (M)

en-AU

MindExpress

English (India) - Acapela: Deepa (F)

en-IN

MindExpress

English (Ireland) - Vocalizer: Moira (F)

en-IE

MindExpress

English (Scotland) - Acapela: Rhona (F)

en-SC

MindExpress

English (United Kingdom) - Acapela: Lucy (F), Rachel (F)

en-GB

MindExpress

Dutch (België) - Acapela: Sofie (F), Zoe (F)

nl-BE

MindExpress

French (Canada) - Acapela: Louise (F)

fr-CA

MindExpress

German - Acapela: Claudia (F), Julia (F), Sarah (F)

de-DE

MindExpress

Greek - Acapela: Dimitris (M)

el-GR

MindExpress

Italian - Acapela: Chiara (F), Fabiana (F)

it-IT

MindExpress

Norwegian - Acapela: Bente (F), Kari (F)

no-NO

MindExpress

Polish - Acapela: Ania (F)

pl-PL

MindExpress

Portuguese - Acapela: Celia (F)

pt-PT

MindExpress

Portuguese (Brazil) - Acapela: Marcia (F)

pt-BR

MindExpress

Russian - Acapela: Alyona (F)

ru-RU

MindExpress

Spanish - Acapela: Ines (F), Maria (F)

es-ES

MindExpress

Spanish (Mexico) - Acapela: Rosa (F)

es-MX

MindExpress

Swedish - Acapela: Elin (F), Emma (F)

sv-SE

MindExpress

Turkish - Acapela: Ipek (F)

tr-TR

MindExpress

Ukrainian - Acapela: Dmytro (M)

uk-UA

RHVoice (SAPI)

Software
Voice Name
Description
Download for NVDA
Download for Other Windows Programs

RHVoice

Azamat

Kyrgyz

RHVoice

Nazgul

Kyrgyz

RHVoice

Kiko

Macedonian

RHVoice

Suze

Macedonian

RHVoice

Aleksandr

Russian

RHVoice

Anna

Russian

RHVoice

Elena

Russian

RHVoice

Irina

Russian

RHVoice

Dragana

Serbian

RHVoice

Talgat

Tatar

RHVoice

Anatol

Ukrainian

RHVoice

Natalia

Ukrainian

Software
Voice Name
Description
Download for NVDA
Download for Other Windows Programs

RHVoice

Sevinch

Uzbek

RHVoice

Islom

Uzbek

RHVoice

Dil’navoz

Uzbek

SAPI - MSSpeech

Software
Voice Name
Language Details
Download Link

SAPI

Herena

Catalan (Spain)

SAPI

Helle

Danish (Denmark)

SAPI

Hedda

German (Germany)

SAPI

Hayley

English (Australia)

SAPI

Heather

English (Canada)

SAPI

Hazel

English (UK)

SAPI

Heera

English (India)

SAPI

Helen

English (US)

SAPI

Zira Pro

English (US)

SAPI

Helena

Spanish (Spain)

SAPI

Hilda

Spanish (Mexico)

SAPI

Heidi

Finnish (Finland)

SAPI

Harmonie

French (Canada)

SAPI

Hortense

French (France)

SAPI

Lucia

Italian (Italy)

SAPI

Haruka

Japanese (Japan)

SAPI

Heami

Korean (South Korea)

SAPI

Hulda

Norwegian (Norway)

SAPI

Hanna

Dutch (Netherlands)

SAPI

Paulina

Polish (Poland)

SAPI

Heloisa

Portuguese (Brazil)

SAPI

Helia

Portuguese (Portugal)

SAPI

Helia 16k

Portuguese (Portugal)

SAPI

Elena

Russian (Russia)

SAPI

Hedvig

Swedish (Sweden)

SAPI

HuiHui

Chinese (China)

SAPI

HunYee

Chinese (Hong Kong)

SAPI

HanHan

Chinese (Taiwan)

Software
Voice Name
Version
Download Link
File Size
Compatible OS

SAPI

UkrVox

4.2

29.07 MB

Windows XP+

anReader

Language
Version Description
Download Link
File Size
Additional Info

Serbian

Version with serial number

~567 MB

Request a test serial number as described in the Licensing by serial section.

Serbian

Version with IDXEG HASP key

~565 MB

Serbian

Version with KAYMK HASP key

~569 MB

Croatian

Version with serial number

~237 MB

Request a test serial number as described in the Licensing via serial number section.

Croatian

Version with IDXEG HASP key

~235 MB

Croatian

Version with KAYMK HASP key

~239 MB

Note:

  • All versions of anReader 4.2.8 support both 32-bit and 64-bit versions of Windows OS.

  • It is recommended that Windows is updated and the latest system patches are installed.

  • On Windows 10 and Windows 11, only the latest version of NVDA is currently supported, with other screen readers minor problems may occur in the operation of anReader.

Cereproc (SAPI)

Voice Name
Accent/Region
Type of Voice
Personal Use Price
Commercial Use Price

William

Southern English

English Male

£25.99

£299.99

Andy Child

American English

US Child

£25.99

£299.99

Stuart

Scottish English

Scottish Male

£25.99

£299.99

Sarah

Southern English

English Female

£25.99

£299.99

Nathan

American English

US Male

£25.99

£299.99

Andrew Child

Scottish English

Scottish Child

£25.99

£299.99

Mairi Child

Scottish English

Scottish Child

£25.99

£299.99

Amy

Southern English

English Female

£25.99

£299.99

Carolyn

American English

US Female

£25.99

£299.99

Lily Child

Southern English

Southern English Child

£25.99

£299.99

Ben Child

Southern English

Southern English Child

£25.99

£299.99

Megan

American English

US Female

£25.99

£299.99

Jordan Child

American English

US Child

£25.99

£299.99

Jack

Southern English

English Male

£25.99

£299.99

Caitlin

Irish English

Irish Female

£25.99

£299.99

Giles

Southern English

English Male

£25.99

£299.99

Isabella

American English

US Female

£25.99

£299.99

Lauren

Southern English

English Female

£25.99

£299.99

Adam

American English

US Male

£25.99

£299.99

Katherine

American English

US Female

£25.99

£299.99

Kirsty

Scottish English

Scottish Female

£25.99

£299.99

Hannah

American English

US Female

£25.99

£299.99

Heather

Scottish English

Scottish Female

£25.99

£299.99

Jess

Northern English

Northern English Female

£25.99

£299.99

Seren

Welsh English

Welsh Child

£25.99

£299.99

Gethin

Welsh English

Welsh Child

£25.99

£299.99

Owain

Welsh English

Welsh Child

£25.99

£299.99

Catrin

Welsh English

Welsh Child

£25.99

£299.99

Rhodri

Welsh English

Welsh Teenage

£25.99

£299.99

Rhian

Welsh English

Welsh Teenage

£25.99

£299.99

Ffion

Welsh English

Welsh Teenage

£25.99

£299.99

Tomos

Welsh English

Welsh Teenage

£25.99

£299.99

Clara

Norwegian

Norwegian Bokmål

£25.99

£299.99

Mailin

Mandarin Chinese

Mandarin Chinese

£25.99

£299.99

Catrin

Welsh

Cymraeg/Welsh Child

£4.99

£299.99

Francesco

Italian

Italian Child

£25.99

£299.99

Hulda

Norwegian

Norwegian Nynorsk

£25.99

£299.99

Nicoletta

Italian

Italian Child

£25.99

£299.99

Marie

Danish

Danish Female

£25.99

£299.99

Magnus

Norwegian

Norwegian Bokmål

£25.99

£299.99

Lars

Danish

Danish

£25.99

£299.99

Eglė

Lithuanian

Lithuanian

£25.99

£299.99

Seren

Welsh

Cymraeg/Welsh Child

£4.99

£299.99

Dario

Italian

Italian Male

£25.99

£299.99

Mantas

Lithuanian

Lithuanian

£25.99

£299.99

Demon

Novelty Voice

Demon

£10.99

£299.99

Laurent

French

French Male

£25.99

£299.99

Laura

Italian

Italian Female

£25.99

£299.99

Leopold

Austrian German

Austrian Male

£25.99

£299.99

Lúcia

Portuguese

Portuguese

£25.99

£299.99

Sara

Spanish

Spanish Female

£25.99

£299.99

Pola

Polish

Polish Female

£25.99

£299.99

Gudrun

German

German Female

£25.99

£299.99

Gabriel

Brazilian Portuguese

Brazilian Portuguese Male

£25.99

£299.99

Ada

Dutch

Dutch Female

£25.99

£299.99

Sue

West Midlands - Black Country

West Midlands Female

£10.99

£299.99

Alex

German

German Male

£25.99

£299.99

Ana

American Spanish

American Spanish Female

£25.99

£299.99

Ceitidh

Scottish Gaelic

Scottish Gaelic Female

£25.99

£299.99

Suzanne

French

French Female

£25.99

£299.99

Ylva

Swedish

Swedish Female

£25.99

£299.99

Robot

Novelty Voice

Robot

£10.99

£299.99

Pixie

Novelty Voice

Pixie

£10.99

£299.99

Nicole the Sexy French Voice

Sexy French

Nicole the Sexy French Voice

£10.99

£299.99

Florence

French Canadian

Florence voice

£25.99

£299.99

Daria

Romanian

Romanian Female

£25.99

£299.99

Voz Ana

American Spanish

American Spanish Female

£25.99

£299.99

Goblin

Novelty Voice

Goblin

£10.99

£299.99

Ghost

Novelty Voice

Ghost

£10.99

£299.99

Yuki

Japanese

Japanese Female

£25.99

£299.99

Rita

Catalan

Catalan Female

£25.99

£299.99

Peig

Irish

Peig, Irish Female

£25.99

£299.99

Dodo

Glasgow

Glasgow Male

£10.99

£299.99

Claire

Lancashire

Lancashire Female

£10.99

£299.99

Want a easy way of finding which systems and what voice is supported by what system - try using this - alternatively use ctrl+f to search for a language/voice for your AAC app/system here. Note: We are covering largely TTS on Windows here. TTS on Android or iOS we will include as we go forward.

Requires for XP/Vista, for Windows 7+

Requires , for Windows 10/11

Requires for XP/Vista, for Windows 7+

Requires , for Windows 10/11

http://ttsvoicesavailable.streamlit.app

Writing with languages

So we are not providing here software Gridsets/Pagesets of Keyboards for different languages.

If you want a client to write in the language of this TTS system (not use translate) You have to

  • Find a keyboard layout the client is familar with in the correct script.

This part is KEY. Many TTS systesm will not respond or act strangely if you present the wrong script (eg. latin script as in English, French, German when a TTS is needing arabic). You can get lucky but technically the system may be doing transliteration without you realising it

  • Copy and paste the characters needed into a Gridset/Pageset that you need. Remember to not put spaces behind the characters

  • This is painstaking. Please consider sharing your work so others can benefit.

Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download
More Info
Download NVDA Addon v4.0
Download Setup v4.0
Download NVDA Addon v4.0
Download Setup v4.0
Kiko's page
Kiko's page
Download NVDA Addon v4.1
Download Setup v4.1
Download NVDA Addon v4.2
Download Setup v4.2
Download NVDA Addon v4.1
Download Setup v4.1
Download NVDA Addon v4.3
Download Setup v4.3
Download NVDA Addon v4.1
Download Setup v4.1
Download NVDA Addon v4.8
Download Setup v4.8
Download NVDA Addon v4.0
Download Setup v4.0
Download NVDA Addon v4.3
Download Setup v4.3
Download NVDA Addon v4.3
Download Setup v4.3
Download NVDA Addon v4.5
Download Setup v4.5
Download NVDA Addon v4.1.1
Download Setup v4.1.1
Download NVDA Addon v4.0
Download Setup v4.0
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download UkrVox 4.2
anReader 4.2.8 Snezana Act
anReader 4.2.8 Snezana IDXEG Hasp
HASP4.zip
Hdd32.zip
anReader 4.2.8 Snezana KAYMK Hasp
sentinel_ldk_run-time_cmd_line.zip
Sentinel LDK Run-time setup.zip
anReader 4.2.8 Marica Act
anReader 4.2.8 Marica IDXEG Hasp
HASP4.zip
Hdd32.zip
anReader 4.2.8 Marica KAYMK Hasp
sentinel_ldk_run-time_cmd_line.zip
Sentinel LDK Run-time setup.zip

Install

Run the installer. Click through the options. At the end you can choose to run two applications - we recommend running these. If you don't check these boxes - you can run them - either from your desktop or your Start Menu. The two applications you need to run are

  1. AACSpeakHelperServer - this runs in the background in your task bar.

  2. Configure AACSpeakHelper - this allows you to configure the setup you need.

If you ever lose these shortcuts It will place the program in your local App Directory. This can be found by going to %UserProfile%\AppData\Local\Programs\Ace Centre\AACSpeakHelper\ All settings, cache data, etc., are in %AppData%\Ace Centre\AACSpeakHelper

AAC Setup

AACSpeakHelper ISNT a SAPI Speech engine. What this means is it is not seen by your AAC Software as a voice you would pick in your regular settings screen. We have to do some things to get this to work. And note you will have to be comfortable editing your software.

In short you need to:

  • Add a button to copy the message bar (writing area)

  • Then, have an action on this button to call the executable found at %UserProfile%\AppData\Local\Programs\Ace Centre\AACSpeakHelper\client.exe (Note: You will need to browse for the app. You can paste this link into the file explorer but you need to find the exact path on your own computer)

  • Then it's wise to wait around 4-10 seconds

  • Clear the message bar

  • Paste the returning text back if you are translating

You can test it by copying some text from a text file and running the app client.exe. Give it a go.

The Grid 3

We make things a little easier for the Grid as we provide an example pageset with the correct path to the application on your desktop under "Example pagesets". You can double click this and then try it out. Write some text - and then press on the flag icon

Tobii Dynavox Snap

Communicator

NuVoice

MindExpress

To-do

Configure

After installation, you need to configure the application. You can edit the settings file by hand or use our GUI application Configure TranslateAndTTS, which you can find in your start menu and Desktop. It looks like this

It has 3 Tab areas

TTS Engine

Drop Down for Engine

This means the "Text to Speech Engine" - voice system. We have several to choose from. The most likely one is sherpa-onnx. Its Offline and supports a large range of languages not supported by other systems. The quality may not be perfect however and it may be too slow for your needs but we find its a good balance.

Sherpa-onnx does work offline but you must be online when configuring it as it may need to download the voice model

You can choose the engine in the dropdown. We also have Google, Microsoft Azure or Google Translate. All these options require you to be online all the time. For Google or Azure you have the option to add your own keys. We recommend adding your own keys as our keys may stop working.

Voices List

Simply look for your language and voice. You can preview a voice by pressing on the play button.

On Sherpa-Onnx you need to first download the model and then press Play but note - please wait a little while before hearing anything. Each model is around 250Mb so it can take a while for the model to be setup.

Also note - the first time it speaks may take a while

Most importantly TTS voices typically will only speak reliably if the correct text is provided to it. Latin text (English) wont work for those that are looking for arabic script

Choose a voice by pressing on the voice - you can see what is selected by the text "Current Voice" in the configure screen

Save Audio

If you want to cache audio for TTS tick this box. It wills save small wav files for each utterance saving time for further calls.

Translate Settings

Firstly if you DON'T want your system to translate (eg. your client is writing in the correct language for the TTS System) untick the "Translate" box on this page. Otherwise it will assume your writing language and convert it to the Target language

You can choose your translation provider. Note that "GoogleTranslator" is free and that seen at translate.google.com - if you use this a lot you may find it stop working. Equally some systems are better at other languages.

Overwrite pasteboard

You want this if you want your AAC software to print the translated text

Bypass TTS

This will mean that TTS isnt done at all and you only want to use our tool for translation

Application Settings

You generally don't need to edit anything here. We do collect the number of times our app is run and used anonymously. If you want to turn this off do so here. Note too, if you have chosen to save the audio you can choose how long the cache is kept for.

A note for those more adventurous

You can edit the settings file by hand if you wish. To do this, navigate to %AppData%\Ace Centre\AACSpeakHelper in File Explorer to find the settings.cfg file. Edit the configuration using either a plain text editor.

Note: You can copy this settings file and have numerous versions of them - or make it and distribute it to an end user. You would use the --config file path to run the application using a different config file.cfg parameter

Troubleshooting and Feature requests

Common Feature requests

  • Offline Translation. Although possible with NLLB (Meta) its not easy to do all the language pairs we potentially need.

  • The key feature is to make the integration easier. This is actually best done if it was a system wide voice rather than all software having to integrate different providers. So how do we do it? See our roadmap

  • ElevenLabs access.

  • Offline Azure/Google etc voices. Although advertised as kind of possible its not without limitations (notably not all voices are available like this from Microsoft and particularly not those that are of high need becauser we dont have much language support)

Getting keys for Azure or Google

Azure TTS

Google Cloud TTS

Creating a service account for OAuth 2.0 involves generating credentials for a non-human user, often used in server-to-server interactions. Here's how you can create OAuth 2.0 credentials using a service account for Google APIs:

Create a Service Account:

  1. Create a New Project: If you don't already have a project, create a new one in the developer console.

  2. Enable APIs: Enable the APIs that your service account will be using. For example, if you're using Google Drive API, enable that API for your project.

  3. Create a Service Account:

  • In the Google Cloud Console, navigate to "IAM & Admin" > "Service accounts."

  • Click on "Create Service Account."

  • Enter a name for the service account and an optional description.

  • Choose the role for the service account. This determines the permissions it will have.

  • Click "Continue" to proceed.

  1. Create and Download Credentials:

  • On the next screen, you can grant the service account a role in your project. You can also skip this step and grant roles later.

  • Click "Create Key" to create and download the JSON key file. This file contains the credentials for your service account.

  • Keep this JSON file secure and do not expose it publicly.

  1. Use the Service Account Credentials:

  • In your code, load the credentials from the JSON key file. The credentials can be used to authenticate and access the APIs on behalf of the service account.

  1. Grant Required Permissions:

  • If you skipped assigning roles during the service account creation, you can now grant roles to the service account by navigating to "IAM & Admin" > "IAM" and adding the service account's email address with the appropriate roles.

Tips

Help! It doesnt say anything when I press the preview button!

  • Have you just downloaded a new model? Give it a little while.. The pipe service doesnt report back when the model has downloaded and ready so the GUI tool just reports back ready. It should cue up your request though so it might take a little while

  • Preview just says "Hello world" and runs client. If it is set to translate it may be sending the incorrect text. Try using translate and match the language you are trying to preview

Ummm its stopped working

  • In the bottom right of the task bar you will find a small blue icon. Quit the AACSpeakHelper server and start it again. To do this navigate to %AppData%/Local/Programs/Ace Centre/AACSpeakHelper/ and double click on AACSpeakHelperServer.exe

  • If it keeps happening send us the logs which are all plain text files %AppData%/Roaming/Ace Centre/AACSpeakHelper/

The translations are really bad - or have just stopped

  • We default to using Google - the standard translate.google.com interface for this - not their paid for tier. Two problems with this: 1. Its rate limited. If you use it a lot rapidly it may stop for a short while. 2. The code we use to access this may have stopped working. Just let us know.

  • Try changing translation providers. Some you will need to pay for but are likely to be better

Can I use this to batch-process a file of strings?

Sure. You may want to do this, for example, to create audio files for some phrases for a bilingual speaker. There are other tools to do this, but this is possible. You can just copy your text and run the main application - then look at the cache directory for the audio file. But if you want to automate this, check out this Powershell script

# Define the path to the text file and executable
$textFilePath = "C:\path\to\textfile.txt"
$executablePath = "C:\Program Files (x86)\Ace Centre\TranslateAndTTS\translatepb.exe"
$outputFolder = "C:\path\to\output\folder"

# Check if text file exists
if (Test-Path $textFilePath) {
    # Read each line of the text file
    $lines = Get-Content $textFilePath

    # Iterate through each line
    foreach ($line in $lines) {
        # Copy the line to the clipboard
        $line | Set-Clipboard

        # Run the executable
        Start-Process $executablePath

        # Wait for the executable to complete and the file to be created (adjust time as needed)
        Start-Sleep -Seconds 5

        # Identify the latest created file in the output folder (assuming it's sorted by date)
        $latestFile = Get-ChildItem $outputFolder | Sort-Object LastWriteTime -Descending | Select-Object -First 1

        # Generate a unique truncated name based on the line from textFilePath
        $truncatedName = $line.Substring(0, [Math]::Min(10, $line.Length)) # Taking first 10 characters, adjust as needed

        # Rename the file
        Rename-Item -Path "$outputFolder\$($latestFile.Name)" -NewName "$truncatedName.txt" # Adjust extension if needed
    }
} else {
    Write-Host "Text file not found at $textFilePath"
}

When supporting people with a language not supported by AAC

  • If it doesnt can we get by with recorded clips?

  • Do we need symbol vocabulary or can they write?

  • If they can write what script are they familar with (Hint: Ask them if they write in their language to their friends on their phone - if they use the standard latin (UK/US) keyboard they could be using transliteration. This is not bad - you will just have to test if your TTS engine works with that. And remember if you are going to do phrases you may want to use transliteration too if they are not familar with the written form )

How was this made

Blood, sweat and tears

We have

  1. A pipe server that

    1. Reads in a config dict

    2. Creates an object to the TTS Engine and holds it in memory to reduce coldstart time

    3. Speaks using sounddevice (heavily reliant on py3-tts-wrapper)

  2. Client - calling executable

    1. You can pass it a config and a string or no string and it will use the pasteboard text

    2. Calls the pipe service

  3. A GUI Configuration editor

    1. QT Based editor

    2. Note calls client.exe with temp configs.

There is a lot of magic to make this work though. This includes

  • QT/QT Threading. We had "fun" with threads. Never again will I do it like this

  • Encryption in a github Action of keys and a hideous JSON file from Google. That wasted us a week.

Credits

  • Will Wade (original v1, refactoring v2 several times, dealing with encryption, build scripts and generally pulling my hair out)

  • Acer Jay Costillo (QT work and refactoring)

  • Gavin Henderson - for making the call on baking in creds. I hated that and several times threw the idea out.

  • Simon Poole - CTO at Smartbox for making me aware of MMS.

Whats next?

Developer Notes

  • It works on Python 3.10 or 3.11. The dependencies aren't well covered on all other versions (and there are a lot!)

Roadmap

Download

Alternatively you will find the current most release on the Ace Centre Website

Supported Languages

This tool supports a multitude of languages provided through Azure and Google Cloud. For a detailed list, please refer to the respective sections below.

WARNING

Please note. If you use any online TTS system, the data is sent to a server and sent back. These services do not store this data, but it is up to you to check this and how it may work against your own IG policy. The app does have a feature of 'caching' data, too - but this is not sent to Ace or anyone else. It's all on the device.

Languages by Azure

Languages by Azure (Online)

Languages by Google Cloud (Online)

Languages by Sherpa-Onnx (MMS)

If you are not using translate you will need a keyboard in the right language. This can be tricky to make. Try using this - right now only supporting the Grid3. It certainly wont make complete keyboards but it will be a good starting point

See the demo pageset

If you want to use mind-express for translation note that MEX already can do this. See

As this is a quick prototype, it may have some issues. For issues regarding connectivity or functionality, please note that Azure, Google Cloud and translation services require an online connection. If you have any questions, suggestions, or contributions, please create a pull request or .

You first need an Azure subscription - .

in the Azure portal.

Your Speech resource key and region. After your Speech resource is deployed, select Go to resource to view and manage keys. For more information about Azure AI services resources, see

Go to the Google Cloud Console: Visit the .

Does the Voice exist on any system? (See our)

- a unified wrapper to a range of TTS engines. This is needed as we need a unified way of get_voices and speak, speak_streamed etc

- a really nice tooling pipleine to deal with VITS models that run on the edge.

and - Massive help this work from Meta - and we converted their models for (Sherpa-)Onnx. We made some things on the way like a nice JSON with details on the voices. Commerical Providers: Please note the licence these are under

SAPI Bridge. This is really what is needed. C++ developers - we need your help. See

We use a GitHub action to build the application (see workflow .)

Download the installer from our . You click on the link under "assets" for the file named AACSpeakHelper-v2.2.8.exe (or whatever number is there) (eg. Right now download this " )

For the most up-to-date list see the list

http://aackeyboardmaker.streamlit.app
here
here for a demo
donate
Create one for free
Create a Speech resource
Get the keys for your resource
Google Cloud Console
links here
// Test
python translatepb.py
// Build for Windows
python -m PyInstaller translatepb.py --noupx --noconsole --onedir -i .\assets\translate.ico --clean
python -m PyInstaller .\GUI_TranslateAndTTS\widget.py --noupx --noconsole --name "Configure TranslateAndTTS" --onefile  -i .\assets\configure.ico --clean
// Build installer. 
//    You need to install InnoSetup (6) https://jrsoftware.org/isinfo.php
& "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" .\buildscript.iss

Afrikaans

Armenian

Azerbaijani

Albanian

Amharic

Bangla

Arabic

Bengali

Bosnian

Bulgarian

Burmese

Catalan

Chinese

Croatian

Czech

Danish

Dutch

English

Estonian

Filipino

Finnish

French

Galician

Georgian

German

Greek

Gujarati

Hebrew

Hindi

Hungarian

Icelandic

Indonesian

Irish

Italian

Japanese

Javanese

Kannada

Kazakh

Khmer

Korean

Lao

Latvian

Lithuanian

Macedonian

Malay

Malayalam

Maltese

Marathi

Mongolian

Nepali

Norwegian Bokmål

Pashto

Persian

Polish

Portuguese

Romanian

Russian

Serbian

Sinhala

Slovak

Slovenian

Somali

Spanish

Sundanese

Swahili

Swedish

Tamil

Telugu

Thai

Turkish

Ukrainian

Urdu

Uzbek

Vietnamese

Welsh

Afrikaans (South Africa)

Arabic

Basque (Spain)

Bengali (India)

Bulgarian (Bulgaria)

Catalan (Spain)

Chinese (Hong Kong)

Czech (Czech Republic)

Danish (Denmark)

Dutch (Belgium)

Dutch (Netherlands)

English (Australia)

English (India)

English (UK)

English (US)

Filipino (Philippines)

Finnish (Finland)

French (Canada)

French (France)

Galician (Spain)

German (Germany)

Greek (Greece)

Gujarati (India)

Hebrew (Israel)

Hindi (India)

Hungarian (Hungary)

Icelandic (Iceland)

Indonesian (Indonesia)

Italian (Italy)

Japanese (Japan)

Kannada (India)

Korean (South Korea)

Latvian (Latvia)

Lithuanian (Lithuania)

Malay (Malaysia)

Malayalam (India)

Mandarin Chinese

Marathi (India)

Abidji

Aceh

Achagua

Achang

Achi

Acholi

Achuar-Shiwiar

Aché

Adele

Adioukrou

Agarabi

Aghul

Agutaynen

Ahanta

Akan

Akateko

Akawaio

Akeu

Akha

Akoose

Alangan

Albanian

Altai, Southern

Alune

Alur

Amazigh

Ambai

Ambrym, North

Amharic

Amis

Amuzgo, San Pedro Amuzgos

Angor

Anjam

Anufo

Anyin

Arabela

Arabic

Aralle-Tabulahan

Aringa

Armenian, Western

Arop-Lokep

Arosi

Aruamu

Asháninka

Ashéninka, Pajonal

Ashéninka, Pichis

Ashéninka, Ucayali-Yurúa

Assamese

Asu

Ateso

Attié

Aukan

Avar

Avatime

Avokaya

Awa

Awa-Cuaiquer

Awadhi

Awajún

Awakateko

Aymara, Central

Ayoreo

Ayta, Abellen

Ayta, Mag-Indi

Ayta, Mag-antsi

Azerbaijani, North

Azerbaijani, North

Azerbaijani, South

Baatonum

Bada

Baelelea

Bagheli

Bagri

Bahnar

Baka

Bakhtiâri

Bakwé

Balantak

Bali

Balochi, Southern

Balochi, Southern

Bamanankan

Bambam

Bana

Bandial

Bantoanon

Barai

Bari

Baruga

Bashkort

Basque

Bassa

Batak Angkola

Batak Dairi

Batak Karo

Batak Simalungun

Batak Toba

Bauzi

Bedjond

Behoa

Bekwarra

Belize English Creole

Bemba

Benga

Bengali

Berom

Bete-Bendi

Bharia

Bhatri

Bhattiyali

Biali

Bidayuh, Bau

Bikol, Buhi’non

Bikol, Central

Bimoba

Binukid

Binumarien

Birifor, Malba

Birifor, Southern

Bisa

Bislama

Bisu

Bisã

Blaan, Koronadal

Blaan, Sarangani

Bobo Madaré, Southern

Bodo Parja

Boko

Bokobaru

Bola

Bomu

Bonggi

Bora

Borong

Borôro

Bru, Eastern

Buamu

Buang, Mapos

Bughotu

Buglere

Bulgarian

Buli

Bum

Burmese

Bwanabwana

Cabécar

Cacua

Capanahua

Caquinte

Carapana

Carib

Catalan

Cebuano

Cerma

Chachi

Chamacoco

Chatino, Eastern Highland

...

...

Tok Pisin

Tol

Tolaki

Tombonuo

Tombulu

Tonga

Tontemboan

Toraja-Sa’dan

Torres Strait Creole

Totonac, Coyutla

Totonac, Highland

Toura

Trinitario

Triqui, Chicahuaxtla

Triqui, Copala

Trió

Tsafiki

Tsakhur

Tsikimba

Tsimané

Tsonga

Tucano

Tuma-Irumu

Tumak

Tunebo, Central

Turkish

Turkmen

Turkmen

Tuwuli

Tuyuca

Tyap

Tzeltal

Tzeltal

Tzotzil

Tzotzil

Tz’utujil

Tz’utujil

Uab Meto

Udmurt

Uduk

Ukrainian

Uma

Umbu-Ungu

Urak Lawoi’

Urarina

Urat

Urdu

Urdu

Urdu

Uripiv-Wala-Rano-Atchin

Uspanteko

Uyghur

Uyghur

Uzbek

Vagla

Vengo

Vidunda

Vietnamese

Vili

Vunjo

Vute

Wa, Parauk

Waama

Waima

Waimaha

Waiwai

Wala

Wali

Wamey

Wampís

Wanano

Wandala

Wapishana

Warao

Waray-Waray

Wayana

Wayuu

Welsh

Wersing

Whitesands

Witoto, Minika

Witoto, Murui

Wolaytta

Wolaytta

Wolio

Woun Meu

Wè Northern

Xaasongaxango

Xerénte

Yagua

Yakan

Yakut

Yala

Yali, Angguruk

Yali, Ninia

Yalunka

Yamba

Yambeta

Yamdena

Yami

Yaminahua

Yanesha’

Yanomamö

Yao

Yaouré

Yawa

Yemba

Yine

Yipma

Yom

Yoruba

Yucuna

Yupik, Saint Lawrence Island

Yuracare

Zaiwa

Zande

Zapotec, Aloápam

Zapotec, Amatlán

Zapotec, Cajonos

Zapotec, Choapan

Zapotec, Coatecas Altas

Zapotec, Guevea de Humboldt

Zapotec, Isthmus

Zapotec, Lachixío

Zapotec, Miahuatlán

Zapotec, Mitla

Zapotec, Mixtepec

Zapotec, Ocotlán

Zapotec, Ozolotepec

Zapotec, Quioquitani-Quierí

Zapotec, Rincón

Zapotec, San Vicente Coatlán

Zapotec, Santa María Quiegolani

Zapotec, Santo Domingo Albarradas

Zapotec, Sierra de Juárez

Zapotec, Texmelucan

Zapotec, Western Tlacolula Valley

Zapotec, Yalálag

Zapotec, Yareni

Zapotec, Yatee

Zapotec, Yatzachi

Zaza

Zhuang, Yongbei

Zigula

Zoque, Francisco León

Zulgo-Gemzek

Éwé

TTS-Wrapper
Sherpa-Onnx
MMS
Models readied for Sherpa-Onnx
Roadmap
here
latest release
AACSpeakHelper-v2.2.8.exe
here

Command Line Flags

The app (client.exe) is designed to be called by a AAC application - and relies on some text being available in the copy buffer. You can use these parameters/flags to control aspects like which settings file is loaded or other aspects. Read below for all the flags.

General Usage

client.exe [options]

Options

Flag
Description
Type
Required
Default
Example

-s, --style

Specifies the voice style for Azure Text-to-Speech.

String

No

None

--style "sad"

-sd, --styledegree

Specifies the degree of the style for Azure TTS.

Float

No

None

--styledegree 1.5

-c, --config

Path to a defined config file .

String

No

None

--config "C:\somepath\some.cfg"

-l, --listvoices

List Voices to see what's available

Bool

No

None

-p, --preview

Only preview the voice

Book

No

None

Using the style flag for Azure voices

advertisement_upbeat

affectionate

angry

assistant

calm

chat

cheerful

customerservice

depressed

disgruntled

documentary-narration

embarrassed

empathetic

envious

excited

fearful

friendly

gentle

hopeful

lyrical

narration-professional

narration-relaxed

newscast

newscast-casual

newscast-formal

poetry-reading

sad

serious

shouting

sports_commentary

sports_commentary_excited

whispering

terrified

unfriendly

You can use the command line's --style flag for Azure voices. If you do this, follow it with one of these style flags. You can change the strength of these with --styledegree being 0.1 to 2. By default it is 1. So 2 would double it. Be warned. Some voices don't have all styles. .

Read the Azure docs for more info