Skip to content

comradekingu/dicio-android

 
 

Repository files navigation

Dicio assistant

Dicio is a free and open source voice assistant running on Android. It supports many different skills and input/output methods, and it provides both speech and graphical feedback to a question. It uses Vosk for speech to text. It has multilanguage support, and is currently available in these languages: English (en) and Italian (it). Open to contributions :-D

Skills

Currently Dicio answers questions about:

  • search: looks up information on Qwant or DuckDuckGo - Search for Dicio
  • weather: collects weather information from OpenWeatherMap - What's the weather like?
  • lyrics: shows Genius lyrics for songs - What's the song that goes we will we will rock you?
  • open: opens an app on your device - Open NewPipe
  • calculator: evaluates basic calculations - What is four thousand and two times three minus a million divided by three hundred?

Speech to text

Dicio uses Vosk as its speech to text (STT) engine. In order to be able to run on every phone small models are employed, weighing ~50MB. The download from here starts automatically whenever needed, so the app language can be changed seamlessly.

Contributing

Dicio's code is not only here! The repository with the compiler for sentences language files is at dicio-sentences-compiler and the repository which takes care of input matching and provides skill interfaces is at dicio-skill

Translating

If you want to translate Dicio to a new language you have to take these steps:

  • Translate the strings used inside the app via Weblate. If your language isn't already there, add it with tool -> start new translation then add it to the app's language selector (the instructions for this are similar to NewPipe's, don't hesitate to ask for help).
    Translation status
  • Translate the sentences used by Dicio to identify a user's request and to feed it to the correct skill. To do this open the repository root and navigate to app/src/main/sentences/. Copy-paste the en folder (i.e. the one containing English translations) and call the new folder with the 2- or 3-letter name of your language (in particular, any ISO-639-compliant language ID is supported). Then open the newly created folder: inside there should be some files with the .dslf extension and in English language. Open each one of them and translate the English content; feel free to add/remove sentences if their translation does not fit into your language and remember those sentences need to identify as better as possible what the user said. Do NOT edit the name of the copied files or the first line in them (i.e. the ID: SPECIFICITY line, like weather: high): they should remain English. To learn about the Dicio sentences language syntax, please refer to the documentation and the example in dicio-sentences-compiler. Hopefully in the future a custom translation system will be used for sentences.

Adding skills

TODO: add description

About

Dicio assistant app for Android

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%