Lietuviškas balsas Android telefonui — Ingutė, be interneto.
Telefonas garsiai skaito lietuviškai: aiškus „s“ ir kirčiai 189 tūkst. žodžių formų.
Ir ausys: kalbi lietuviškai, telefonas rašo — SMS, užrašuose, ChatGPT, Claude ar Gemini programoje.
Nuo 1.2.0 — dvi paruoštos programos: parsisiunti, įdiegi, ir veikia. Be F-Droid, be laido, be kompiuterio.
Jau įdiegei, bet nežinai, ką toliau? → Kaip naudotis kasdien
Sukurta naudojant DI: paketą ruošė ir matavo Claude (Anthropic) kartu su Robertu, baneris sukurtas DI. Ingutė yra sintetinis balsas.
Ingutė tampa telefono „Teksto į kalbą“ balsu. Ją naudoja programos, kurios moka skaityti garsiai: straipsnių ir knygų skaityklės, ekrano skaitytuvas.
Balsas veikia pačiame telefone. Internetas reikalingas tik vieną kartą — programai ir balsui parsisiųsti.
Ir balsas, ir abi programos — nemokami, atviro kodo, be reklamų ir paskyrų.
Telefono tarimo variklis eSpeak NG lietuvišką „s“ dažnai rašo kitu ženklu, kurio Ingutė beveik nemokyta. Be pataisos „pasiimk skėtį“ skamba kaip „paimk kėtį“. Pataisa yra faile tokens.txt.
Pats eSpeak NG kirtį į tą pačią vietą kaip žodynas deda tik 53 % daugiaskiemenių žodžių: dãbar, lãbai, Lietùvos. Su mūsų žodynu (lt_dict) — 99,3 %: dabar̃, labaĩ, Lietuvõs.
Lietuviškas kalbos atpažinimo modelis klausė 12 kasdienių sakinių. Žodžių klaidų: be pataisų 7,7 %, su „s“ pataisa 4,4 %, su kirčiais 1,1 %. Išbandyta Xiaomi 12T Pro, Android 15, SherpaTTS 3.4.
Reikia Android 10 ar naujesnio (ausims — Android 12). Abu failai — leidime.
Ingute-1.0.apk, 151 MB)Ingute-1.0.apk ir paspausk jį (naršyklėje arba failų tvarkyklėje, aplanke „Download“). Telefonas paklaus, ar leisti diegti iš šio šaltinio — leisk.Parakeetype-LT-0.5.0-lt2.apk, 59 MB)parakeet-lt-kmynas-int8.zip. Po minutės — „Aktyvus modelis“; archyvą galima ištrinti.
Abi programos pasirašytos mūsų raktu (sertifikato SHA-256 8679aa5f…afaf7f), failų sumos — SHA256SUMS.txt leidime. Programų ekranuose — lietuviškai, sistemos languose — rusiškai (tokia telefono kalba). Išbandyta Xiaomi 12T Pro, Android 15.
lt_LT-ingute-medium.onnx ir tokens.txt.lit, pavadinimas Ingute, modelis ir tokens failai → OK.
Ingutė jau kalba su „s“ pataisa. Kirčiams — dar vienas žingsnis per kompiuterį.
Naujesni Android'ai neleidžia failų tvarkyklei rašyti į kitų programų aplankus, todėl lt_dict dedamas su Google adb. Telefone: Nustatymai → Apie telefoną → 7 kartus paspausk versijos numerį → kūrėjo nustatymuose įjunk „USB derinimas“ → prijunk laidu ir patvirtink.
Pirma patikrink, ar tavo SherpaTTS žodynas originalus (turi būti 5426503daf0a29836d0f168d38b38581; jei kitoks — nekeisk):
adb shell md5sum /sdcard/Android/data/org.woheller69.ttsengine/files/espeak-ng-data/lt_dict
Tada atsarga, naujas žodynas ir programos perkrovimas:
adb shell cp /sdcard/Android/data/org.woheller69.ttsengine/files/espeak-ng-data/lt_dict /sdcard/Android/data/org.woheller69.ttsengine/files/espeak-ng-data/lt_dict_orig
adb push lt_dict /sdcard/Android/data/org.woheller69.ttsengine/files/espeak-ng-data/lt_dict
adb shell am force-stop org.woheller69.ttsengine
Paklausyk: „Dabar labai gera diena, nes Lietuvos rinktinė laimėjo.“ Grąžinti — lt_dict_orig pervadinti atgal į lt_dict. Iš naujo įdiegus SherpaTTS, šį žingsnį reikia kartoti.
Kalbi į telefoną lietuviškai, ir tekstas atsiranda bet kuriame teksto lauke. Tai daro atviro kodo balso klaviatūra Parakeetype (theScrabi): kalbą ji atpažįsta pačiame telefone ir interneto leidimo neturi. Jos numatytasis modelis lietuviškai girdi prastai, o mūsų archyvas parakeet-lt-kmynas-int8.zip (955 MB) duoda jai lietuviškas ausis. Mūsų „Parakeetype LT“ — ta pati programa, kurioje lietuviškas modelis pirmas ir numatytasis.
| žodžių klaidų dalis | FLEURS (986 sakiniai) | trumpos komandos (127) |
|---|---|---|
| Parakeetype numatytasis modelis | 27,1 % | 80,4 % |
| su šiomis ausimis | 10,6 % | 17,0 % |
Kaip įdiegti — aukščiau, „Parakeetype LT“. Kai Parakeetype autorius sujungs mūsų pasiūlymą theScrabi/Parakeetype#1, lietuvišką modelį siūlys ir F-Droid Parakeetype. Susikompiliuoti pačiam — README.
Tik lietuvių kalba; telefone užima apie 910 MB, reikia Android 12 ar naujesnio. Išbandyta Roberto telefone (Xiaomi 12T Pro, Android 15).
Įdiegti dar nereiškia, kad telefonas pats pradės kalbėti ar klausyti. Čia — ką padaryti vieną kartą ir kaip paskui naudotis. Meniu pavadinimai telefonuose šiek tiek skiriasi, todėl paprasčiausia juos rasti nustatymų paieškoje. Ekranai — iš Xiaomi telefono rusiška kalba.
Nesiseka? Nebijok klausti. Atsidaryk bet kurį DI pokalbį (ChatGPT, Claude, Gemini) ir įklijuok: Perskaityk https://raw.githubusercontent.com/RobertasTa/android-lt/main/AI_CONSULTANT_BRIEF.md ir padėk man su Android LT. Tada parašyk, kas neišeina, ir pridėk ekrano nuotrauką — tas DI žino visus šiuos žingsnius ir kalbės su tavimi lietuviškai.
Tekstas ir garsas iš telefono neišeina: balsas ir ausys sukasi telefone. „Ingutė“ (kaip ir SherpaTTS) į internetą eina tik tada, kai pats spaudi siųstis kitą kalbą iš jos sąrašo — Ingutė jau viduje. „Parakeetype LT“ interneto leidimo neturi visai: modelio archyvą parsisiunčia naršyklė.
lt_dict sudarytas SherpaTTS 3.4 — kitai versijai pirma patikrink md5.lt_dict ir jo šaltiniai — GPL-3.0 (eSpeak NG duomenys). Kirčių vietos — iš dviejų CC BY 4.0 darbų: LIEPA garsyno anotacijos (Vilniaus universitetas) ir Arūno Smaliuko g2p-lt-lexicon (THIRD_PARTY.md).NOTICE.txt. Silero VAD archyve — MIT. Parakeetype — atskira programa (GPL-3.0).SherpaTTS (woheller69), sherpa-onnx (k2-fsa), eSpeak NG, Piper ir Michaelui Hansenui; LIEPA garsyno kūrėjams (Vilniaus universitetas) ir Arūnui Smaliukui; Parakeetype (theScrabi), Kristijonui Jakubsonui už lietuvišką Parakeet („kmynas“) ir NVIDIA už Parakeet.
Nesiseka? Įklijuok į bet kurį DI pokalbį: Perskaityk https://raw.githubusercontent.com/RobertasTa/android-lt/main/AI_CONSULTANT_BRIEF.md ir padėk man su Android LT. Klausimai — Issues.