General information about the SDK and the Text-to-Speech technology

- What is text to speech? How does it sounds? How is it working? What’s the difference with Speech Recognition?

This page will give you all information about Text-to-Speech technology: What is Text-to-Speech?

- I would like to purchase Acapela for iPhone to install it on my iPhone/iPod touch/iPad

Acapela TTS for iPhone and iPad is not an application for end-users. This is a Software Development Kit dedicated to developers and integrators and not an end-user solution.

If you are looking for a speech-enabled app, have a look at our gallery where our customers’ applications are listed.

- I would like to develop an application with TTS for iPhone/iPad and resell it on the AppStore

Acapela TTS for iPhone and iPad SDK is what you need. Register on this site in order to be able to download the evaluation version (Simulator libraries with one voice).
Then contact us to buy the SDK, receive the device libraries and sign a license/royalties agreement.

- What is the latest version? What are the new features compared to the previous version?

Check the Acapela TTS for iPhone and iPad Version History and Release Notes page in the documentation page.

- Which languages are supported in your SDK?

Check the Available voices and Language Manuals page in the documentation section

- I would like to have your voices integrated into VoiceOver
- I want to use my iPhone with your voices but the voiceover doesn’t have the arabic language

Acapela TTS for iPhone and iPad is not an application for end-users. This is a Software Development Kit dedicated to developers and integrators and not an end-user solution.

Unfortunately, VoiceOver application, included in iPad, iPhone 3Gs and iPhone 4 cannot use our voices. It works only with build-in voices of iOS (that cannot be used by other applications than VoiceOver).

If you are looking for a speech-enabled app, have a look at our gallery where our customers’ applications are listed.
Some of them are available in Arabic too.
It will not replace the full features of voice over, but it will give better voices to your iPhone.

Licensing and pricing questions

- I would like to develop an iPhone app. Please tell me your licensing costs and terms.

Register on this site and you will have access to our price list.

- I don’t understand well your percentage pricing, how much will I pay exactly? What’s the NET price mean?”

The Net Price is the price you get from Apple, after taxes (depending of countries) and 30% share for Apple.
For example, with an application sold 1,99$ (or 1,59€), you will get a NET price of 0,97€ (for UE zone) or 1,4$ (for US zone), etc…

Royalty percentages to pay to Acapela are based on this net price (VAT excluded)

- Can I combine apps for the minimum commitment?

Yes, as long as they are all sold for more than $1.99 and that the percentage are calculated on the real net price of each application.

- What is the frequency for royalty reports? And why will you trust me for the reported number of sold applications?

Each quarter, you will have to send us the number of applications sold with the corresponding net price. We will build the invoice based on your information.

As a proof, you will have to send us a copy of Apple reports.

Technical questions

- How easy it is to integrate your SDK into my application?

Acapela TTS for iPhone and iPad is a SDK with a simple API in Objective C. Have a look to our tutorial “Quick Start: How to add TTS in your app” and the SDK Developer Guide in the documentation page

- Is Acapela TTS for iPhone and iPad compatible with XCode 3.2.3 and/or iOS 4 SDK?

Check our compatibility note in the documentation page, and also this blog post.

- Does your product work with Mono-Touch?

Our TTS doesn’t have a C# API … The API is done exclusively in Objective C.
However, you should be able to bind our API to your code with some operations similar to the instructions of this website: http://monotouch.net/Documentation/Binding_New_Objective-C_Types

- Are there plain C/C++ versions of the api?

No. We have chosen to have an high level Objective C api only, for the following reasons:

  • Most of the iPhone developers are not mobile or embedded developers. A high level API similar to the other in Cocoa Touch and other frameworks is easier for the integration.The way we have designed the AcapelaSpeech API is based on the Apple Mac OS X NSSpeechSynthesizer framework.
  • The audio is fully implemented, using AudioQueue and by implementing the audio threads by our self. It means that you don’t have to deal with threads.
  • As we are only using AudioQueue, the developers have still full control of the high level sound management, and can call AudioSession API (in order to stop iPod music, mix with this music or react to iPhone interruptions).

Common compilation and linker errors

- I am receiving the error of “Evaluation.lic.password: No such file or directory”

This is an error related to the include file Evaluation.lic.password.
Sometimes, XCode is not considering this as a valid header files, and so, you need to add the api path into your project and then include the license files relatively to this API path like this

#include "../License/evaluation.lic.h"   //in Search Header Path, we have the /api folder path
#include "../License/evaluation.lic.password"

Read the page http://www.acapela-for-iphone.com/documentation-quick-start-how-to-add-tts-in-your-app (Step 6 and Step 7) for more information.

- I got some strange errors into the console when trying to open a voice (that don’t speak)

/Users/username/Library/Application Support/iPhone Simulator/4.2/Applications/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/MyTTSApp.app/NLP/enu.trx
2011-01-05 09:38:08.619 AppName[22764:207] key: AcapelaSpeechErrorNewestCharacterOffset, value: 0
2011-01-05 09:38:08.620 AppName[22764:207] key: AcapelaSpeechErrorCount, value: 2
2011-01-05 09:38:08.620 AppName[22764:207] key: AcapelaSpeechErrorOldestCode, value: -22
2011-01-05 09:38:08.621 AppName[22764:207] key: AcapelaSpeechErrorNewestCode, value: -7
2011-01-05 09:38:08.621 AppName[22764:207] key: AcapelaSpeechErrorOldestCharacterOffset, value: 0
2011-01-05 09:38:08.622 AppName[22764:207] key: AcapelaSpeechErrorNewestNLPcode, value: 0
2011-01-05 09:38:08.622 AppName[22764:207] key: AcapelaSpeechErrorNewestSYNTHcode, value: 0
2011-01-05 09:38:08.622 AppName[22764:207] key: AcapelaSpeechErrorOldestNLPcode, value: 0
2011-01-05 09:38:08.623 AppName[22764:207] key: AcapelaSpeechErrorOldestSYNTHcode, value: 0

You got this error when the voice was not carefully added into the ressources of your application.

(i.e. the checkbox “create folder reference” was not chosen, … don’t choose the “recursively create groups” default option, in order to keep the folder structure of our voices data into your iPhone App !!!)

Read the page http://www.acapela-for-iphone.com/documentation-quick-start-how-to-add-tts-in-your-app (Step 4) for more information.

PS: Be careful that sometimes, XCode (and the simulator) have some strange cache effect with ressources.
So, in case of persistent errors, even after the above corrections, do that:

1) remove all voices from your ressource folder
2) Clean all targets
3) Quit XCode (et check if the Simulator is closed too)
4) Reopen the project in XCode
5) Clean all target again
6) Add the voicse with the correct “create folders reference” option

- I’ve tried to include new voices into the simulator, but when I launch the app, it’s still the old one?

- I’ve tried to include new voices into the simulator, but when I launch the app, the voices doesn’t speak …

Simulator have some strange behavior with files in resources.

If you have to change the list of voices into the resources of your app bundle be careful to:

  • Clean the target and delete the build directory
  • kill an eventual old app running in background of your simulator (!!! it is persistent even if you’ve close the simulator for one month !!! –> when you relaunch it, simulator come back to the same state as last time.

  • remove the installed app of your simulator (most of the time, files in resources will not be updated even if you rebuild the app)

  • In some case, chosing “Reset Content and Settings” in the Menu of simulator may help