Skip to content

Releases: Stypox/dicio-android

v3.1 - External STT & more

05 Apr 13:32
01b986c
Compare
Choose a tag to compare

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 of MediaSessionManager 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

03 Apr 22:05
9eeb95f
Compare
Choose a tag to compare

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!)
    • If you can't pronounce "Hey Dicio" well enough, you might want to try out a custom wake word model
    • You can download .tflite models of common wakeup words from here
    • You can even train your own wake word model and then import it in Dicio, see the instructions here
  • 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

v2.0 - Wake word

27 Sep 23:08
ed2ab74
Compare
Choose a tag to compare

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

20 Aug 21:34
b70d5d2
Compare
Choose a tag to compare

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

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

11 Jul 15:33
c9f8a4d
Compare
Choose a tag to compare

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 on skill_definitions.yml and on translated sentences in LANG/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 use me.champeau.includegit instead

v0.10 - Use Kotlin, timer improvements

09 Sep 13:32
7d30e98
Compare
Choose a tag to compare

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

29 Jan 14:52
617dad4
Compare
Choose a tag to compare

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

20 Dec 18:14
c6a49e7
Compare
Choose a tag to compare

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

03 May 16:42
495261c
Compare
Choose a tag to compare

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: Android Context, shared preferences, NumberParserFormatter for the current locale, current Locale, 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

07 Mar 07:25
71a5390
Compare
Choose a tag to compare

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