Commit Graph
52 Commits
Author SHA1 Message Date
Valdis Vitolins 5821e418c1 android: update configuration files:
- remove unsupported hardware platforms
- udpate dependencies and versions of tools
2018-12-04 16:45:57 +02:00
Reece H. Dunn a0d8e8df78 android: add the new ssml.c source file 2018-03-15 07:28:08 +00:00
Reece H. Dunn 3a2663030b Update the version to 1.49.3-dev. 2017-09-24 10:46:15 +01:00
Reece H. Dunn 3ed34d3a74 eSpeak NG 1.49.2 2017-09-24 10:10:00 +01:00
Reece H. Dunn 17620ed607 Android: Update APP_PLATFORM to android-14. 2017-08-20 22:48:21 +01:00
Reece H. Dunn cec0e773a4 Remove the tokenizer code. This is not currently used, and should be designed from espeak's behaviour. 2017-08-16 19:04:26 +01:00
Reece H. Dunn 58a0363762 Android: Fix the location of ucd-tools (it is now in src/ucd-tools). 2017-07-06 19:29:14 +01:00
Reece H. Dunn 1c4ce3dcd3 tokenizer.c: create and use a clause_type_from_codepoint function, with tests. 2017-04-19 22:33:32 +01:00
Reece H. Dunn ff01f81fbf Fix the Android build. 2017-04-01 10:03:23 +01:00
Reece H. Dunn 1fcdc1c009 Android: add phoneme.c to the build. 2017-02-08 07:12:24 +00:00
Reece H. Dunn 9bb4b53967 Update the version to 1.49.2-dev. 2017-01-22 15:22:38 +00:00
Reece H. Dunn 999ac67433 eSpeak NG 1.49.1 2017-01-21 20:38:42 +00:00
Reece H. Dunn 73961be59f Add the config.h file needed for the Android build. 2017-01-08 10:32:07 +00:00
Reece H. Dunn e4e572aadc Convert eSpeakService.cpp to C so it can be compiled with clang's -std=c11 flag. 2017-01-05 21:42:16 +00:00
Reece H. Dunn 0a2034b979 android: support building the new espeak-ng C code. 2017-01-05 20:59:32 +00:00
Reece H. Dunn 3b6c327756 Replace SpeechSynthesis.getBufferSizeInBytes with a constant in the C++ source, specified in the correct units (milliseconds). 2015-10-12 19:02:16 +01:00
Reece H. Dunn e08b1fc624 Update the copyright notices. 2015-10-12 07:24:20 +01:00
Reece H. Dunn e6f6e97680 Remove the use of the native_data_t object. 2015-10-07 21:23:58 +01:00
Reece H. Dunn 66cfe9af2b Implement SpeechSynthesis.getSampleRate in Java. 2015-10-07 21:12:05 +01:00
Reece H. Dunn 46c5f88c6f Implement SpeechSynthesis.getBufferSizeInMillis in Java. 2015-10-07 20:57:51 +01:00
Reece H. Dunn 92ac250ddd Implement SpeechSynthesis.getAudioFormat in Java. 2015-10-07 20:51:17 +01:00
Reece H. Dunn c62a91fc0f Implement SpeechSynthesis.getChannelCount in Java. 2015-10-07 20:47:19 +01:00
Reece H. Dunn 092318d4df jni: avoid crashing when run on ART
The ART runtime is stricter about calling env->DeleteWeakGlobalRef
on an object/value that was not returned from env->NewWeakGlobalRef.
In that case, it triggers an abort which causes the application to
crash and display an "Application has stopped" dialog message.
2014-07-03 12:11:17 +01:00
Reece H. Dunn f0fa441131 Fix a crash when specifying punctuation characters. 2013-09-19 11:19:59 +01:00
Reece H. Dunn 9e99b70965 Android.mk: Only build the parts of libespeak that are actually used. 2013-09-16 12:57:03 +01:00
Reece H. Dunn aebd02fa68 Remove the Android 2.x/3.x support code.
The Android 4.x+ code has changed a lot since the initial import
of the eyes-free codebase. A lot of bug fixes and improvements
have been made to it.

The eyes-free codebase had two different code paths:
  *  one for ICS (4.0) or later, using the Java-based TTS APIs
     provided by the Android platform;
  *  one for pre-ICS using an internal C++-based TTS API.

Thus, any bug fixes or improvements would have to be done to both
code bases if Android 2.x/3.x support is required. This is not
maintainable.

If pre-ICS support is to be re-added in the future, the plan will
be to:
  *  forward the C++-based APIs to the Java-based APIs via a
     compatibility layer;
  *  use a compatibility layer (Android Support Library?) for using
     the ICS settings API on pre-ICS.
