8a3967ac6e3570ede4feaaf84801b3f5b1bba087 |
13-Feb-2018 |
Niels Egberts <nielse@google.com> |
Fix race condition with calling stop() before run() The code assumed that when stop() is called before run(), it's not neccessary to signal mNotFull, but in rare cases the synthesizer may already have filled the buffer before run() is called. Test: manual Bug: 70887227 Change-Id: I83117f3541d37830b344bc9eda34e1f380b58e76 (cherry picked from commit 32011ea4f144b46b5ab64577465983caf6303f2d)
ynthesisPlaybackQueueItem.java
|
ce8db9911494225fcd99711d7df85a130de5a6ce |
14-Dec-2017 |
Jeff Sharkey <jsharkey@android.com> |
Add more IntDef prefixes for auto-documenting. Test: builds, boots Bug: 70177949 Exempt-From-Owner-Approval: annotation-only changes Change-Id: I76dde6054e06f52240bd4b1a0f196dcb74623608
extToSpeech.java
|
35e6bb474df3a42c81a44941c178c2118224ac41 |
18-Jul-2017 |
Kazuhiro Inaba <kinaba@google.com> |
TTS: Fix a race condition between enqueueSpeechItem and stopForApp. When speak() is immediately followed by a stop(), the speak may not be stopped at all due to a race condition. Bug: 63649835 Test: android.speech.tts.cts.TextToSpeechServiceTest#testSpeakStop Change-Id: Iae5660b455f5d845aa119c902057e2ca7131ce1b
extToSpeechService.java
|
a81d17b7959a67cbf12b389938dd2cd731893475 |
25-Jul-2017 |
Kazuhiro Inaba <kinaba@google.com> |
TTS: Ensure to callback onStop() from SynthesisPlaybackQueueItem. The previous implementation calls back the dispatcher only at the end of run() loop. It means, if stop() is called after enqueueing and before running, none of onSuccess, onStop, or onError is called for the items in the queue. Bug: 63649835 Test: android.speech.tts.cts.TextToSpeechServiceTest#testSpeakStop Change-Id: Ib20cb0e9157859866f694439858a27369ba8026e
udioPlaybackHandler.java
ynthesisPlaybackQueueItem.java
|
000ce805050f0bdbf485464b84eb2c08bca5ad72 |
29-Apr-2017 |
Jeff Sharkey <jsharkey@android.com> |
Updates based on API council guidance. Test: builds, boots Change-Id: I223faf55c1e1b4d81d11b4c8b2d93ccd131c969b Fixes: 37775662 Fixes: 37748635 Fixes: 37673408 Fixes: 37672564 Fixes: 37672218 Fixes: 37638323 Fixes: 37637423
tteranceProgressListener.java
|
04637f3d4d68f6e5a4820e207b444d93704649b6 |
12-Apr-2017 |
Niels Egberts <nielse@google.com> |
Document examples where a developer might use the APIs. Test: mmma frameworks/base/ Bug: 35767714 Change-Id: I845db36869b84a18e79d7fe28f10031cfe836617
ynthesisCallback.java
tteranceProgressListener.java
|
53e100c468861807a9fef5b1b18a1c9533bad2fe |
27-Mar-2017 |
Amith Yamasani <yamasani@google.com> |
Provide deprecated API to avoid build breakage Restored onUtteranceRangeStart() temporarily as a deprecated API. Bug: 36646809 Test: N/A Change-Id: I7da927aca4f4ad1f5cc76564e8fdc4261849898b
tteranceProgressListener.java
|
5d0ea0fe210db85a8a8a44c63d8fef195e206abb |
21-Mar-2017 |
Niels Egberts <nielse@google.com> |
Add time markers to synthesizeToFile API. Also rename onUtteranceRangeStart to onRangeStart based on feedback from the API council. Bug: 35767714 Bug: 35767290 Test: cts-tradefed run cts-dev --module CtsSpeechTestCases Change-Id: I2c17a06e401313d4f35e5ec4958c2251c195ef05
ileSynthesisCallback.java
TextToSpeechCallback.aidl
laybackSynthesisCallback.java
ynthesisCallback.java
ynthesisPlaybackQueueItem.java
extToSpeech.java
extToSpeechService.java
tteranceProgressListener.java
|
07d98a9d684fd82d004962a59806fa0506e6c550 |
14-Feb-2017 |
Sergio Sancho <ssancho@google.com> |
Ensure we set the notification marker position by calling updateMarker() just after the AudioTrack is initialized. This solve the issue with cached synthesis in which updateMarker was called before AudioTracker initialization and we never got the callbacks. Test: Built android and flashed to a device. Change-Id: I9053d1d046cc9a76aeedd307d5d48920e26e584d
ynthesisPlaybackQueueItem.java
|
7c810edbce633883a3eafc5a090e5584835b4f09 |
08-Feb-2017 |
Sergio Sancho <ssancho@google.com> |
Merge "Ensure default pitch is used when none is specified."
|
b0cde2cabaab13bdc20dbbf1806b96760e666e5c |
26-Jan-2017 |
Sergio Sancho <ssancho@google.com> |
Ensure default pitch is used when none is specified. Test: Manual Change-Id: I09ab4ccea439d01c65a06c3c44b4ff210ddf7f54
extToSpeechService.java
|
65c50784564d0bae9276fde5472dd8898a781bcd |
23-Dec-2016 |
Niels Egberts <nielse@google.com> |
Implement time markers for TTS. The service can inform the framework at which frame a part of the input is spoken, and that information is then relayed to the client. This can be used to highlight the currently spoken word/sentence or to resume synthesis requests at the start of the last word/sentence. Test: manual Change-Id: Ie20a6764a8788cc3539cb058425e55eb6fde07db
lockingAudioTrack.java
TextToSpeechCallback.aidl
laybackSynthesisCallback.java
ynthesisCallback.java
ynthesisPlaybackQueueItem.java
extToSpeech.java
extToSpeechService.java
tteranceProgressListener.java
|
9b01193770fe57cab003e7ab3d35749bb82dd88d |
03-Jan-2017 |
Niels Egberts <nielse@google.com> |
Merge "Remove refernces to V1 API, as V2 doesn't exist anymore."
|
01dedf59db924726ee323aac89708031ce8f320f |
23-Dec-2016 |
Niels Egberts <nielse@google.com> |
Remove refernces to V1 API, as V2 doesn't exist anymore. Also ran formatter on modified lines. Test: Refactor only, CTS tests still passing. Change-Id: I1309cfa8e9e731d3450c13d96038e6b5d53a12e1
ventLogger.java
ventLoggerV1.java
extToSpeechService.java
tsEngines.java
|
2c80a03823d114f968039fb5d09948d76352e03c |
23-Dec-2016 |
Niels Egberts <nielse@google.com> |
Remove redundant public modifiers in interfaces. Also applied formatter on modified lines. Test: refactoring CL. Existing unit tests still pass. Change-Id: I9a7c33e7590260ede0811dd1b50b565b0f8d2f87
ynthesisCallback.java
extToSpeech.java
extToSpeechService.java
|
10db95b316a29196ce39635682c07a2a414a09e7 |
07-Apr-2016 |
Niels Egberts <nielse@google.com> |
Fix issue when QUEUE_DESTROY arrive at the same time. When multiple QUEUE_DESTROY messages arrive in a short timespan, some messages were not flushed. This is because every QUEUE_DESTROY message resets mFlushAll just before it starts playing itself. The solution is to keep a counter of the amount of flushes that are still behind it on the queue and keep flushing until the last one is reached. Bug: 27555444 Change-Id: Ic24aa2250bf684e74b541907e4c57e0d5f0069ca
extToSpeechService.java
|
33b840444f5a481dd31e129079d3c0cf3acdf80e |
08-Mar-2016 |
Glenn Kasten <gkasten@google.com> |
Use audio_session_t consistently Also prefer AudioManager.AUDIO_SESSION_ID_GENERATE over AudioSystem.AUDIO_SESSION_ALLOCATE, because AudioSystem.AUDIO_SESSION_ALLOCATE is @hide. Bug: 27562099 Change-Id: I5924554feb919db7f2390f5b062faedd515421af
udioPlaybackQueueItem.java
extToSpeechService.java
|
c99ba1c3edf725e070383b27724c9ed63e1e5765 |
20-Nov-2015 |
Niels Egberts <nielse@google.com> |
API to listen in on the synthesized audio. Change-Id: Ic943d39a0540f0061ef6f629e4934dc71f69ab6b
ileSynthesisCallback.java
TextToSpeechCallback.aidl
laybackSynthesisCallback.java
extToSpeech.java
extToSpeechService.java
tteranceProgressListener.java
|
9b2b2f50909b0278fee7f26d0070f318fd6b354a |
08-Dec-2015 |
Niels Egberts <nielse@google.com> |
Fix checks for audio format. Change-Id: I43e9a94f8ddd46f72d24e06d72702f354bbeae46
ileSynthesisCallback.java
laybackSynthesisCallback.java
|
453c13f77121641a52d8b422a527feb7b3d3b8ab |
20-Nov-2015 |
Niels Egberts <nielse@google.com> |
Small refactoring for FileSynthesisCallback. Removed unused callerIdentity member and removed null checks for the dispatcher. Change-Id: I2983f5d48a7a593bc998ba4e033f1e815fa61819
ileSynthesisCallback.java
extToSpeechService.java
|
5fd28893f299cc069257de2199f91762dfba16b1 |
23-Nov-2015 |
Niels Egberts <nielse@google.com> |
Fix docs build failure. Change-Id: If8d215f34a48e0c61aec0d35f10f1bfd633a4254
ynthesisCallback.java
|
a24b50bee1aca19028477b235862bcd2c37135ed |
20-Nov-2015 |
Niels Egberts <nielse@google.com> |
Restrict audioformat to 8bit, 16bit or float PCM with an annotation and a warning. TextToSpeech.synthesizeToFile has only ever worked with 8bit and 16bit PCM. In case of float PCM an invalid file would be generated and in case of other encodings the TTS engine would crash. Also add more annotations to SynthesisCallback. Change-Id: I1c44a44509e9b53bb2e1b0f2044b1a5919875e1c
ileSynthesisCallback.java
laybackSynthesisCallback.java
ynthesisCallback.java
extToSpeech.java
|
54545f7e655f4dc3d9f75440a440950006fdaffd |
05-Aug-2015 |
Niels Egberts <nielse@google.com> |
NPE occured when trying to parcel voice features. The default features member should be an empty list instead of null. Bug: 22404239 Change-Id: Ia39982f17fd3b3cd0f3556435170aed2fac14fb8
extToSpeechService.java
|
992ea1553c3ae6766505f084061c5ef2321229b7 |
26-Jun-2015 |
Niels Egberts <nielse@google.com> |
Fix crash with engines that don't override getVoices(). The name of the voices was not normalized in getVoices(), therefore if you use getDefaultVoiceName, that name possibly doesn't appear in getVoices(). The framework would then run into a NullPointerException. This was caught by the cts tests. Also added a few more log statements. BUG: 22115315 Change-Id: I51404ddcd1bc10dd3e1ddaac410cfa9873bf1438
extToSpeech.java
extToSpeechService.java
|
f77b2de1a9affa877f35f3efb23dfd50a1e9af0a |
12-Jun-2015 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fixes for API Review: android.speech.tts Bug: 21571893 Change-Id: Icd25f4aa9a465050c7410c7bfec004a71ba24548
tteranceProgressListener.java
|
837fba984eee8da5badeb2474ca147b8a9911e8a |
16-Feb-2015 |
Niels Egberts <nielse@google.com> |
Don't strip country and variant from locale. When the synthesizer returns LANG_AVAILABLE or LANG_COUNTRY_AVAILABLE for a certain locale, we strip the country and variant from the locale before asking the synthesizer for the default voice name for this locale. This can prevent the synthesizer from picking the right locale. For instance it prevents the synthesizer from picking en-gb if en-au is requested, now it can only have a single preferred voice for all English countries. The solution is not to strip the country and variant from the locale. This is not likely to break anything, because the input to onGetDefaultVoiceNameFor was never expected to be a subset of all supported language-country-variant combinations. The default implementation handles this correctly. Change-Id: I017f69d321039c7aa7a3ef5a09ba138e35b66670 (cherry picked from commit 4758e99783493fc546e6819b5fe9d44e1ef8c318)
extToSpeech.java
|
f3d78656df5ad681db2d087f8152a5ec27036d8d |
10-Apr-2015 |
Niels Egberts <nielse@google.com> |
Fix parens typos in documentation. Change-Id: I4853ed72904985b1dab11f26cd6c5a332b884fc8
extToSpeech.java
|
417ee5ba89f7e0fe5efd34fce74bf1ee5923d976 |
11-Mar-2015 |
Tor Norbye <tnorbye@google.com> |
Add resource type annotations to some APIs Change-Id: I37c8afdaea455aa92bc8270bb2dfd60616c5f9bc
extToSpeech.java
|
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac |
28-Feb-2015 |
John Spurlock <jspurlock@google.com> |
Remove unused imports in frameworks/base. Change-Id: I031443de83f93eb57a98863001826671b18f3b17
udioPlaybackQueueItem.java
lockingAudioTrack.java
extToSpeech.java
extToSpeechService.java
tsEngines.java
|
7b9c912f536925ac6ec43935d6e97506851b33d6 |
31-May-2013 |
Tor Norbye <tnorbye@google.com> |
Add @ResourceInt annotations on APIs Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
extToSpeech.java
|
4b73867a12a9339c7788e8949aac4a32d2eee22b |
19-Nov-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Add UtteranceProgressListener#onStop callback New UtteranceProgressListener callback that allows to detect a call to TextToSpeech#stop() (or QUEUE_FLUSH usage) from the same client, or a QUEUE_DESTROY usage from any other client (Talkback uses it to preempt other users of TextToSpeech queue). This change is required for seamless Books read aloud feature+Talkback usage. + Fixes for broken tests/TtsTests Bug: 17901521 Change-Id: I30d2f297bb7c8d05cbeb16f63e85c1be0cca5c84
TextToSpeechCallback.aidl
extToSpeech.java
extToSpeechService.java
tteranceProgressListener.java
|
6ddd9c29b376fda27c4df3b18d6a67de14a633ca |
25-Sep-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix ambiguous TTS#playSilence method. Due to recent fixes for TTS API review (b/17389935) overloaded playSilence method became ambiguous when the last argument is null. This change renames the new method to playSilentUtterance solving the issue. Also, since LMP API level is 21, I updated invalid references to it as API level 20 inside speech.tts. Bug: 17389935 Change-Id: I9f9fae988240d1cec45d44650e53ffc29803ccac
ynthesisRequest.java
extToSpeech.java
extToSpeechService.java
|
f9ba548f210b0ed071ff7d597ddf2209af817294 |
22-Sep-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix issues with new TTS API Bug: 17389935 Change-Id: I59234b3222f59dc89be7e40f7d4706b1f8c610ce
extToSpeech.java
extToSpeechService.java
oice.java
|
3786bc549891592335be0f454609d9c626d69ef4 |
11-Sep-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Replace TreeSet with HashSet. Both Locale and Voice do not implement Comparable. Bug: 17467923 Change-Id: I683577e5b18ae1892e1ccea5ea241e1d016c9517
extToSpeech.java
|
35c7698a1b17c3e4ca0eae753e68bf069a463d70 |
05-Sep-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
API review requests for the TTS package. - New TextToSpeechService methods are no longer protected. - s/getRequiresNetworkConnection/isNetworkConnectionRequired - New TextToSpeec#play.. methods use a Bundle instead of a HashMap - New synthesizeToFile(), addSpeech(), addEarcon() methods take a File instead of a String with filepath. - TextToSpeechService#s/isValidVoiceName/onIsValidVoiceName Bug:17389935,17253934 Change-Id: Iec76f59015c34104683c050fe1ff1ceccd604134
extToSpeech.java
extToSpeechService.java
oice.java
|
fd80746bb9d67be3a9f87dcb9264785a53631b74 |
05-Aug-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Set the TTS voice name for the default language. This changes makes the initial, default language set and the #setLanguage call with the default language as input exactly the same. Previously, the requests made after the initial default language set were missing the name of the default voice. + Some tests clean-up. Some of them fail due to issues with Locale#toLanguageTag upper-casing the variant field. Change-Id: I5470617007fe45462b7198bf62a03eb5fe47a590
extToSpeech.java
|
289cc8e887f786f557faab226a1e01abb9a632a6 |
19-Jul-2014 |
Jean-Michel Trivi <jmtrivi@google.com> |
API for audio session ID generation Expose the value used by the framework to generate an audio session ID when a value isn't known. Rename allocateAudioSessionId() to generateAudioSessionId() as this operation doesn't "allocate" anything, and there is no allocated resource to free after this operation. Bug 16401631 Change-Id: I7a7bc05b39ea0b024ff225254eb755a9c85a2ad9
extToSpeech.java
|
672695e42387a024083d198f3d665f354ef1d27c |
14-Jul-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Add AudioAttributes support in the TTS. Bug: 16259299 Change-Id: I53f4f7a2b9a3b9a422affaf6abe4aca258e67d7f
udioPlaybackQueueItem.java
lockingAudioTrack.java
extToSpeech.java
extToSpeechService.java
|
cafd15216ee66a302ee69c0ea0c6c63b07a2f68c |
08-Jul-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix TTS regression, TTS#stop can result in #onDone callback. Regressinon in the L, side effect of the rewrite. In pre-L android, UtteranceProgressListener#onDone was called (but only if client received UtteranceProgressListener#onStart for the utterance in progress) after client called TextToSpeech#stop. This changeset reinstates this behaviour. + Removed not used fallback callback Bug: 16149006 Change-Id: I2eb5ede0abe6f5717b07f09adad861465575c238
TextToSpeechCallback.aidl
extToSpeech.java
extToSpeechService.java
|
34d4ac88f70c37cbe143ab01b40f343bcf02035f |
08-Jul-2014 |
Niels Egberts <nielse@google.com> |
Remove Markup and Utterance classes. Markup is replaced by TtsSpan, and the Utterance class will be replaced by TtsSpanBuilder. Change-Id: I443786681f065ad8458fc05825de3ef182db8062
arkup.java
tterance.java
|
ad6df74ada7c478257425b746588f22eeec199a6 |
01-Jul-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Add support for voices in TTS API. Voices allow to expose multiple backends/voice packs for a single Locale. This is an attempt to port this feature from V2 API. Bug: 15834470 Change-Id: I0117de238cfcf028bcec5344b8d65c960b96b98c
TextToSpeechService.aidl
ynthesisRequest.java
extToSpeech.java
extToSpeechService.java
tsEngines.java
oice.aidl
oice.java
|
f8fd3420919a2693b644294d2dbd432b19370f3d |
02-Jul-2014 |
Niels Egberts <nielse@google.com> |
First argument of playSilence is incorrect in javaDoc. Change-Id: Icc059471e61fb6154108b74ea45cb06554d80631
extToSpeech.java
|
795d777ee13405d8b6ba6c889ea3ef49713892a8 |
02-Jul-2014 |
Niels Egberts <nielse@google.com> |
Forgot to deprecate a method in current.txt before merging earlier change. Also includes a comment fix and line size changes in TextToSpeech.java. Change-Id: Ia5842b694bca6cd9cae035164ffc605451e72d8b
extToSpeech.java
|
df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1 |
25-Jun-2014 |
Niels Egberts <nielse@google.com> |
Support for CharSequences in the V1 API. Two newly deprecated methods: - TextToSpeech.speak (over TextToSpeech.speak with mandatory utteranceId) - SynthesisRequest.getText (over SynthesisRequest.getCharSequenceText) Change-Id: I8a75ed335c91074c72d6ef374ff8b9c79a7c208d
TextToSpeechService.aidl
ynthesisRequest.java
extToSpeech.java
extToSpeechService.java
|
5cbf17ca053b09beadd0b031a46ce193ab27a0f8 |
18-Jun-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Add support for audio session id in the TTS + #playEarcon & #queueAudio respects request Volume/Pan settings. Bug:15432115 Change-Id: I136afef77afbc56c34810c64123f7be4b431d378
udioPlaybackQueueItem.java
lockingAudioTrack.java
laybackSynthesisCallback.java
ynthesisPlaybackQueueItem.java
extToSpeech.java
extToSpeechService.java
|
fc4b2890378eb1b6e0b11d60d703eb6854268064 |
26-Jun-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Remove TextToSpeechClient API. Removed all of TTS V2 api with exception of error codes. Bug: 15834470 Change-Id: I9d9d2aad01811af9b86bf7a3fd018a8d4e5c2f33
bstractEventLogger.java
bstractSynthesisCallback.java
udioPlaybackHandler.java
udioPlaybackQueueItem.java
ventLoggerV1.java
ventLoggerV2.java
ileSynthesisCallback.java
TextToSpeechCallback.aidl
TextToSpeechService.aidl
laybackQueueItem.java
laybackSynthesisCallback.java
equestConfig.java
equestConfigHelper.java
ynthesisCallback.java
ynthesisPlaybackQueueItem.java
ynthesisRequestV2.aidl
ynthesisRequestV2.java
extToSpeech.java
extToSpeechClient.java
extToSpeechService.java
tteranceProgressListener.java
oiceInfo.aidl
oiceInfo.java
|
6dfa6e2a9be08a3a0f152a7b772efc8ce2469bce |
13-Jun-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix typo and broken sdk build. Change-Id: Icd1641955d1ca88396219db05312a4a9fd77ea80
tsEngines.java
|
e31ab2d8fcb7413e4775a7cfdd340636a9eea7e7 |
13-Jun-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Merge "Expose "default tts locale" to the TTS V2 API."
|
1b5637ee32c5d4e5d857fa86a1b1c1db23d027b7 |
30-May-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Expose "default tts locale" to the TTS V2 API. This change allows TTS V2 API client applications to honor the "default TTS locale" set by the user in the TTS settings. Note that the TTS V1 API uses 3 character country/language codes for locale encoding. It's the only system component that does that. TTS V2 uses the standard, valid Locale objects. The default TTS locale setting was stored as a 3 character locale string with "-" as the separator. This change switches the TTS locale setting format to the output of Locale.toString() call (on a valid Locale object). Methods used for reading this value can interpret both forms and try to return a valid Locale object as an output. Change-Id: Ice2e6c25a43eb9dd6e17d371ee582c2dae3329c9
equestConfigHelper.java
ynthesisRequestV2.java
extToSpeechClient.java
extToSpeechService.java
tsEngines.java
|
d3919a318a339d3bde425b66ae0a4a4640eb5210 |
12-Jun-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Add missing copyright headers in speech.tts Change-Id: Icf1c3cf71ac45cb00606c8034af375e657c31ea5
equestConfig.java
equestConfigHelper.java
ynthesisRequestV2.java
oiceInfo.java
|
e3abed72d6ab02eb1dc1f8b128213c70422f3917 |
03-Jun-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Add missing #isSpeaking to TTS API V2 TextToSpeech#isSpeaking queries TTS engine if it's currently outputting any audio, it was present in the TTS API V1. Change-Id: Iee4a91976b9b80653811fb458ac48d75418752cf
extToSpeechClient.java
|
a6cc9b85ad7d4fdb4fef9666563c91bd878631f5 |
14-May-2014 |
Niels Egberts <nielse@google.com> |
Markup support for framework Change-Id: Ia5ad6cff7593c295944a90775a1b061c95f5cc3f
arkup.java
ynthesisRequestV2.java
extToSpeechClient.java
extToSpeechService.java
tterance.java
|
067a21b2469a689dc075e8897756f2b3acb4495a |
15-May-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
TTS Connection callbacks are called on main thread. After experimenting with the new TTS API I found out that receiving ConnectionCallbacks#onEngineStatusChange and #onServiceDisconnected callbacks on non-main thread are problematic. They are very rare and overhead of dealing with them in separate thread is high - in most cases user just wants to process those callbacks in the main thread context. This change should make new API usage easier. + Fixed default values of speech speed in voices from v1->v2 wrapper. Change-Id: I76d3b607b3b931b7eb10aa180775fd3607c43bd9
extToSpeechClient.java
extToSpeechService.java
|
de1b5ae7a7567f03cfeecf1a62ddf429cb840474 |
12-May-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Add (hidden) TTSEngines#isLocaleSetToDefaultForEngine method. TTSEngines#isLocaleSetToDefaultForEngine allows the Settings application to distinguish if the TTS engine locale is blank (set to follow the device locale) or if it's set to the same value as the device locale. Change-Id: I462584547d69c21cde4ac317c8a3b3bbc1680cae
tsEngines.java
|
34a37bdebb3d606dac7c7d1dd7a0effdb59bd3d6 |
09-Jan-2014 |
Glenn Kasten <gkasten@google.com> |
Add AudioFormat.getBytesPerSample and use it Change-Id: I90a40987ea99006af4a6e31136078c04976eb54d
lockingAudioTrack.java
ileSynthesisCallback.java
|
5decae39b6fd2091db000120f0c86aa27efa29ed |
10-Apr-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Remove "final" from TextToSpeechClient class. It hinders attempts to mock the TextToSpeechClient class in tests. + javadoc typo fix Change-Id: I5b4590824d7e89b58451bdde457a627786333373
extToSpeechClient.java
|
a1788af3440fef04d16067223a31e9dced3500b9 |
24-Mar-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Documentation update for TextToSpeech#getFeatures Added note that it may return null in case of error. Bug: 12323454 Change-Id: I246f7e894c5e8a6421bdd72c7623c72e8a13fc3a
extToSpeech.java
|
952c0fd7bc6bb3ec9e0252f0799bbeabcf70dc1a |
21-Mar-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Do not reset language in case of the TTS service reconnect. Bug:12428804 Change-Id: I0b1b1274c47edd28eae1701808d50aeb6c36324c
extToSpeech.java
|
8399aae0a0532863752e593050e8810d03737936 |
22-Nov-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Add public SynthesisRequestV2 constructor. While implementing the new TTS API, I found out that it's very difficult to create an SynthesisRequestV2 instance for testing purposes - it's a final class, with no publicly visible constructors. Bug: 8259486 Change-Id: I88b84fd8ad1ac6960f3932863ca758657f9547ff
ynthesisRequestV2.java
|
1ca1d886588ce54ab0c0229eabc49fa8dff40bc5 |
29-Jan-2014 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Allow clients to extend the TTS UtteranceId class. This change allows TTS clients to create (and use) classes derived from the UtteranceId class. This allows to attach a custom data and methods that can be reached later in callbacks that take the UtteranceId instance as parameter. Also, since we can't depend on the identityHashCode results being unique, this change adds AtomicInteger to generate unique identifiers for UtteranceId instances. Bug: 8259486 Change-Id: Id1e9eabc890ec585a7f8570fd20e287dcda9a11d
extToSpeechClient.java
|
6090995951c6e2e4dcf38102f01793f8a94166e1 |
19-Nov-2013 |
John Spurlock <jspurlock@google.com> |
Remove unused imports from frameworks/base. Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
ileSynthesisCallback.java
extToSpeechClient.java
|
d41b852f92ec2def734eac68a76ecbcea17e3cc9 |
29-Oct-2013 |
Siva Velusamy <vsiva@google.com> |
Fix Javadoc error This fixes an error introduced with I180296d413a18301cead1c8e3212de2bd0c7e32d Change-Id: I06512a0fb388738fae5bba5540189095f23f1e2a
ynthesisCallback.java
|
97cd647fcd89c1a7a4448c4fc4d9ad906f8cf2a1 |
25-Oct-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
TTS API: Replace "voice id" with "voice name" "Voice id" and "voice name" are both used to reference a voice in a speech synthesis request. Voice id was a random integer, where voice name is human readable string, that provides more debug information and readability. Also, it's expected that voice name will stay consistent, and won't change during the life of the speech connection. Though, it may disappear. Change-Id: I180296d413a18301cead1c8e3212de2bd0c7e32d
ventLoggerV2.java
equestConfig.java
ynthesisRequestV2.java
extToSpeechClient.java
extToSpeechService.java
oiceInfo.java
|
eb337054edef31c9bdab4a59913f42038d5deaae |
25-Oct-2013 |
Nick Kralevich <nnk@google.com> |
fix javadocs. Change-Id: Ie008e28db0d3de22c933b4ef1ccbd3f082010a77
equestConfig.java
ynthesisCallback.java
extToSpeech.java
extToSpeechClient.java
|
90d15d2371ad85f22254be6985455aa2baa5d15d |
14-Jun-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Add new TTS API. Much of existing API is reused (mostly on the service side). The new API provides better support for network-based synthesis, defines explicit synthesis fallback support, has better error handling, allows for multiple different voices per locale, features enumeration and custom extensions on a voice level and many more. If a service does not provide a V2 implementation, a basic adapter from V2 to existing V1 implementation is provided. Bug: 8259486 Change-Id: I797b7fc054f11c9b0d930f4dea582e57596ea127
bstractEventLogger.java
bstractSynthesisCallback.java
udioPlaybackHandler.java
udioPlaybackQueueItem.java
ventLogTags.logtags
ventLogger.java
ventLoggerV1.java
ventLoggerV2.java
ileSynthesisCallback.java
TextToSpeechCallback.aidl
TextToSpeechService.aidl
laybackQueueItem.java
laybackSynthesisCallback.java
equestConfig.java
equestConfigHelper.java
ilencePlaybackQueueItem.java
ynthesisCallback.java
ynthesisPlaybackQueueItem.java
ynthesisRequestV2.aidl
ynthesisRequestV2.java
extToSpeech.java
extToSpeechClient.java
extToSpeechService.java
oiceInfo.aidl
oiceInfo.java
|
58f16653728417100c61b5cb63298e0e3bb528dc |
20-Sep-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Catch MissingResourceException caused by bad locale in TTS. Malformed locale objects will throw MissingResourceException from getISO3Country() and getISO3Language() methods. This change guard against the case where device default locale is malformed and user tries to get TTS default locale (b/10814409) and case where user tries to pass bad locale as argument to TextToSpeech.getFeatures method (b/10494193). Bug:10494193,10814409 Change-Id: Ie54d5d30bb042324da0c0d19b77c3a932c5642f7
extToSpeech.java
tsEngines.java
|
61dda198598e95971ca224e3bcb7393f30e45657 |
02-Sep-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix SynthesisRequest javadoc Bug: 10548784 Change-Id: I76a89bb9accdeee00c60a668adbdd789b995cd92
ynthesisRequest.java
|
e86a936afddaa823d8454c09ed43c2d864ac77eb |
30-Apr-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Document the case where TTS onInit callback is called in ctor. Bug: 8743649 Change-Id: Ibf6002f93af9d19d809679852310561e69d57c1e
extToSpeech.java
|
653278341d76d0b23a008087ff94250ae0beb54b |
31-May-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Allow TTS service to identify caller. Added new field (+setter and getter) to SynthesisRequest with Uid of a calling process. TTS service will be able to discover packages names associated with caller using PackageManager.getPackagesForUid. This will allow to block buggy or poorly designed programs from an unintentional DDoS attacks against TTS service. Bug: 8625440 Change-Id: I5ac0ea191f952495c00301f17efdf28205353ae4
ynthesisRequest.java
extToSpeechService.java
|
40d51e70037c8d32f9bbafd54775e526d86caf23 |
13-May-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Make TtsEngines.getDefaultLocale() method public TtsEngines is hidden class, it's not a public API. It's required for tracking system language setting by TTS engines (Change: Ic4bde97ef7406adb64cc03efbe660275360ba3af ) Bug: 8613986 Change-Id: Iafafcdb244e1520893bee65febd5a137e3556317
tsEngines.java
|
d0b927948ec06ab90da639fe0a7bf1ec862301a0 |
08-May-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix for TTS.setLanguage throwing MissingResourceException Change I766f106b9165932de17de84bdd422d0fc0ae27f1 made getISO3* methods throw MissingResourceException if locale was invalid. This causes regression on last android release, where invalid locale was silently ignored. + fix for .isLanguageAvailable Bug: 8709594 Change-Id: Ieada6b90dc53cfdf0a4e2b4ca69854b811d0fec2
extToSpeech.java
|
24943bf19d3d000f9f5840513526b48523b62c71 |
13-Mar-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Failing Text-To-Speech CTS tests fix. Fix for failing android.speech.tts.cts.TextToSpeechServiceTest#testSynthesizeToFile. In test env, ParcelFileDescriptor instance may be EXACTLY the same one that client uses. And if it's closed by a client, then service is prevented from writing anything to the output. Bug: 8377754 Change-Id: I7f95aae1b877e543ab02d3c548b29537aa852a89
extToSpeechService.java
|
7341786b138cb52eac053108b524ea3296d40f6d |
06-Mar-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Forgot to rename constructor to match class name. Change-Id: I7e66c3dd26ec7f8be381b0dfd87ac686665206cd
extToSpeechService.java
|
fcf671be890f9fb49067c5f86b182bf8b8e7b9c0 |
05-Mar-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix EBADF in TTS synthesizeToFile method. Recent TTS change altered how the TextToSpeech.synthesizeToFile method operates. Previously, synthesis service was responsible for creating output file. Now, client API creates a file and then sends opened file descriptor using ParcelFileDescriptor. On service side, I forgot to keep a reference to a ParcelFileDescriptor object. When GC was removing it, it was closing underlying file descriptor, resulting in a EBADF error for all following writes to the output file. This change makes use of a ParcelFileDescriptor.AutoCloseOutputStream to keep a reference to the ParcelFileDescriptor. It will be referenced until we are done with writing. Change-Id: I8327af0eaeabaebfbbd8816d959783e89086a7c5
extToSpeechService.java
|
5acb33af357b56fffb055997718b1e4aa97f53fc |
08-Feb-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Make synthesizeToFile create file on a client side. In previous setup, synthesizeToFile method relied on synthesizer service to create world readable output file. This is potential source of vulnerabilities. This change moves output file creation to the client side, and synthesizer service receives already opened file descriptor. This change may break applications that are creating files in now unaccessible locations, like /sdcard/. Bug: 8027957 Change-Id: I97351be5d2f2f8ef9aa43d0ab08c4b825ca4c22b
ileSynthesisCallback.java
TextToSpeechService.aidl
extToSpeech.java
extToSpeechService.java
|
647abce570f3afdd667e06e9ad71738efff0e8a8 |
09-Jan-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Deprecate unused and implementation-specific parts of TTS API Second changeset, first one was committed too hastily. TTS Voice-data related API was originally written with one engine in mind (pico sVox TTS). It exposes implementation details that should be private to the engine implementation. - Deprecating fields of ACTION_CHECK_TTS_DATA results that were used by sVox language packs to find out location of voice data. Those fields are TTS engine implementation details and should be private: EXTRA_VOICE_DATA_ROOT_DIRECTORY EXTRA_VOICE_DATA_FILES EXTRA_VOICE_DATA_FILES_INFO - Deprecating fields of ACTION_CHECK_TTS_DATA request that are providing unnescesary functionality (it can be easily done on client side): EXTRA_CHECK_VOICE_DATA_FOR - Deprecating some of the return codes of ACTION_CHECK_TTS_DATA - they are specific to sVox pico voice data and in all cases can be replaced by CHECK_VOICE_DATA_FAIL result code. CHECK_VOICE_DATA_BAD_DATA CHECK_VOICE_DATA_MISSING_DATA CHECK_VOICE_DATA_MISSING_VOLUME - Changing semantics of ACTION_TTS_DATA_INSTALLED intent. It's now more generic and covers any change of available voice data set (so, not only adding languages, but also removing them should trigger broadcast. Adding and removing features to existing locale (like embedded synthesis) should be marked by broadcast as well). - Deprecating its EXTRA_TTS_DATA_INSTALLED result field - client should discover the change by running ACTION_CHECK_TTS_DATA intent. - Making GetSampleText intent public again - it's used by most TTS engines to provide unique demonstation data. - Deprecating TextToSpeech.OnUtteranceCompletedListener - it was replaced by UtteranceProgressListener in API level 15, but no one put deprecation tag on it. Change-Id: Ia58af7f218dc1568570712f435782d2003260e82
extToSpeech.java
|
1c2df38242c29cd7f359a6fb13dc13b387264310 |
25-Jan-2013 |
Fergus Henderson <fergus@google.com> |
Fix logic error in Pszczepaniak's recent change. Also improve wording of error message. Bug: 7666482 Change-Id: I2d2316b10fdf394bec8963327529723cbd5fbb32
extToSpeech.java
|
9c4012b31b0c09cb14689bd96a71aae42c8a00cd |
16-Jan-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Make TextToSpeech.shutdown() work before init callback. TextToSpeech.shutdown() never worked properly if was called before receiving onServiceConnected in connection object. Also, due to recent changes, TextToSpeech.shutdown() did not work until async task created in onServiceConnected returned its result to the main thread. This change makes .shutdown() work in all those cases. To allow that runAction can now execute code with connection that's not fully setuped - so we can shutt it down. Also, newly created connection is now hold in new member variable mConnectingServiceConnection, so it can be closed before receiving onServiceConnected callback. Also, I changed name of OnServiceConnectedAsyncTask to SetupConnectionAsyncTask, I find it more descriptive. Bug: 8003757 Change-Id: I41d84cfdb8fa28fe44235fb4a9764fa8f3d0643c
extToSpeech.java
|
176baa7de11be910c36b7b4dfa7826b55ec97963 |
09-Jan-2013 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Revert "Deprecate unused and implementation-specific parts of TTS API" This reverts commit 8a3d9f03199b93e07a5f5edc14660eab6cd233e7 Change-Id: I5a5c18f72ae2ea73c21dc27c7469c68d6b4b4c24
extToSpeech.java
|
8a3d9f03199b93e07a5f5edc14660eab6cd233e7 |
29-Oct-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Deprecate unused and implementation-specific parts of TTS API TTS Voice-data related API was originally written with one engine in mind (pico sVox TTS). It exposes some implementation details that should be private to the engine implementation. - Deprecating fields of ACTION_CHECK_TTS_DATA results that were used by sVox language packs to find out location of voice data. Those fields are TTS engine implementation details and should be private: EXTRA_VOICE_DATA_ROOT_DIRECTORY EXTRA_VOICE_DATA_FILES EXTRA_VOICE_DATA_FILES_INFO - Deprecating fields of ACTION_CHECK_TTS_DATA request that are providing unnescesary functionality (it can be easily done on client side): EXTRA_CHECK_VOICE_DATA_FOR - Deprecating some of the return codes of ACTION_CHECK_TTS_DATA - they are specific to sVox pico voice data and in all cases can be replaced by CHECK_VOICE_DATA_FAIL result code. CHECK_VOICE_DATA_BAD_DATA CHECK_VOICE_DATA_MISSING_DATA CHECK_VOICE_DATA_MISSING_VOLUME - Changing semantics of ACTION_TTS_DATA_INSTALLED intent. It's now more generic and covers any change of available voice data set (so, not only adding languages, but also removing them should trigger broadcast. Adding and removing features to existing locale (like embedded synthesis) should be marked by broadcast as well). - Deprecating its EXTRA_TTS_DATA_INSTALLED result field - client should discover the change by running ACTION_CHECK_TTS_DATA intent. - Making GetSampleText intent public again - it's used by most TTS engines to provide unique demonstation data. - Deprecating TextToSpeech.OnUtteranceCompletedListener - it was replaced by UtteranceProgressListener in API level 15, but no one put deprecation tag on it. Change-Id: I6609cde5c50236457f14955e2e7c0481b2b217ec
extToSpeech.java
|
b46533732c40c6aa4d0d7357176835a33d863234 |
04-Dec-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Set default language in new TTS clients. A recent change altered semantics of getLanguage call to return client language instead of service language. This solved problems with interferences between two clients using different lanaguages. This change created a bug - new TTS client instance have no language set. Since reading user preferences requires additional permissions I've added new tts service method - getClientDefaultLanguage that will return user preferences. I've also added new client method, getDefaultLanguage, that allow easy access to this data. Bug: 7666482 Change-Id: Ieb7d2ba3a99d20c513add97f054874720a1cd82e
TextToSpeechService.aidl
extToSpeech.java
extToSpeechService.java
|
2d940bcbd1c472f8b11ce1495354f340604b4f2c |
19-Nov-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Make TTS input string limit public and documented. TTS input limit is now publicly available from getMaxSpeechInputLength() static method. Bug: 7456118 Change-Id: Ib2afbb7202ad9dc15895f322fbd1480a5f1f7278
extToSpeech.java
extToSpeechService.java
|
13896b74194b07c821d5d89713e4e747b9b77d73 |
09-Nov-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
woExecute onLoadLanguage in synthesis thread. Previously, onLoadLanguage was executed without minding synthesis queue. Now onLoadLanguage is queued item, so it won't be executed before the items on the queue (previously TTS could receivecall to onLoadLanguage while synthesizing in completly different language). I've divided SpeechItem into ControlSpeechItem and UtteranceSpeechItem. Utterance one dispatches callbacks about synthesis progress. Bug: 7510063 Bug: 5351864 Change-Id: Ibd156b3cecb190e5c07c4451e61121127b54d51e
TextToSpeechService.aidl
extToSpeech.java
extToSpeechService.java
|
228323e759445398e2d723de9365da71099ec58b |
12-Nov-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Make getLanguage return client-set language Previously, getLanguage returned language set on the TTS service side. In most cases client wants to receive value that was set on the Client side (value that was set by last call to the setLanguage). That's true, for example, for android settings app. This is not an issue if there's only one client, or when all clients use the same language. In that cases, service and client languages are in sync. But if there are multiple clients using different languages, getLanguage might return values that were not set by the client - and that's not what most of clients expect to happen. Change-Id: I5fd8313725e677c20fb2a84a087fc7555897bd30
extToSpeech.java
|
8f3957cb91a9e1465fa11aaf4d4286d4c5a59ba7 |
07-Nov-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
TTS onServiceConnection moved to async task ITextToSpeechService.setCallback (service rpc call) is no longer executed on UI thread. I kept OnInitListener.onInit being called on the UI thread. It's not specified explicitly, but I don't want to introduce subtle bugs. +bonus import fix. Bug: 6540404 Change-Id: I0136e7efeb374b605ed29ee8b3f550ec2bd2c356
extToSpeech.java
extToSpeechService.java
|
c3c427d2e3d7fbfb7cd5d6473bf203af2001bcec |
16-Nov-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Revert "Make TTS input string limit public and documented" This reverts commit f288a64f5bed290d162c1a6fd54bea7c0ba14042 Change-Id: I6f3e2a6a6a131b0422cfcdb2bda23f8ae245d774
extToSpeech.java
extToSpeechService.java
|
f288a64f5bed290d162c1a6fd54bea7c0ba14042 |
15-Nov-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Make TTS input string limit public and documented Bug: 7456118 Change-Id: Iced44eb349e1abb551f991c2b9357a03bab3bb3d
extToSpeech.java
extToSpeechService.java
|
7b172a49a90ea6784dbfe0002474f9d4fd4ace1a |
07-Nov-2012 |
Kenny Root <kroot@google.com> |
am 58ed5d74: am 768d9e1a: Merge "Correct executable bit for source files" * commit '58ed5d748c0b9b64845975ef5844ad313de7c3f6': Correct executable bit for source files
|
58ed5d748c0b9b64845975ef5844ad313de7c3f6 |
07-Nov-2012 |
Kenny Root <kroot@google.com> |
am 768d9e1a: Merge "Correct executable bit for source files" * commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04': Correct executable bit for source files
|
3a084af2e90849aaa8beb3a610189e3399c63ea0 |
07-Nov-2012 |
Kenny Root <kroot@google.com> |
Correct executable bit for source files Many media files and source code files were marked as executable in Git. Remove those. Also a shell script and python script were not marked as executable. Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
TextToSpeechCallback.aidl
extToSpeech.java
|
a6e16b86b9f708b4869e123c7c67f6d5675cca18 |
15-Oct-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
SynthesisCallback documentation update Clarification about when android.speech.tts.SynthesisCallback.done() should be called. Bug: 2481825 Change-Id: Ic781a6facc2d9acb3f06afb952fbac0b494c56cf
ynthesisCallback.java
|
442f1786b243923a11d7c15a32e96c7962d4b50a |
26-Sep-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
TTS documentation clarification. Bug: 7183943 Change-Id: Iffec9069bef7c9c428ebae2f84ba16ef697ffb2a
extToSpeech.java
|
70574efd8f7105eb73a6ffe31992ed3c5971c8cc |
23-Aug-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix threading issue in BlockingAudioTrack. This fixes the issue where one thread calls .stop() on mAudioTrack that was released (or being released) by other thread. Bug: 7029291 Change-Id: Ia6db803e8ee40379b63327acf578466127cfabcb
lockingAudioTrack.java
|
091d56cab8f6f6a3460fbb596f99b1a262948e96 |
16-Aug-2012 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix double call to TTS connection disconnect() on reconnect - Sets the service connection to null when unbindService is called, instead of in onServiceDisconnected. This avoids a double disconnect if a call to onServiceConnected is received before a call to onServiceDisconnected. - Extended synchronize on runAction error handling and reconnection. This prevents from reconnecting N times if N>1 threads enter this method while there's issue with TTS service. Bug:6993880 Change-Id: I5a387622c6032a18d17fc072029ae6be1a9b8e6c
extToSpeech.java
|
9c3d7a888d0c5c09f0153e81018ff68aa6e91712 |
20-Jul-2012 |
Narayan Kamath <narayan@google.com> |
Fixes to TextToSpeechService#synthesizeToFile - Fixes a strict mode violation, defers file validity checks to when the engine starts synthesizing audio. - Fixes some log spam when done() is called twice. bug:6215680 bug:5415258 Change-Id: I4001be848b5208422d4091b7398e94ed311c649f
ileSynthesisCallback.java
extToSpeechService.java
|
ed4e541a20cc662b8399844684d18ad0060bd1cb |
09-Jun-2012 |
Narayan Kamath <narayan@google.com> |
Fix bug in BlockingAudioTrack. Will be seen when createStreamingAudioTrack() returns null, which will happen if the audioflinger / audiomanager are unhealthy. Also removes some confusing synchronization from this class. bug:6636401 Change-Id: Iaf68a305665b7bc973898145e9cd1563e2569a2b
lockingAudioTrack.java
ynthesisPlaybackQueueItem.java
|
c60aad2a8ab519a9f9ac03f4f9f929ded7ba2db5 |
06-Dec-2011 |
Narayan Kamath <narayan@google.com> |
Write unit tests for android.speech.tts. Change-Id: Ie5b3b4cdd13be2babee9a44bae00da179b372d12
extToSpeech.java
|
af802c6831551323126537cf8edabea97d2fc762 |
05-Dec-2011 |
Narayan Kamath <narayan@google.com> |
Remove BlockingMediaPlayer. No need to spawn a new thread for every audio item sent to the TTS class. Change-Id: Ia52b0951f4249b0da460a5ecaff5dd11a6e5d5fc
udioPlaybackQueueItem.java
lockingMediaPlayer.java
essageParams.java
extToSpeechService.java
|
67ae6bc83cf2b30b0c61b9ebba5fed7a0038549c |
30-Nov-2011 |
Narayan Kamath <narayan@google.com> |
Simplify the implementation of AudioPlaybackHandler. Now uses a queue of runnables, one per synthesis. Also introduce an abstraction that wraps AudioTrack that implements the blocking semantics that we desire. bug:5680699 Change-Id: I34a1248ff05766a7d9b3002055fb5b24aa9f230b
udioMessageParams.java
udioPlaybackHandler.java
udioPlaybackQueueItem.java
lockingAudioTrack.java
lockingMediaPlayer.java
ventLogger.java
laybackQueueItem.java
laybackSynthesisCallback.java
ilenceMessageParams.java
ilencePlaybackQueueItem.java
ynthesisMessageParams.java
ynthesisPlaybackQueueItem.java
extToSpeechService.java
|
4f9787d6f4058a0f6df08456119edd2ae1b546cd |
30-Nov-2011 |
Narayan Kamath <narayan@google.com> |
am 7dfb3e61: am cc084f1d: Fix superfluous onError callbacks. * commit '7dfb3e611a9b4db4ffadcaa18a833de083647159': Fix superfluous onError callbacks.
|
cc084f1d734c1e332d6acc1f89204036ee82bd0c |
30-Nov-2011 |
Narayan Kamath <narayan@google.com> |
Fix superfluous onError callbacks. When stop() is called twice or after done().This relates to bug 5662598 because users using the old deprecated API will see two calls to onUtteranceCompleted. bug:5662598 Change-Id: I5d59cf66b4f4c8650d3f8f9e503ac3f33132c0d0
udioPlaybackHandler.java
|
492b7f0d51f53164aa6eb974cd7ab6a7889af677 |
29-Nov-2011 |
Narayan Kamath <narayan@google.com> |
Allow multiple TextToSpeech instances per calling app. We now use an IBinder object as an identity token of the caller instead of Context#getPackageName. bug:5680696 Change-Id: I1ca29e7161f709d2a85218206f3f117dfa620282
udioMessageParams.java
udioPlaybackHandler.java
ventLogTags.logtags
ventLogger.java
TextToSpeechService.aidl
essageParams.java
laybackSynthesisCallback.java
ilenceMessageParams.java
ynthesisMessageParams.java
extToSpeech.java
extToSpeechService.java
|
68e2af55d65d2e61fbf8096eccaa2e4ca02b6c5a |
28-Nov-2011 |
Narayan Kamath <narayan@google.com> |
Fix TTS instantiation from webview accessibility handlers. The TTS instantiated from here shouldn't clobber any existing TTS objects opened within the same package context. Ideally, the TTS API should work fine with multiple TTS object instances within the same package context but making that happen correctly is a larger change. bug:5659758 Change-Id: Ia1f63c61b9f12ac92ff42a427a004d414e42a759
extToSpeech.java
extToSpeechService.java
|
40f71f0be3cefabde9dc066d7707a1e5ebaec820 |
23-Nov-2011 |
Narayan Kamath <narayan@google.com> |
Fix regressions in TTS completion callbacks. (a) onUtteranceCompleted should be called on errors too. Also, fix up the error handling so that onUtteranceCompleted is always called. (b) Don't treat empty utterances as errors, and let the engine synthesize them, as before. bug:5662598 Change-Id: I9223592bc6fe5f47d71103f4f02f046b54a655a8
udioPlaybackHandler.java
laybackSynthesisCallback.java
ynthesisMessageParams.java
extToSpeechService.java
tteranceProgressListener.java
|
754c72ed9e8e83e5a913aa7552fc2e1b1b5277e0 |
09-Nov-2011 |
Narayan Kamath <narayan@google.com> |
Notifiy callers when a speech synthesis error occurs. bug:5589877 Change-Id: Ideca8966ea1caa6789b3273e388dd1f25c1e2758
udioMessageParams.java
udioPlaybackHandler.java
TextToSpeechCallback.aidl
essageParams.java
laybackSynthesisCallback.java
ilenceMessageParams.java
ynthesisMessageParams.java
extToSpeech.java
extToSpeechService.java
tteranceProgressListener.java
|
6c07a2028505e28abd601870f05d4752e92a4b7b |
07-Nov-2011 |
Narayan Kamath <narayan@google.com> |
Fix a bug in the network TTS api. bug:5284966 Change-Id: I460bd12c27671ed42681fd4ccad567c08cb8f70f
extToSpeech.java
extToSpeechService.java
|
748af66ca27d3afe2e16ccc80b147d447635292a |
31-Oct-2011 |
Narayan Kamath <narayan@google.com> |
Add an API for querying / enabling network TTS support. bug:5284966 Change-Id: I01708f40bf0e975449125320dbcd4842210ca168
TextToSpeechService.aidl
extToSpeech.java
extToSpeechService.java
|
563fd3ae1b9d388f883b77b98a641a57bbdb6aed |
27-Oct-2011 |
Narayan Kamath <narayan@google.com> |
Widen permissions on synthesized files. When synthesized files are written to app private data dirs, they are written with owner/grp set to the TTS engine and are inaccessible by the app itself. This is a reported regression from gingerbread behaviour. Note that the dir in which the engine writes files is itself already world writable. bug:5523587 Change-Id: I2cb26c6f3c3d9cb3cedd60fab32c99a85a27f4b1
ileSynthesisCallback.java
|
39268ffcb74f4c177e5e7427b66480c77743f928 |
17-Oct-2011 |
Narayan Kamath <narayan@google.com> |
Format default locale the same way as those stored in prefs. Also explicitly disallow locales with empty countries. This is required to match them against the set of engine supported locales. bug:5309930 Change-Id: Ie9714fdc09d3081081a2393d97c31e3a42bca294
tsEngines.java
|
a57f23837ad172c1b046d5e9cc8eb3d2e41a69f4 |
04-Oct-2011 |
Narayan Kamath <narayan@google.com> |
Allow listeners to be set before the service connects. bug:5408876 Change-Id: Ib7b2ad56c74e24cc84b55ce748053b80eb0f66e8
extToSpeech.java
|
69bc1b2696dde849102f0ac8071999843d01b8d1 |
14-Sep-2011 |
Narayan Kamath <narayan@google.com> |
Don't wait indefinitely for audio tracks to finish playing. If the track doesn't make progress for a fixed amount of time, bail. bug:5309562 Change-Id: I76966b8b3b2f05ba577892899791a09f50a70107
udioPlaybackHandler.java
|
a65c62acabd204a0a1eb5504160238b288bee52b |
06-Sep-2011 |
Narayan Kamath <narayan@google.com> |
Fix two TTS bugs. (a) Fix a null pointer exception, caused by a race condition between stop / start calls. (b) Fix a deadlock observed when multiple apps call stop() when an item from one of those apps is currently being processed. bug:5253061 Change-Id: I78533aecfda028588ce6aedb041009bc0a6f4620
extToSpeechService.java
|
97171243f82532398a96f7f7adcceb61722519de |
30-Aug-2011 |
Narayan Kamath <narayan@google.com> |
Change the heuristics for waiting for audiotracks to finish. This is made necessary by a bug when the utterance is smaller than the audio buffer size. In that case, we call stop() to flush the audio to the mixer, but that causes the playstate to be set to stopped though some audio is still being mixed. This breaks our waiting loop. We now wait a fixed amount of time for such short utterances and do not observe the playback head position. bug:5220048 Change-Id: Ic81dec751c1faca0b14164caeda6305c8f9815fe
udioPlaybackHandler.java
ynthesisMessageParams.java
|
2a0518cd1d18dc50ffa063a71133e69de2e866ab |
26-Aug-2011 |
Narayan Kamath <narayan@google.com> |
Don't allow TTS engines to synthesize too for ahead. For each synthesis request, we inspect the number of bytes of audio that have not been written to the mixer yet and if that is above a certain threshold (currently 500ms), we block the synthesis thread. bug:5214603 Change-Id: I24c64c48466bdb96ce47b34cee7da2523ee5f0eb
udioPlaybackHandler.java
laybackSynthesisCallback.java
ynthesisMessageParams.java
|
e5b8c4dfc70288f661e0da4f082dd51cc1399f86 |
22-Aug-2011 |
Narayan Kamath <narayan@google.com> |
Framework changes to support new TTS settings features. Locale is now stored per engine, instead of as a global option. bug:5149036 Change-Id: I9848172623fe8aea1dd8e6678bca008da6a4cfb1
extToSpeechService.java
tsEngines.java
|
84deb60cf1055385b9922811e5942076dd72e315 |
27-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Reduce the priority of the TTS thread. It's at a very high priority currently - and will trump foreground processes (and UI threads) which it shouldnt. bug:5076001 Change-Id: I0d71c2941950782491ae31526a47ea6f97c38ffb
extToSpeechService.java
|
673f360b0e22a8591f515cba7a90d5cfcfad81a7 |
20-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Fix some AudioTrack related issues. (a) Call stop() when we've written less than the AudioTrack buffer. This forces pending buffers to get mixed. (b) Introduce a minimum sleep time to avoid spinlocks if they system is busy Change-Id: If70937e8b4e8c5d02d7dadc0d3086f97a10eb7ef
udioPlaybackHandler.java
ynthesisMessageParams.java
|
a36cce06a63ff0eb1c3a765ceb3863195732b4bf |
19-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Fix a threading issue in AudioPlaybackHandler Never allow the AudioTrack to be observed in a state where it is release()d but non null. Change-Id: I1e5b61355f30c2aafcd55ecdf83077d7a9d99c66
udioPlaybackHandler.java
|
90e5650f96dabadaaf141beae20a646855073ae1 |
18-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Few minor TTS clean ups. (a) Remove unnecessary null check. (b) Remove unused function. (c) Clean up for TextToSpeech#shutdown. Change-Id: I3ec5bccc327437064da130634a14aaf7d48eca4d
udioPlaybackHandler.java
extToSpeech.java
extToSpeechService.java
|
be4ad4ac66d6b4b878ed052975f7fb09af92c6d6 |
15-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Fix a few threading issues in the AudioPlaybackHandler. Also fixes a bug where PlaybackSynthesisCallback would continue to pump audio to the audio playback thread after being stopped. Change-Id: I3233eb4858245b6e7c7df72e241a0708c668f1b4
udioPlaybackHandler.java
essageParams.java
laybackSynthesisCallback.java
extToSpeechService.java
|
c34f76fe89b5a31d01d63067c2f24b9a6a76df18 |
15-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Improve TextToSpeech#isSpeaking() Query the audio playback thread to check if it's busy. bug:5033910 Change-Id: Ie57c7776bac27c2e712ddad4ec50fb7d78ea82e7
udioPlaybackHandler.java
extToSpeech.java
extToSpeechService.java
|
37ccb4b55d72ff49461ddf227c6a42764f48a293 |
15-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Merge "Remove the completeAudioAvailable API."
|
c3da8818f0598b3ab2cd6f4168349da6d0f72cb1 |
01-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Remove the completeAudioAvailable API. Measurements have shown that the audio track in streaming mode is pretty efficient as is, thanks to dalvik's JNI implementation. Also, in streaming mode write( ) blocks until all data has been copied to the mixer, which is the kind of behaviour we want so that we don't have to explicitly block in our code. Also, the java AudioTrack is thread-safe with respect to stop( ) calls during write, which means we can do everything completeAudioAvailable did, just as efficiently without it. Change-Id: I70a8a108d94c7260676673979b5ea29f37fa5db4
udioPlaybackHandler.java
ileSynthesisCallback.java
laybackSynthesisCallback.java
ynthesisCallback.java
|
b9db1fb9de483f35f0189dae240b38e8a9cea8c9 |
14-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Minor cleanups to TextToSpeech. (a) Fix an NPE reported when no TTS engine is installed. (b) Fix a bad link, and some javadoc typos. bug: 5004015 Change-Id: I38b97dbb5d7d4065a5ee408fae9138638ed48f40
extToSpeech.java
|
47d6288541324b27c80b9949670f7b6b18d3ae4c |
13-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Wait until the audio track finishes playing before releasing it. Release calls stop, which causes truncation of playback. bug:5021056 Change-Id: I8eadcbf5622dab83be3c4dabfcc06629398f27ab
udioPlaybackHandler.java
ynthesisMessageParams.java
|
6dabb63307a0b63f9386d61e8444aed29db2081e |
08-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Add event-log logging for TTS requests. Change-Id: I5023194c469a602b85259088a2e59373c96a941e
udioPlaybackHandler.java
ventLogTags.logtags
ventLogger.java
laybackSynthesisCallback.java
ynthesisMessageParams.java
extToSpeechService.java
|
963719869967cc257e666809aeb9bff3f25117ed |
05-Jul-2011 |
Narayan Kamath <narayan@google.com> |
Minor changes to AudioTrack handling Based on a discussion with the media folks. Change-Id: I290cec062fcb53fccae1fd92387439448a54e81c
udioPlaybackHandler.java
|
bd2492e14ee9db9139cc0ff0bd29fc9864b0126c |
27-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Expose the currently used engine to bundled apps. This is required to fix a couple of niggles and annoyances in the Settings app. Change-Id: I0ad0c41744282b552e844ba9a2157cea74c64234
extToSpeech.java
|
4d03462b374dfc080f0c7c78d458c102a26be5c6 |
16-Jun-2011 |
Narayan Kamath <narayan@google.com> |
New API for TTS settings. Engines must declare a <meta-data> attribute in their manifest with name "android.speech.tts". This must reference an XML resource as per com.android.internal.R.styleable.TextToSpeechEngine. Change-Id: I56a6b9f1a360174f98c9f39da901ade83d0f38a7
extToSpeech.java
tsEngines.java
|
edd12149f050028844ca4449d3da0c16580ae486 |
16-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Merge "Don't enforce defaults any more in the TextToSpeech API."
|
c3edf2a01a2cf2123a3de17ec1da11a3b6c459f0 |
15-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Don't enforce defaults any more in the TextToSpeech API. This has been discussed in an email thread. This brings the text to speech API in line with other android APIs. The user can set default speech rates / languages and engine preferences, which the API obeys BUT these can be overriden by individual apps (much like intent.setComponent and intent.setClassName can be used to launch a specific handler for a given intent). Also, all installed engines are enabled by default. The user is shown the "data privacy" warning every time an installed engine is set to the default. Change-Id: I24f5f331b3a7cc7ce1a62962192e3a452bdca9d4
extToSpeech.java
extToSpeechService.java
tsEngines.java
|
9ee8154e5910c40dc152ec08979c1e5899ddcc5a |
15-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Increase the visibility of SynthesisRequest This makes it a lot easier for engine implementers to test their engine. This is a dumb data object, and contains no logic whatsoever. Change-Id: I2a8bea134a8ff6b962508cfed67ea6085a682b23
ynthesisRequest.java
|
d0648ed060799d8006477fded17f63b969302a60 |
15-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Fix a bug in TextToSpeech. Check that the requested engine is enabled. Change-Id: I8436b0b7b7f441fe3473601fb9c46181e90750e0
extToSpeech.java
|
9a67f2618444e0373dcbac0f3cc36e900105f18c |
14-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Merge "A few TTS bug fixes"
|
0e20fe5bab7dc3aff488d133961acfe0239f5240 |
14-Jun-2011 |
Narayan Kamath <narayan@google.com> |
A few TTS bug fixes (a) ensure that onInit is called exactly once per call to initTts(). (b) TtsEngines should never return an engine that is not installed. Change-Id: Ic1ef63a9339e6d1050e3302445ca40d3ae481f61
extToSpeech.java
tsEngines.java
|
3f0363bb4b9fab9799ac308dd48baf8830e30647 |
10-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Deprecate setEngineByPackageName This function does not let callers know when the TTS engine has been initialized. Change-Id: I17fcf3f95ad5bbdb9b787ba0846e6e63d424cd23
extToSpeech.java
|
d3ee2fa18464fb7e4d7f6d27610fbf60b6d1ffce |
10-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Refactor some of TextToSpeech required to let the Settings code to the same logic and not have to roll it's own. Change-Id: I2766b8562c940182a2954555fb1854889c3ac91a
extToSpeech.java
tsEngines.java
|
a5084e6389920a5b79f7dd0fa38530e3306e40ea |
10-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Merge "Don't hardcode the default engine."
|
22302fb7ba11f75234f8a268f5932973dd080bf9 |
10-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Don't hardcode the default engine. One point to note is that no TTS engine will be selected by default if there are no system TTS engines. Change-Id: I397061e3cf29b8a1c66e7864262b43621ef5100d
extToSpeech.java
|
abc63fbddab2477a2954bc804aba2826e1f11084 |
10-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Some TTS fixes. (a) Document the undocumented queue mode (mode == 2) (b) intern strings to fix a bug in removeCallbacksAndMessages (c) remove an unnecessarly lock object, change the field it guarded to volatile. Change-Id: If46bbfe2afb047b3ba5b3cb9a90c292656379ec1
udioPlaybackHandler.java
extToSpeech.java
extToSpeechService.java
|
4924fe38675f0bf69bb0c16fc059ffa1606807ce |
09-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Implement QUEUE_FLUSH and QUEUE_DESTROY addition modes. Note that this change is slightly more flexible, it defines a priority for each playback request. We needn't really throw away synthesis requests from other apps. We could just play them after higher priority ones (for e.g from talkback). Change-Id: I6c7dd9abe4871e87da08d9aaa4c55225a69078e5
udioMessageParams.java
udioPlaybackHandler.java
essageParams.java
laybackSynthesisCallback.java
ilenceMessageParams.java
ynthesisMessageParams.java
extToSpeechService.java
|
e22b69a7de0349b99d3107349d1d3aa72d62c841 |
08-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Make changes to the TTS api suggested by the API review. This ended up making the implementation a lot cleaner as well. See the bug listed below for some background. bug:4553470 Change-Id: If16476a57e389c2f9b228f6548e426642d292b49
bstractSynthesisCallback.java
ileSynthesisCallback.java
ileSynthesisRequest.java
laybackSynthesisCallback.java
laybackSynthesisRequest.java
ynthesisCallback.java
ynthesisRequest.java
extToSpeechService.java
|
8d1fc2403b8277e68d7816b2bbf05464a4c7a58a |
03-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Fix the threading behaviour of TTS audio requests. All audio is played back on a separate thread. Change-Id: I2bbb7b3140f6a04ef705cadb2bd1ae88951e3c48
udioMessageParams.java
udioPlaybackHandler.java
essageParams.java
laybackSynthesisRequest.java
ilenceMessageParams.java
ynthesisMessageParams.java
extToSpeechService.java
|
7a3af86dc03a45280ceca6154040577f614c571e |
02-Jun-2011 |
Narayan Kamath <narayan@google.com> |
Language loading / availablity should repsect defaults enforcement. There is no point loading a language that will never be used. It is in fact harmful, because the engine might load it and then receive a request for the default voice and have to load the default voice again. Change-Id: I8082f28d15b6e325d6a39d439b66753711a2c244
extToSpeechService.java
|
c90f1c815dc06d5bb563474a340f7bb158fab2e2 |
24-May-2011 |
Narayan Kamath <narayan@google.com> |
Add a separate thread for writing to audiotracks. Now, SynthesisRequest.audioAvailable( ) will not block until all data has been written to the audiotrack. Change-Id: Ie24c0b6873ae44659e88646fb7ef821750dc314e
laybackSynthesisRequest.java
extToSpeechService.java
|
b956f37e375bb2588208d4b5e8a40fae6fae5f86 |
16-May-2011 |
Narayan Kamath <narayan@google.com> |
Pass synthesis request params through to the TTS service. Change-Id: I1ffd617d8dfa0814382643e3cf6b3ab7417c742a
ileSynthesisRequest.java
laybackSynthesisRequest.java
ynthesisRequest.java
extToSpeech.java
extToSpeechService.java
|
4bbca889df9ca76c398f3a11e871fc6ad4a4514d |
19-Apr-2011 |
Bjorn Bringert <bringert@android.com> |
Expose TTS engine API This is a new API for writing text-to-speech engines. The existing API for apps that use TTS remains the same, with some minor additions. Change-Id: Id577db449ae0e5baec40621d4a08387dbd755342
ynthesisRequest.java
extToSpeech.java
extToSpeechService.java
|
53f6f95308854e7da1fcd15081030d7de2fc5a7f |
19-Apr-2011 |
Narayan Kamath <narayan@google.com> |
Fix onCompleteAudioAvailable (a) Don't check that the audiotrack is initialized (will not be true in static mode until the first write call) (b) Block until it completes playing. Change-Id: I50eb6cece00f3d12f3b75102d62014c360ac0346
laybackSynthesisRequest.java
|
a210e15c891e681fefb946116d4f7fc89a62fd91 |
19-Apr-2011 |
Bjorn Bringert <bringert@android.com> |
Merge "TTS: SynthesisRequest.error() instead of return value"
|
360eb168d6f9c967543852c7bbab370ef5d8c1bd |
19-Apr-2011 |
Bjorn Bringert <bringert@android.com> |
TTS: SynthesisRequest.error() instead of return value Change-Id: I02fe8ca1070a4e7c62ad30fd84c82bd6ecc2ecfa
ileSynthesisRequest.java
laybackSynthesisRequest.java
ynthesisRequest.java
extToSpeechService.java
|
fe6ea01602b47f3a0bfc0903a34fc682eae7fa69 |
18-Apr-2011 |
Bjorn Bringert <bringert@android.com> |
Only return default TTS engines from TTS.getEngines() Change-Id: I31a716a33c895d2a3349889046dce83c90704a2d
extToSpeech.java
|
71e0b4807797c602e7fc787d00d27c4f9c92a507 |
15-Apr-2011 |
Bjorn Bringert <bringert@android.com> |
Improve TTS engine audio buffer API This adds two methods: SynthesisRequest.getMaxBufferSize() SynthesisRequest.completeAudioAvailable() Change-Id: I1186eed45997ee9a7e51212c8d6706dd324ca949
ileSynthesisRequest.java
laybackSynthesisRequest.java
ynthesisRequest.java
|
50e657bb2d005568f5dd8bc1d904d07b0d94018f |
08-Mar-2011 |
Bjorn Bringert <bringert@android.com> |
Add Java API for writing TTS engines This removes the old non-public C++ API for TTS engines and replaces it with a Java API. The new API is still @hidden, until it has been approved. Bug: 4148636 Change-Id: I7614ff788e11f897e87052f684f1b4938d539fb7
lockingMediaPlayer.java
ileSynthesisRequest.java
TextToSpeechCallback.aidl
TextToSpeechService.aidl
Tts.aidl
TtsCallback.aidl
laybackSynthesisRequest.java
ynthesisRequest.java
extToSpeech.java
extToSpeechService.java
|
2cad2cc15345d8623049a17712068e813d305a25 |
08-Mar-2011 |
Bjorn Bringert <bringert@android.com> |
Exception handling clean-up in TextToSpeech.java This is just a code clean-up change. It should have no effects on behavior. - The exception clean-up code was copied in lots of places, added a restart() method for it. - Use Log.e to print exception stack trace instead of doing it manually. - Moved return statements outside finally-blocks. Having them in the finally-block makes no difference, but can be misleading. Also, Eclipse complains about it. Change-Id: Ibfb18ca89d81d1fd8d212f29b6f8ab305b52ec49
extToSpeech.java
|
708b47d1ecf62dbf2faf0b42aae880f719b42963 |
04-Mar-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 3511256 invalid TTS parameter cache size The NB_CACHED_PARAMS is the number of cached parameters, not the size of the array for cached parameters. Change-Id: I3d3053bbf247f3f89ae1ea07a931d33df7857a7c
extToSpeech.java
|
dc871fd870972bd704d720fae45bcbbcc5905173 |
24-Jan-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
resolved conflicts for merge of 3ebade5d to honeycomb-plus-aosp Change-Id: Ifd5f88f75feeb2dad1131e6a262dff3b979bdf8d
|
1e13a02320aa165c22172d43b2b3c3cd8ad35cf7 |
21-Jan-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Bug 3365937 notify TTS initialization listener of binding errors The creation of a TextToSpeech object causes the TTS service to start, and the initialization listener to be called when the service is connected. But the listener is never called when the service binding failed to be notified of this error. The fix consists in checking the result of the bind to service operation, and notify the listener in case of an error. More log was added in case speak() and synthesizeToFile() are called but the service is not known to have started. Change-Id: I7dcc1fa44be31fee3177ec6215fca3306377b934
extToSpeech.java
|
9011ec832d78982d017b1cef55a54af44ba2a447 |
11-Jan-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 2084122: enable application control over text synth volume This CL unhides two "keys" an application can use to specify for an utterance its playback volume and pan. Those two new keys use the same mechanism already in place for an application to specify stream type and utterance ID. Change-Id: I020363487d7a0f471fb8d3ed739c561d2ab4b0a9
extToSpeech.java
|
9d2d26af2e1111251f5a21213a071eb4fdc1224f |
06-Jan-2011 |
Jean-Michel Trivi <jmtrivi@google.com> |
Add support in TTS for volume and panning control of the synth output Add two new parameters that are used when synthesizing text and playing it back directly to control the volume and left-right panning of the output. Panning is applied using a balance law, which is not energy-preserving but which doesn't lower the volume when not panning / panning to center (legacy behavior). Reduced amount of logs, and removed spoken text. In TextToSpeech.java: added convenience method to handle the setting of the cached synthesis parameters. Change-Id: I235d3d3193283ccc1891e2065d43787e3f63304d
extToSpeech.java
|
4a60d61887a20d349e5eb38900dfbcaab06630fc |
27-Jul-2010 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix NPE in TextToSpeech with setLanguage(null) getLanguage() can return null, and pass it to setLanguage() in TextToSpeech.initTts() Change-Id: I8046e94959404bd63b0a90bcc2dbf4018f77c110
extToSpeech.java
|
6df44727d06548015e741dd8f63716602ed1e5d1 |
30-Mar-2010 |
Charles Chen <clchen@google.com> |
Unhiding TTS API constants and methods needed for TTS plugin support. This is a fix for bug #2548048 Change-Id: Ieb60979098c1d2e82618204882bd523d271a8784
extToSpeech.java
|
1a2712ce2a18eba6809d984d2f7443fbdccaa7ed |
02-Apr-2010 |
Charles Chen <clchen@google.com> |
Fix for bug 2564771 - pitch setting between apps can interfere with one another. Root cause was not caching all the params that were needed. This change fixes that bug as well as related bugs for remembering the default engine and for making sure that the right engine is loaded when checking for language availability. Change-Id: I2a76da8faec8112036e68d27539db444c53a1509
Tts.aidl
extToSpeech.java
|
42229259a6fca8851db74dc1c0ecbab2d3fb788d |
30-Mar-2010 |
Charles Chen <clchen@google.com> |
Fix for bug 2548048 - it was impossible for applications to discover if their TTS settings were being overridden by the user or not. Change-Id: I28856a1b79c9455435671d13ed614a1ccb4e95ea
Tts.aidl
extToSpeech.java
|
def7185cf19d48c95b50c2b83503d5cd21a613bf |
26-Mar-2010 |
Charles Chen <clchen@google.com> |
Cherry-picking this fix into Froyo. This fix is part of addressing bug #2548048 Making it possible to determine which TTS engine is currently set as the default by the user. Change-Id: Ifa422f43a33498b94d96811078c0794d64668357
Tts.aidl
extToSpeech.java
|
b21651c10ca833e073337ae6a0ee55fcc39c32f1 |
04-Mar-2010 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 2481825 When TTS is synthesizing to a file, return an error if the file cannot be created.
extToSpeech.java
|
6a8b73be572f37b471322e7d49b44c3783633d96 |
02-Mar-2010 |
Charles Chen <clchen@google.com> |
Fixing a bug with TTS that caused TTS to ignore the default settings unless the user had set the defaults to always override app settings.
extToSpeech.java
|
f1e245f7408f18cbb21430abf05a5407d03cfe07 |
12-Feb-2010 |
Charles Chen <clchen@google.com> |
Hiding the new TextToSpeech Intent extras for voice data check to fix the build.
extToSpeech.java
|
76d9c3cb4f6f8c027959d2951e35a8b37762a1f3 |
12-Feb-2010 |
Charles Chen <clchen@google.com> |
Adding Intent extra strings to TextToSpeech.Engine for doing voice data checks.
extToSpeech.java
|
60dd360640a400d9b4a602160733281d284aaee5 |
08-Jan-2010 |
Charles Chen <clchen@google.com> |
Enabling multiple apps to use different speech synthesis engines and not interfere with one another.
extToSpeech.java
|
b4fbe768f8bfb2550dec100e29d0edc09b8a051a |
19-Nov-2009 |
Charles Chen <clchen@google.com> |
Adding the ability to specify the speech synthesis engine to use for text-to-speech.
Tts.aidl
extToSpeech.java
|
a9b417e9bfea3da908884c726ffc9bf4f64691cf |
12-Sep-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
TextToSpeech javadoc update.
extToSpeech.java
|
9f5eadd2eed8b95c077a15d9e3e3c66fd151c215 |
15-Aug-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Unhide the broadcast intent that signals completion of the TTS language files. This is required for bug 2022435. Correct the javadoc where two intents were mislabelled as broadcast, but were activity actions.
extToSpeech.java
|
69e67a3e2e863fa8828151ef3a488bfcaa504f7a |
11-Aug-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 2043140. A race condition is encountered when an application invokes shutdown() on its TextToSpeech object while is has speak() requests still running. Since the TTS service destructor releases the synthesizer resources and sets the corresponding synth reference to null, an NPE was observed. The fix consists in catching NPEs whenever the sNativeSynth object is accessed, and return the matching error for the call. This change is a "low risk" version of the fix for bug 2025765i (same issue) which was reverted because it was higher risk than this CL: it affected the logic of each call to sNativeSynth. This CL only sets an error code when an NPE is fired because sNativeSynth is null.
extToSpeech.java
|
77a5d39343760d9950ca15a87db0ae778afb4f2b |
08-Aug-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 2022435. Add new intent and matching extra to signal the completion of the language pack installer. This is used by CL 20513.
extToSpeech.java
|
ed06578eddde07abe325fa4c92910bb7246cd49f |
28-Jul-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Fix bug 2017664 Removed the TTS_ prefix in the TextToSpeech class to follow the standard naming convention. Moved the TTS-related intents from the Intent class to TextToSpeech and TextToSpeech.Engine. Renamed the TextToSpeech.Engine constants that are used as extras for the ACTION_TTS_CHECK_TTS_DATA intent to prefix them with EXTRA_. Cleaned up the other TextToSpeech.Engine constant to remove superfluous mentions of "TTS" in the name.
extToSpeech.java
|
9c53a5c01f7d9e2ffe93cc7ca03cac9c71968484 |
22-Jul-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Resetting the setLanguage() call to its intended behavior after change 8089 which works around the bug where a language cannot be set if the default language (which is loaded upon initialization) isn't eng-USA.
extToSpeech.java
|
1126aad736f3322559007b8abc49e26f550e4b54 |
21-Jul-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Revert the setLanguage() call to its previous implementation as waiting to change the language right before a call to speak can put the engine in an unstable state.
extToSpeech.java
|
5e11a6ad00b062d604b30578e0fb412ae4586989 |
20-Jul-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Prevent the setLanguage() method in TextToSpeech to change the language for all current TextToSpeech instances by only caching the language value so it is used with each subsequent utterance for this instance. Synchronize calls to the engine around a global mutex since the engine isn't thread-safe, except for the stop() call which is meant to interrupt the synthesis loop.
extToSpeech.java
|
904dfa588431ff7c99c337d7797f5bef9ac12ce3 |
15-Jul-2009 |
Charles Chen <clchen@google.com> |
Adding missing addEarcon method. Not having this was a bug as this method is needed to add earcons; otherwise, there is nothing for playEarcon to play.
extToSpeech.java
|
62253a319d6359ce71c547d0b0aa36ba17789ab4 |
14-Jul-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Unhide required definitions in TextToSpeech.Engine that cover return codes and extras for android.intent.action.CHECK_TTS_DATA intent, and the key values for the parameter hashmap that can be passed by an application in speak(), synthesizeToFile(), playSilence() and playEarcon().
extToSpeech.java
|
78c9d0d2c5eb4d5687ae7cbe41155159329ad68f |
14-Jul-2009 |
Charles Chen <clchen@google.com> |
Adding Utterance ID to the TtsService.
Tts.aidl
TtsCallback.aidl
extToSpeech.java
|
630a8de44fa0ca855c4a87d939432f831e8ed531 |
11-Jul-2009 |
Charles Chen <clchen@google.com> |
Fixing TTS breakage.
extToSpeech.java
|
a981013aa7315e13c6c5f6aad489813c419031ea |
10-Jul-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Add support in TextToSpeech for an audio stream type param and utterance ID specified as a hashmap param in the synthesis calls. Fix a bug where the cached parameters were not passed to the service when synthesizing to a file.
extToSpeech.java
|
a9c5e4bf2639f8f09be8bace4230613b7b689f0e |
10-Jul-2009 |
Charles Chen <clchen@google.com> |
Adding tagging to utterances to track which app said what.
Tts.aidl
extToSpeech.java
|
748efcc3fb1b369690ab4617a04f452b1832edf4 |
09-Jul-2009 |
Charles Chen <clchen@google.com> |
Adding a missing catch
extToSpeech.java
|
e28aced7bb96b086b16df82ff9c75b08671eb7df |
08-Jul-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Remove unused definitions for default language in TextToSpeech as the default language is determined by the current Locale, not a hardcoded value. Add a value for the default TTS engine to use.
extToSpeech.java
|
da7681e7b61dd450be72f2b4a80e6d1c86342e05 |
08-Jul-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Optimize storing of cached TTS parameters. Initialize the cached language settings with the current Locale.
extToSpeech.java
|
c8ba3b560ce0ce5944939a50d61f639fdcaa0015 |
07-Jul-2009 |
Charles Chen <clchen@google.com> |
Propagating error codes to TextToSpeech.java
extToSpeech.java
|
52ae06521a8d4c48757b126cff233f037d0a16ba |
07-Jul-2009 |
Charles Chen <clchen@google.com> |
Fixes a compatibility issue with users that have the old TTS installed already.
extToSpeech.java
|
a3f89295ad4c7bd65a25144d2be1d45ea0acf87f |
06-Jul-2009 |
Charles Chen <clchen@google.com> |
Propagating the error codes through the TtsService
Tts.aidl
|
4bca97ecaf04c50d5ed49920d119f9ffa6c29402 |
03-Jul-2009 |
Charles Chen <clchen@google.com> |
Removing IPA - IPA is already handled by the phoneme tag.
Tts.aidl
|
62788e9b48f884a35b89c88911b581daa6a14e08 |
03-Jul-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Unhide android.speech.tts.TextToSpeech
extToSpeech.java
|
99a0feecd0f0aad314d7a4637d329b8a9e8c1150 |
02-Jul-2009 |
Charles Chen <clchen@google.com> |
Adding strings for data root and data files - these are needed for returning this information in an Intent from checkVoiceData.
extToSpeech.java
|
ddb0a803fd353fbaf0139cc8804499bc9dce7403 |
30-Jun-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Adding in TTS service support for language query and level of support.
Tts.aidl
extToSpeech.java
|
5c22f516be7753859f62ca3ff5327c453ee26faa |
30-Jun-2009 |
Charles Chen <clchen@google.com> |
Adding status return codes for TTS calls.
extToSpeech.java
|
d4989093ed708ddf9c799655ea0af7afda726426 |
27-Jun-2009 |
Charles Chen <clchen@google.com> |
Adding implementation of IPA to the TextToSpeech.java
extToSpeech.java
|
f032bc7da536774a0b6a1c77632c65b935eee6fa |
26-Jun-2009 |
Charles Chen <clchen@google.com> |
Adding in the playSilence method to TextToSpeech.java
extToSpeech.java
|
741c25b164d132ddc6ef662ddf854ebedcd0e389 |
26-Jun-2009 |
Charles Chen <clchen@google.com> |
Adding skeleton methods for IPA support.
Tts.aidl
|
87c9684fd0fa31fd6ad7f7e9f4cfedddc4fdc4b0 |
25-Jun-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Add caching of the speech rate and language in android.speech.tts.TextToSpeech so the speech params can be passed along in calls for text synthesis.
extToSpeech.java
|
aaf842edbfe76990413d4c002acb394f855321b5 |
25-Jun-2009 |
Charles Chen <clchen@google.com> |
Updating the TextToSpeech.java with skeleton methods.
extToSpeech.java
|
2ea5349583de4a505501530d04133524bb6d5d38 |
23-Jun-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Adding support for pitch changes of the synthesized text in Text-To-Speech.
Tts.aidl
extToSpeech.java
|
d146874d7341bc9602c93719582b4209e7b81f01 |
18-Jun-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Grouping under TextToSpeech.Engine the constants to be used by a TTS engine implementation or a settings application for default values, and data integrity check return codes.
extToSpeech.java
|
679d728f09eeab2f8b882e42f6e081db1ac74996 |
17-Jun-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Using Locale to specify language and country for a TTS language to load, rather than a String. Cleanup in doc for TextToSpeech, and addition of queue mode constants.
Tts.aidl
extToSpeech.java
|
91bf30a4779146a14b2c9c5ce168d641cd31cb8e |
11-Jun-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
TextToSpeech class cleanups - harmonized private member variable names - added success / failure codes (used for now in initialization) - synchronized access to speech completed listener.
extToSpeech.java
|
a8518c169bb34e540b7542ad5bd3891053d01a9f |
11-Jun-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Renaming the Tts class to TextToSpeech for clarity. Switching to HashMap for parameter lists to pass key-value parameter pairs. Using TODO instead of FIXME in comments. Removing methods that don't belong anymore to the TTS interface now the feature becomes part of the platform.
extToSpeech.java
ts.java
|
f85aa5a4d4e6f1ef7e07638568e27d709b8085c6 |
10-Jun-2009 |
Charles Chen <clchen@google.com> |
Restructuring the TTS files so that it works as a Service
Tts.aidl
TtsCallback.aidl
ts.java
|
bac43254b219c827f3d1fd286f4a7f19e9ee2f05 |
09-Jun-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
In Tts class, removing method to set the specific engine to use as the framework is always using the engine selected in the Text-To-Speech service.
ts.java
|
21a6a6d26baf32593d63226f9728ddd66f0bd571 |
09-Jun-2009 |
Jean-Michel Trivi <jmtrivi@google.com> |
Moving the Tts java class from the android.tts package to the android.speech.tts package. The Tts class (still hidden at this point) is the only Text-To-Speech class that will be exposed to application developers.
ts.java
|