Releases: Stypox/dicio-android
Releases Β· Stypox/dicio-android
v3.1 - External STT & more
This release is just a patch on top of v3.0 to fix the Media skill. Go read the changelog for v3.0 to find out more about the latest major release!
Fixed
- [Media] Use the
AudioManager
APIs to control playing media, instead ofMediaSessionManager
which is restricted for system apps, fixing "Missing permission to control media" errors - Interpret "12am" as midnight instead of noon Stypox/dicio-numbers#11 (thanks @ellyellyelly!)
v3.0 - External STT & more
Many people contributed to this release, thanks to everyone!
New
- Add Polish language #260 (thanks @r0d0dendr0n!)
- [Media] Add media control skill, currently available in English, French and Italian #287 (thanks @papjul!)
- Allow using external Speech-To-Text apps as input devices #294 (thanks @woheller69!)
- Select this in the settings as a replacement for Vosk, which often does not provide good enough Speech-To-Text
- Any app that opens a popup when receiving the
ACTION_RECOGNIZE_SPEECH
intent should work - Examples of apps that are known to work: woheller69's whisperIME, KΓ΅nele, Futo Voice Input but even "Speech Recognition and Synthesis from Google"
- Allow importing a custom wake word model for OpenWakeWord #291 (thanks @celskeggs!)
- Play stop sound when no speech is detected #290 (thanks @celskeggs!)
Improved
- [Weather] Shorten speech responses and support imperial units #283 (thanks @Inhishonor!)
- If the user input could not be understood, ask to repeat and reopen microphone #296 (thanks @celskeggs!)
- Give lower priority to capturing groups when doing to sentence matching
- [Calculator] Improve English sentences #264 (thanks @Inhishonor!)
- [Current time] Improve German current time sentences
Fixed
- Fix inconsistent language after resuming app
- Fix notification text not being expandable
- [Search] Fix DuckDuckGo scraper
Development
- Target SDK 36 and update dependencies #288 (thanks @papjul!)
- Fix typo in README (thanks @Inhishonor!)
v2.0 - Wake word
New
- Add wake word recognition in the background #236
- You can now start Dicio by saying "Hey Dicio" even while the phone is turned off
- The used AI model is OpenWakeWord, a huge thank you to them for the excellent work!
- Play configurable sound when Dicio starts listening #236
Improved
- Better reporting of download and unzip progress
Fixed
- Fix Dicio's STT popup not returning any result causing Firefox to crash
v1.1 - Voice Input
New
- Dicio can now be used as Voice Input in Android settings #227 (thanks @nebkrid!)
- The voice command button on (Bluetooth) headsets will now trigger Dicio #228
Improved
- Rename STT service to STT popup
Fixed
- Fix reference words not being normalized
- [Vosk] Fix pressing STT microphone while still loading
Localization
- New language available: Ukrainian πΊπ¦ #222 (thanks @balaraz!)
- Translate navigation skill in Russian #188 (thanks @Shura0!)
- Improve French and German translations #225 #210 (thanks @AgentSteel and @tiptoptom!)
- Improve README documentation
Development
- Fix tests not compiling #230 (thanks @Martin-Laclaustra!)
- Add GitHub actions to build app, generate screenshots, publish GitHub release and publish to Play Store
v1.0 - Huge refactor
New
- Adopt Material 3 design with black and dynamic themes
- Migrate code to Jetpack Compose and other modern libs
- Faster and more accurate sentence recognition algorithm
- Simpler and more powerful Skill APIs
- Add launcher shortcut to open Speech To Text service
Improved
- [Vosk] Report more status information in STT button:

