Commit Graph
67 Commits
Author SHA1 Message Date
Yury Popov 0f050397dc android: use cmake build system 2022-12-02 21:34:33 +03:00
Alexander Epaneshnikov e3c876325d android: set buffer size to 300
ref: #1554
ref for buffer size: https://github.com/nvaccess/nvda/blob/a6fb2392083b5fa1bae926102135ad452746ad3c/source/synthDrivers/_espeak.py#L338
2022-11-24 02:08:43 +03:00
Alexander Epaneshnikov 6db277c5ed Android: enable debug in native lib 2022-11-04 01:12:21 +03:00
Beqa Gozalishvili e3487d0cf8 Android: Fix compatibility issues with some vendors
add tolower and toupper to be processed by ucd-tools in WCTYPE_H_COMPAT_SHIM

some vendors don't provide conformance with c standard in bionic
2022-11-04 00:58:37 +04:00
Beqa Gozalishvili e72e30ba52 Fix crash for some of devices. 2022-11-02 12:56:32 +04:00
Juho Hiltunen 4a2890250b code cleanup: new file langopts.c for handling language options.
The switch case in LoadVoice() currently mixes voice and language
options. This change will start separating them into two functions.

CheckTranslator will be moved to langopts.c. In the future there should
be no need to use it in voices.c. There will be other temporary
solutions also.
2022-10-09 16:38:52 +03:00
Juho Hiltunen c4d8976fbc code cleanup: Add new source file common.h for misc functions. 2022-09-03 21:19:37 +03:00
Juho Hiltunen fb06936c51 code cleanup: start moving translateWord3() to a new source file.
The file will be organized to have one callable function only. This
should make code structure simpler.

Existing code will be changed to use function parameters instead of
global variables.

Possible problems include too much dependencies with numbers.c.
2022-09-03 11:41:30 +03:00
Alexander Epaneshnikov 95678616f7 android: integrate ndk-build step into main gradle pipeline
this greatly simplifies the assembly of the android application. moreover, ndk
will be downloaded automatically via sdk-manager.
2022-04-15 19:06:53 +03:00
Valdis Vitolins 9fc8aa4a54 eSpeak NG 1.52-dev 2022-04-02 22:35:41 +03:00
Valdis Vitolins 2e9a5fccbb Release 1.51 2022-04-02 22:24:41 +03:00
Peter Vágner 9b271602a8 Android: Add speechplayer to ndk-build configuration 2021-05-30 22:19:16 +02:00
Juho Hiltunen 6e197d967e code cleanup: move soundicon logic to a new file
Soundicons are used for external audio with SSML <audio> tag and for
replacing punctuation names with sound files in LoadConfig().

Currently there's a bug wih soundicon slots: if both LoadConfig and
<audio> are used, the punctuation reserves all slots and no sound from
<audio> is played.
2021-03-21 18:53:05 +02:00
Valdis Vitolins b47a75f4e4 eSpeak NG 1.51-dev 2019-11-30 20:49:12 +02:00
Valdis Vitolins b702b03996 eSpeak NG 1.50 2019-11-29 18:50:54 +02:00
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