Skip to content

DicioTeam/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 interprets user input and (when possible) generates user output entirely on-device, providing privacy by design. It has multilanguage support, and is currently available in these languages: Czech, Dutch, English, French, German, Greek, Italian, Polish, Russian, Slovenian, Spanish, Swedish, Turkish and Ukrainian. Open to contributions :-D

Dicio logo Get it on F-Droid Get it on GitHub Get it on Play Store

Screenshots

Skills

Currently Dicio answers questions about:

  • search: looks up information on DuckDuckGo (and in the future more engines) - 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?
  • telephone: view and call contacts - Call Tom
  • timer: set, query and cancel timers - Set a timer for five minutes
  • current time: query current time - What time is it?
  • navigation: opens the navigation app at the requested position - Take me to New York, fifteenth avenue
  • jokes: tells you a joke - Tell me a joke
  • media: play, pause, previous, next song
  • translation: translate from/to any language with Lingva - How do I say Football in German?
  • wake word control: turn on/off the wakeword - Stop listening
  • notifications: reads all notifications currently in the status bar - What are my notifications?
  • flashlight: turn on/off the phone flashlight - Turn on the flashlight

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.

Wake Word

Dicio uses OpenWakeWord for wake word support, and by defaults it listens for the Hey Dicio keyword. If you would like to use a different keyword, you can download other .tflite models from Open Wake Word or from this collection. Then head to Settings > Input and output methods > Import custom wake word and select the .tflite model you downloaded. Alternatively, you can train a wake word model for a keyword of your choice by following this Jupiter Notebook with this configuration.

Contributing

Dicio's code is not only here! The repository with the compiler for sentences language files is at dicio-sentences-compiler, the number parser and formatter is at dicio-numbers and the code for evaluating matching algorithms is at dicio-evaluation.

When contributing keep in mind that other people may have needs and views different than yours, so please respect them. For any question feel free to contact the project team at @Stypox.

Matrix room for communication

The #dicio channel on Matrix is available to get in touch with the developers: #dicio:matrix.org. Some convenient Matrix clients, available both for phone and desktop, are listed at that link.

Translating

If you want to translate Dicio to a new language, follow the steps listed in the documentation: https://dicio.stypox.org/translating.html

Adding skills

If you want to add a new skill, or improve an existing one, check out the guide in the documentation: https://dicio.stypox.org/adding_skill.html

Sponsor this project

Contributors

Languages