so in android 4.0.1 a new ''updated" version of the android TTS pico engine was introduced. it sounds much less robotic now. In Scott's clean ROM the new voice has been implemented, but in Newt's 4.0.3 ROM the old pico voice is used.
Does anyone know which files control the TTS engine? I already tried replacing the /system/tts folder in newts rom with the one from clean rom and it didnt work.
I know there are a few apps in the market to change the tts voice, but i dont want to pay the $3. i would rather donate it to the rom developers here on xda
this should really be posted in general, as it is not development and a question, though i understand you wanted to get more developer attention by posting here.
That being said, here is some news i found here:
http://developer.android.com/sdk/android-4.0.html
Text-to-speech Engines
Android’s text-to-speech (TTS) APIs have been significantly extended to allow applications to more easily implement custom TTS engines, while applications that want to use a TTS engine have a couple new APIs for selecting an engine.
Using text-to-speech engines
In previous versions of Android, you could use the TextToSpeech class to perform text-to-speech (TTS) operations using the TTS engine provided by the system or set a custom engine using setEngineByPackageName(). In Android 4.0, the setEngineByPackageName() method has been deprecated and you can now specify the engine to use with a new TextToSpeech constructor that accepts the package name of a TTS engine.
You can also query the available TTS engines with getEngines(). This method returns a list of TextToSpeech.EngineInfo objects, which include meta data such as the engine’s icon, label, and package name.
Building text-to-speech engines
Previously, custom engines required that the engine be built using an undocumented native header file. In Android 4.0, there is a complete set of framework APIs for building TTS engines.
The basic setup requires an implementation of TextToSpeechService that responds to the INTENT_ACTION_TTS_SERVICE intent. The primary work for a TTS engine happens during the onSynthesizeText() callback in a service that extends TextToSpeechService. The system delivers this method two objects:
SynthesisRequest: This contains various data including the text to synthesize, the locale, the speech rate, and voice pitch.
SynthesisCallback: This is the interface by which your TTS engine delivers the resulting speech data as streaming audio. First the engine must call start() to indicate that the engine is ready to deliver the audio, then call audioAvailable(), passing it the audio data in a byte buffer. Once your engine has passed all audio through the buffer, call done().
Now that the framework supports a true API for creating TTS engines, support for the native code implementation has been removed. Look for a blog post about a compatibility layer that you can use to convert your old TTS engines to the new framework.
For an example TTS engine using the new APIs, see the Text To Speech Engine sample app.
Click to expand...
Click to collapse
The bolded part leads me to believe that you need new framework api(s) to be able to change over. Though i could be completely wrong, this was just my best guess.
Also, since we do not have a FULL release, but rather a ICS leak, it may be that there are more difficulties than a full release would have.
i was going to post in general, but like you said i thought the devs would have a better chance at seeing it here. a mod can move if necessary.
i did see the post you mentioned on a google developer site. i guess the new APIs will be implemented when we finally have a official ICS build.
you should have went with your gut and post it in the general section. the devs will see it, or hear about it or someone who has knowledge will answer it. please keep the dev section clean for development. thanks.
Related
Hi,
Anybody have any success with Voice Recognition on the phone without an internet, as in downloading the analysis repository or something?
I've Been looking for the same for a long time now
If you are into developing apps this could help.
Building application with pocketsphinx (sorry can't post links yet, but just google it)
PocketSphinx is a small-footprint continuous speech recognition system, freely licensed under a simplified BSD license, suitable for handheld and desktop applications. It features:
Cross-platform: Linux, Windows, Mac OS X, iPhoneOS
Experimental support for Nokia S60v3 and Windows Mobile
Support for semi-continuous, phonetically-tied, and fully continuous acoustic models
Model footprint on disk of about 10MB per language
Memory footprint under 20MB for medium-vocabulary continuous recognition
Trigram language models and JSGF finite-state grammars
Acoustic models for English and Mandarin
Small language models for English and Mandarin (simplified and traditional characters)
Python language bindings
GStreamer multimedia framework integration
Have fun
Dip
Xxxdevilxxx said:
Hi,
Anybody have any success with Voice Recognition on the phone without an internet, as in downloading the analysis repository or something?
Click to expand...
Click to collapse
Looking for this, now that this is available in 4.1. Tried this in nexus s, not only is this offline - it's way more accurate also! Offline accuracy is absolute credo compared to this.
I really hope this can be ported to galaxy s2.
hirak99 said:
Looking for this, now that this is available in 4.1. Tried this in nexus s, not only is this offline - it's way more accurate also! Offline accuracy is absolute credo compared to this.
I really hope this can be ported to galaxy s2.
Click to expand...
Click to collapse
Hi
I want to know about how to start offline voice recognition system in android 5.1 system update it was working in my old android kikat 4.4.4 and even I can also call by just saying call and the person name but now none is working. Do you have any idea how to use offline speech recognition system. I have already download the English UK offline pack and also tts pack for it and also tell me how to use hands free in it
I would like to make startpage.com the default search engine in CM 10.2. All I know is how to change the default search engine in the browser (I use Firefox). But I'd like to use startpage (or duckduckgo) search everywhere.
1.) Is there a way to change the search widget from google to startpage? (startpage.com recently started to provide an app but it comes without its own widget.)
2.) With certain long key presses, my device will open Google Now. Is there a way to change that to startpage?
3.) I am not an expert on technical issues but I would suspect that Android routes the search queries of other apps to Google servers? In other words, my guess is that Google provides an API that other apps that need internet search functionality can use. If my assumption is true, would it be possible to change the search engine to startpage?
I would also be grateful for general information as to whether it is possible to change the default search engine in CM or not.
I'm developing an app for iOS and android that identifies songs. We have a matching engine in c++ that works well, but my question is about the rest of the app. We have a user interface design that allows the user to record, match and save, as well as share, edit, and see their recordings.
I'm not a coder - just a designer- and I'm getting conflicting advice about how to implement. One person wants to do the majority of the functions in c++ with just a thin native GUI skin, while the other says we should write in native IOS (swift) and Android and only have the engine in c++.
The argument for c++ is it will be a single code base to maintain - it would include doing the sharing, storing history, displaying sonograms, etc. The argument against is that in fact it will not be easier to maintain, and will also create a lot of problems making calls, for example, between the interface and the function modules. For example, we currently have a function for sharing (email, facebook etc) entirely in C++ which the interface calls to, and I'm not sure if that's the best way to do things.
Hope this is clear - it's a very hard thing for me to assess as ignorant as I am! Any advice would be greatly appreciated.
I'd have the engine being c++ only, and then code in the native language for the specific platform.
Here is why:
-Maintaining UI design in c++ is terrible, which can be bad for potential customers
-Not good for load times, you want your app to be as fast as possible
-While it is good for future support (one dev can handle both the engine and the UI, less devs = less spent money), leaving it all on one dev can; have terrible documentation for the code, which will make it harder for new recruits to begin.
-IDE support (no I am not joking), android studio can do the UI pretty darn good, and adding c++ will just make it either look old or ugly.
Those are just my 2 cents
I've been learning Android development recently and finally released my first free app.
It's open source and available on Github too. It's made with C# in Xamarin (not forms though, which meansit uses Android's native APIs).
I chose to start with a TOTP generator because
It's a non trivial use case yet not too complex
It allows to meaningfully integrate image acquisition and protocol handling
I already had a UWP version I could reuse the corre logic from
The Google OTP generator uses a web service to scan QR codes, as far as I can tell
I'd be interested in asking for feedback: does the app's UI feel right? What areas can I improve?
kaworu1986 said:
I've been learning Android development recently and finally released my first free app.
It's open source and available on Github too. It's made with C# in Xamarin (not forms though, which meansit uses Android's native APIs).
I chose to start with a TOTP generator because
It's a non trivial use case yet not too complex
It allows to meaningfully integrate image acquisition and protocol handling
I already had a UWP version I could reuse the corre logic from
The Google OTP generator uses a web service to scan QR codes, as far as I can tell
I'd be interested in asking for feedback: does the app's UI feel right? What areas can I improve?
Click to expand...
Click to collapse
It was nice to see that you have your first software released. Congradulations... And thanks for sharing. As I saw you developed your software with Xamarin which is a cross platform framework. It would be great if you can share your experience here: https://forum.xda-developers.com/tools/frameworks/native-vs-cross-platform-t3850250 with other people.
I like to hear more stories about crossplatform and also native coding experiences.
I'm going to give your software a try.
I'm not a fan of material design UI, however your app looks nice. Congratulations for creating your first app.
Congratulations. You made the right choice when decided to create tool. Wish you high ratings and many downloads! I downloaded it on my phone.
Has anybody looked into this for builds not running GApps as a potential Google Assistant alternative? I don't have a system to compile on but I was given an APK by somebody on the Mastodon instance I use. Will be testing with Flite TTS Engine from F-Droid.