picotts icon indicating copy to clipboard operation
picotts copied to clipboard

Android release, maybe on F-Droid

Open paolo-caroni opened this issue 4 years ago • 17 comments

Hi! Have you considered to release this fork under android?

Would be perfect to release it on F-Droid (Free and opensource market/store app).

PicoTTS on AOSP is dead, so it will be very good to have your fork on new Android version.

Cheers, Paolo

paolo-caroni avatar Sep 30 '21 11:09 paolo-caroni

I have no experience in packaging for Android. Can you handle it?

ihuguet avatar Nov 24 '21 14:11 ihuguet

I don't have the fully skills to do it. But i will try and open a merge request in case of success...

paolo-caroni avatar Dec 05 '21 00:12 paolo-caroni

picotts as it stands is not compatible with AArch64 (ARMv8) therefore there is no compatible android app for new phones. Consider making a new apk release, it can prove popular enough, especially that the google tts services are not getting a lot of love lately.

francogrex avatar Apr 28 '22 17:04 francogrex

got it to work, requires full AOSP checkout to build though https://gitlab.com/droid-ng/external_svox/-/commits/master

nift4 avatar Aug 04 '22 19:08 nift4

got it to work, requires full AOSP checkout to build though https://gitlab.com/droid-ng/external_svox/-/commits/master

For ARMv8? :o

TippyLion28 avatar Sep 13 '22 13:09 TippyLion28

Yes, debian patches fixed the 64 bit issues

nift4 avatar Sep 13 '22 13:09 nift4

Would you mind uploading the apk somewhere if possible? ^^

TippyLion28 avatar Sep 13 '22 13:09 TippyLion28

AOSP build system doesn't package native libraries into the apk, so it wouldn't work. It requires some more work to be able to distribute is as APK.

nift4 avatar Sep 13 '22 13:09 nift4

I only use it inside ROM builds, but it should be an solid starting point for anyone curious to do the work.

nift4 avatar Sep 13 '22 13:09 nift4

Hello guys, due to the still-sad state of open source TTS, I have a present for you all! pico.zip This is a proof-of-concept of APK-ified PicoTTS running on modern Android (arm64-v8a only)! (Because it is a proof of concept, and because PicoTTS is ancient, it requires a few steps to get it working)

  1. Install PicoTts APK
  2. Install PicoLangInstaller APK
  3. Grant file permission for both of them
  4. Open PicoLangInstaller and let it work for a moment
  5. Go to system settings, set Pico TTS as default text-to-speech app and enjoy!!

Because it is a proof of concept, the build process is even more annoying, but roughly, you have to get the APK files from the AOSP build, use apktool to "decompile" them, create folder "lib", inside lib, create folder "arm64-v8a", put libjni_ttscompat.so and libjni_ttspico.so there, add the so files to dontCompress list in apktool.yml (native libs not needed for lang installer tho), change minSdk to 22, apktool build with --use-aapt2, sign & zipalign the APK with -pf 4 flags and then install them on your device. Relevant source repo patched for public API: https://github.com/LMODroid/platform_external_svox/tree/9625f6c0d797603e7ef32b11386ccd60ddadf110

nift4 avatar May 05 '23 16:05 nift4

Nice!! Thank you for this! However, I changed the language setting in my device tts menu and now I can't go back into that menu as it crashes every time. How do I reset the language selection without access to that menu?

TippyLion28 avatar May 05 '23 17:05 TippyLion28

🤣 🤣

Welcome to the wonderful world of Android... I heard reports it stops crashing if you install at least two TTS engines. I also know there are multiple crash fixes out there, so if you use a custom ROM, ask them to fix it.

nift4 avatar May 05 '23 17:05 nift4

Installing another tts engine fixed it, thank ya :D

TippyLion28 avatar May 05 '23 17:05 TippyLion28

Hello guys, due to the still-sad state of open source TTS, I have a present for you all! pico.zip This is a proof-of-concept of APK-ified PicoTTS running on modern Android (arm64-v8a only)! (Because it is a proof of concept, and because PicoTTS is ancient, it requires a few steps to get it working)

1. Install PicoTts APK

2. Install PicoLangInstaller APK

3. Grant file permission for both of them

4. Open PicoLangInstaller and let it work for a moment

5. Go to system settings, set Pico TTS as default text-to-speech app and enjoy!!

Because it is a proof of concept, the build process is even more annoying, but roughly, you have to get the APK files from the AOSP build, use apktool to "decompile" them, create folder "lib", inside lib, create folder "arm64-v8a", put libjni_ttscompat.so and libjni_ttspico.so there, add the so files to dontCompress list in apktool.yml (native libs not needed for lang installer tho), change minSdk to 22, apktool build with --use-aapt2, sign & zipalign the APK with -pf 4 flags and then install them on your device. Relevant source repo patched for public API: https://github.com/LMODroid/platform_external_svox/tree/9625f6c0d797603e7ef32b11386ccd60ddadf110

This is amazing, thank you very much! Unfortunately there is no open tts that is actually good enough (yet?) and I almost surrendered and flashed gapps just for a proper tty.

Your apks work great, I really thank you for your work!

GithubUser699 avatar May 11 '23 14:05 GithubUser699

glad to hear it's useful :D

nift4 avatar May 11 '23 14:05 nift4

@nift4 thanks for the release. Finally an usable voice again, and even a well known one from the past. The only open alternative for German I could find was eSpeak, and that one sounds as bad as speech synthesis back in the 80's.

urigg avatar Jan 14 '24 17:01 urigg

Unfortunately there is no open tts that is actually good enough (yet?) and I almost surrendered and flashed gapps just for a proper tty.

Offtopic, but recently there is a beautifull app called sherpa onnx.

Also to @nift4 thanks for your nice PoC, I have used it for about a year, was little minor robotic than Espeak.

paolo-caroni avatar Feb 20 '24 20:02 paolo-caroni