2013-09-08 12:01:20 +01:00
Reece H. Dunn 1de60cdc15 Rework the 'Punctuation level' (now 'Speak punctuation') preference to include a custom punctuation list. 2013-09-05 14:06:57 +01:00
Reece H. Dunn 23005243da Fix a crash running the tests when running 'gradle connectedCheck' when the espeak application is not installed. 2013-07-28 16:20:43 +01:00
Reece H. Dunn 7ec13c5558 The nat object may be null in nativeDestroy. 2013-05-08 15:50:57 +01:00
Reece H. Dunn 233da111db TtsService.java: rework the logic to use the new Parameter API. 2013-05-02 20:33:43 +01:00
Reece H. Dunn cc72825682 SpeechSynthesis.java: expose the different voice options from eSpeak
This makes the following changes:

1.  setVoice takes a Voice object instead of a language string.

    This is to make the API cleaner and allows SpeechSynthesis
    to pass the correct parameter (identifier for SetVoiceByName,
    or name for SetVoiceByProperties) to espeak.

2.  The espeak_SetVoiceByName API is also exposed to support passing
    the voice variant to use.

3.  The age parameter has been re-added with the constants:
    *  SpeechSynthesis.AGE_ANY
    *  SpeechSynthesis.AGE_YOUNG
    *  SpeechSynthesis.AGE_OLD
    based on the behaviour of the eSpeak voice selection algorithm.

NOTE: Due to the way that voice selection is implemented in eSpeak,
if variant is specified, the age and gender cannot be specified and
vice versa.
2013-05-02 18:06:41 +01:00
Reece H. Dunn 88eab88d8a SpeechSynthesis.java: further simplify the setVoice method.
This renames `setVoiceByProperties` to the more consise `setVoice`
and removes the name parameter as this is not used -- the voice is
set by the language and gender parameters only.
2013-05-02 16:45:46 +01:00
Reece H. Dunn 027217d5f7 SpeechSynthesis.java: Simplify the SetVoiceByProperties parameters.
The `age` parameter is not useful as eSpeak does not use this when
selecting voices. This is always set to `0` by TtsService.java.

The `variant` parameter is not used to select the actual voice
variant (from the `!v` directory) but to select the n^th matching
voice from the list of matching voices. This is always set to
select the first matching voice by TtsService.java.
2013-05-02 16:32:46 +01:00
Reece H. Dunn 23d34d702a SpeechSynthesis.java: provide a binding of the eSpeak Get/SetParameter API. 2013-05-02 16:23:59 +01:00
Reece H. Dunn e50f9e0055 DEFAULT_SAMPLE_RATE is not needed, so remove it.
The sampleRate variable gets overwritten with the actual sample
rate during creation from the espeak_Initialize method, so the
value it is set to in the constructor does not matter.
2013-05-02 10:44:39 +01:00
Reece H. Dunn 4d44e88dd2 TtsService: support detecting SSML documents 2013-03-14 16:53:22 +00:00
Reece H. Dunn ef40dee48c Don't use espeakSSML when synthesizing text as this causes problems for some text. 2013-03-13 12:34:42 +00:00
Reece H. Dunn 920dc0ad0c Report the eSpeak version in the main activity. 2013-01-16 18:16:10 +00:00
Reece H. Dunn 03dfacef35 Android.mk: Factor out the ucd-tools files to make it easier to maintain. 2012-12-22 14:30:53 +00:00
Reece H. Dunn 68ec09ab57 Use the ucd-tools toupper/tolower APIs instead of the Android versions. 2012-12-22 10:08:42 +00:00
Reece H. Dunn 8bafda70e2 Use the new ucd-tools project for wide-character compatibility on Android. 2012-12-22 01:54:37 +00:00
Reece H. Dunn 0a37be30b2 Build a version of libttsespeak.so for the MIPS architecture. 2012-12-21 00:47:50 +00:00
Reece H. Dunn 2c20fe7e33 Application.mk: align the ':=' and remove commented out code 2012-12-20 20:23:24 +00:00
Reece H. Dunn 1b436168a1 eSpeakService.cpp: use 'delete' instead of 'free' to release memory allocated via 'new'. 2012-12-20 14:52:40 +00:00
Reece H. Dunn 7dd1d66e4a Fix the shared object name for API 8 compatibility, with tests. 2012-12-18 19:25:09 +00:00
Reece H. Dunn 3d48180e28 espeakengine: currentRate is not used, so remove it. 2012-12-16 18:13:59 +00:00
Reece H. Dunn 4529991fe4 espeakengine: avoid leaking memory from currentLanguage. 2012-12-16 18:11:45 +00:00
Reece H. Dunn f45a01b8e0 espeakengine: correctly implement TtsEngine::setAudioFormat. 2012-12-16 18:05:12 +00:00
Reece H. Dunn b9c0143a9b Rename libttsespeak.so to libespeak.so. 2012-12-16 12:12:00 +00:00
Reece H. Dunn 123e55a39c Relocate the package to com.reecedunn.espeak 2012-12-14 14:23:31 +00:00