Multiplatform Application Designer | Digital Marabou

ezSpeech ANE – AIR Native Extension


ezSpeech ANE

AIR Native Extension for Android and iOS

Brings TTS to AS3 mobile games and applications.

Download it for free to test it

Supports: English, French, Italian, Spanish, Deutsch, Chinese, Japanese, Russian, Korean, Portuguese, Czech, Dutch, Polish, Swedish, Turkish

NEW: Working with AIR 33 and iOS 13. Android 32bit / 64bit support. Works in device emulators.


ezSpeech ANE

AIR Native Extension for Android & iOS mobile projects

Version 1.5.0

Bring the power of voice to your mobile projects. With ezSpeech ANE, your application talks directly to your users.


Imagine even more interactive services

This extension does not use the online service and work offline using the TTS engine (text to speech) of the device.

In a few lines of code, ezSpeech ANE will give voice to your games or applications.


How to test ezSpeech ANE

First, you need to download or fork ezSpeech AIR Native Extension project on GitHub.


Link the extension with your project

The ANE library (ezSpeech.ane) is located in the ‘bin’ folder.

You should add it to your application project’s build path and make sure to package it with your app.

For more information about this process, see :

  • How to use ANE with Adobe Flash Builder 4.7
  • How to use ANE with Adobe Flash CS6
  • How to use ANE with Adobe Flash CC
  • How to use ANE with Adobe Animate CC
  • How to use ANE with IntelliJ IDEA
    • Under File > Project Structure… > Modules make sure you have one module for each of your target platforms
    • Under File > Project Structure… > General make sure your project type is ActionScript (or Flex) for AIR mobile platform. You can use Change.. to have the correct type.
    • Each module should target either Android or iOS
    • Depending on your target, add the correct ANE in the Dependencies tab by using + > New Library…
    • On each of the platform tags you can generate a custom app descriptor or use the IDE generated one. You can use one for all platforms, or create one for each platform.
      • Only the generated one will include the extension IDs automatically
      • The application descriptor already contains the Android manifest and/or the iOS plist inside. You can set it up exactly like for the Flash Builder when using the custom app descriptor.
      • If you use the custom app descriptor, check that the right extension ID is added under <extensions>

In your application-app.xml file, you need to add the following lines :

And in the iPhone InfoAdditions section, add the following lines :

Type a few lines of code

Now you’ll know what easy means.

Import, instanciate, test and start to use. Everything is done in 7 lines of code!

With the setLanguage function :

On Android, if a specific TTS voice file is not installed and internet connection is available, ezSpeech ANE will download and install it automatically.

On iOS, all voices supported by this extension are pre-installed.

On both systems, this ANE supports: English, French, Italian, Spanish, Deutsch, Chinese, Japanese, Russian, Korean, Portuguese, Czech, Dutch, Polish, Swedish, Turkish (the exact same languages than AIR 24 Runtime)

With the forceLanguage function :

On both systems, you have to ensure a proper TTS engine is installed and selected by default to enforce a specific language. This function is EXPERIMENTAL.


Minimum OS version

In order to work, the device operating system must be at least:

  • Android 5.0
  • iOS 9.0

If device operating system doesn’t match the minimum requierements, “isSupported” method will always return false.


Sample app

There is a complete Flex 4.15 & AIR 22 sample project in the ‘example’ folder. It was created with Flash Builder 4.7.
Feel free to test it and adapt it for your own needs.




You can access the complete asdoc in the ‘doc’ folder.



ezSpeech ANE is developped by Fabrice Montfort. All rights are reserved.



This ANE is used in my “Anagrams Free” application available on Android and iOS mobile devices. Feel free to download it.


Buy a licence

If you want to use in a production project, you have to purchase the full version.

You will be able to download an archive with the full production version from your account on this website after your payment has been validated.

This is an ANNUAL LICENSE, valid for all your projects. You will benefit from all updates without restrictions during 365 days after your purchase. After that delay, you’ll have to buy a new license.



If you have any question, comment, or suggestion, you can leave me a message on Github. I’ll give you a quick answer.

I made the choice to centralize all trade questions and answers on GitHub so that they can serve all users.



1.5.0 – Working with AIR 33 and iOS 13. 32bit and 64bit support for iOS and Android. And it now works perfectly well in Android and iOS simulators (from Android Studio and Xcode)

1.2.0 – Working with AIR 30 and iOS 11.3. Bug resolved on AIR Simulator on Desktop

1.0.9 – Working better with ezSTT

1.0.8 – Adding setPitch and forceLanguage functions

1.0.5 – Adding TTS Events : INITIALIZED, NOT_INITIALIZED and stop() method

1.0.4 – Adding Utterance Events : START, DONE, ERROR

1.0.3 – Adding isSpeaking function to let you know if TTS is talking or not

1.0.1 – Adding languages : Chinese, Japanese, Russian, Korean, Portuguese, Czech, Dutch, Polish, Swedish, Turkish

1.0.0 – First public release