- Target Android 14 (API 34)
- Group interactions better and add loading box in home screen
Fixed
- [Vosk] Fix Vosk model not downloading on some phones, by ditching Android's
DownloadManager
and using a network request directly - Fix various UI crashes thanks to the null safety of Kotlin and to the better Skill APIs design
Development
- Adopt Jetpack Compose for declarative UI
- Use the Model-View-ViewModel architectural pattern to separate business logic from UI code
- Adopt Hilt for Dependency Injection
- Migrate from SharedPreferences to protobuf-backed DataStore
- Move dicio-skill from separate repository to Gradle module
:skill
in this repo - Create
:sentences-compiler-plugin
to generate type-safe Kotlin skill standard recognizer definitions based onskill_definitions.yml
and on translated sentences inLANG/SKILL_ID.yml
files - Migrate from Gradle DSL (
.gradle
) to Kotlin DSL (.gradle.kts
) - Adopt Version Catalog to store the versions of dependencies
- Ditch Jitpack for building other
dicio-*
libraries, and useme.champeau.includegit
instead
v0.10 - Use Kotlin, timer improvements
New
- The project was converted from Java to Kotlin, if you notice issues please report them! #157 (thanks to @Doomsdayrs for the input)
- [Timer] The ringtone now plays in a loop for 30s, or until the user interrupts it
Improved
- Capture errors when generating output
- Target Android 13 Tiramisu (API 33)
Localization
0.9 - New logo, navigation skill
New
- New logo! Thanks to everyone involved in #74
- [Navigation] Add basic navigation skill #113 (thank you @primesun!)
- [Current time] Add French translation #123 (thank you @MXC48-zz and @Phyks!)
- Add backup rules that only preserve the preferences file
Improved
- [Telephone] When there are many matching contacts, choose one using voice
- [Vosk] Update model URLs
Fixed
- [Search] Fix "Search for" interpreted as lyrics
- Fix miscalculating matching character count in fuzzy string comparison
Development
- Update Gradle and Android Gradle Plugin
- Enable Java warnings when compiling
0.8 - Speech To Text service
Discussion about a new logo is happening over at #74, you may want to take a look ;-)
New
- Add Speech To Text service: press the microphone button in various applications to trigger Dicio's on-device Speech To Text (powered by Vosk), or just use it for dictation #100 #109 #111 (thank you @nebkrid!)
- [Current time] Add current time skill #91 #94 (thank you @drew-sinha!)
- [Telephone] Add French and Russian translations #88 #71 (thank you @ioctl-user, @MXC48, @BrightDV!)
- [Timer] Add French and Russian translations, but they do not show up because
dicio-numbers
does not support them yet
Fixed
- [Vosk] Fix crashes when starting the model download on older Android devices due to missing external storage permission #110
Development
- Improve the README section explaining how to create a skill #90 (thank you @drew-sinha!)
- Use the same theme in the whole app and deduplicate some code
0.7 - multiple interpretations, error activity
Matrix/IRC channel announcement
The Dicio project now has a channel on Libera Chat, #dicio!
- The IRC address is
ircs://irc.libera.chat:6697/dicio
, click here for webchat - You can also use a Matrix account to join the Dicio channel at #dicio:libera.chat. Some convenient clients, available both for phone and desktop, are listed at that link.
Improved
- [Vosk] Now multiple possible interpretations are provided for what the user said, and the app uses the first one it can understand #28 (thank you @MidnightNerd!)
- [Telephone] Translate the skill into Spanish #76 (thank you @AlanSanchezP!)
- Add an error reporting activity, similar to NewPipe's, so that (skill) errors can be reported
Fixed
- Fix input editing view remaining focused after input is sent
- [Timer] Fix Timer not hidden for languages without a number parser/formatter
Development
- Skills now have a
SkillContext
they can access at any time, and it contains these objects: AndroidContext
, shared preferences,NumberParserFormatter
for the current locale, currentLocale
,GraphicalOutputDevice
onto which to display outputs,SpeechOutputDevice
with which to speak #60 - The Krita project for Dicio's logo has been uploaded in the
meta/
folder. Also check out the issue about creating a new logo: #74 - Add Checkstyle to enforce code style
- Add view binding to the project
0.6 - add telephone and timer skills
New
- [Telephone] Add telephone skill: search and call contacts #29 (thank you @MidnightNerd!)
- [Timer] Add timer skill: set, query and cancel timers (still not polished) #53
- View and grant the permissions a skill requires in skill settings #52
- Add a notice in skill settings when the user is using a language for which
dicio-numbers
is unavailable #58
Improved
- [Vosk] Update French and Spanish models #50 #56 (thank you @nshmyrev!)
- Improve small UI details in skill settings
Fixed
- Fix skills that continue the conversation: now the user is requested to answer only after the device has finished talking
- Fix crash when initializing Android TTS on some devices
Development
- Allow skills to require Android permissions #52 Stypox/dicio-skill#5
dicio-numbers
now also supports durations (though is still only available in English and Italian, help is wanted for translations)- Add
util_yes_no
sentences file to be used across skills - Introduce desugaring to allow using new Java features on old devices