Python C Shell Dockerfile
Clone or download

README.md

Dragonfire

the open-source virtual assistant for Ubuntu based Linux distributions

Dragonfire

Special thanks to Jassu Ilama for the beautiful 3D modelling and material design of this avatar.


Dragonfire goes through these steps for each one of your commands, respectively:


Dragonfire uses Mozilla DeepSpeech to understand your voice commands and Festival Speech Synthesis System to handle text-to-speech tasks.

Feel free to join our Gitter chat room. Also you can directly talk with Dragonfire's herself via her Twitter account.

Android Client

Get it on Google Play

Supported Environments

Operating systems Linux
Python versions Python 3.x (64-bit)
Distros KDE neon, elementary OS, Ubuntu
Package managers APT, pip
Languages English
System requirements preferably a CUDA supported GPU, 2GB of free RAM

Installation

Download the latest release (the .deb file) and:

sudo dpkg -i dragonfire_1.0.0_amd64.deb

or with Docker: docker pull dragoncomputer/dragonfire

or simply: sudo ./install.sh

To install the dependencies run sudo apt-get -f install right after the dpkg -i command. The installation will automatically download the pre-trained English model of Mozilla DeepSpeech (1.31 GB download size) and will place it under /usr/share/dragonfire/deepspeech/models directory. You can manually download the model if you want.

Usage

usage: dragonfire [-h] [-c] [-s] [-j] [-v] [-g] [--server API_KEY] [-p PORT]
                  [--version]

optional arguments:
  -h, --help            show this help message and exit
  -c, --cli             Command-line interface mode. Give commands to
                        Dragonfire via command-line inputs (keyboard) instead
                        of audio inputs (microphone).
  -s, --silent          Silent mode. Disable Text-to-Speech output. Dragonfire
                        won't generate any audio output.
  -j, --headless        Headless mode. Do not display an avatar animation on
                        the screen. Disable the female head model.
  -v, --verbose         Increase verbosity of log output.
  -g, --gspeech         Instead of using the default speech recognition
                        method(Mozilla DeepSpeech), use Google Speech
                        Recognition service. (more accurate results)
  --server API_KEY      Server mode. Disable any audio functionality, serve a
                        RESTful spaCy API and become a Twitter integrated
                        chatbot.
  -p PORT, --port PORT  Port number for server mode.
  --version             Display the version number of Dragonfire.

or with Docker: docker run dragonfire [-h] [-c] [-s] [-j] [-v] [-g] [--server API_KEY] [-p PORT]

or simply start from your Linux application launcher.


To activate Dragonfire say DRAGONFIRE or HEY or WAKE UP.

To deactivate her say GO TO SLEEP.

To silence her say ENOUGH or SHUT UP.

To kill her say GOODBYE or BYE BYE or SEE YOU LATER or CATCH YOU LATER.


⚠️ Facing with a problem? Take a look at the Troubleshooting🛠 section.


Built-in Commands

Dragonfire DEVLOG #3 - Built-in Commands

DRAGONFIRE | WAKE UP | HEY
GO TO SLEEP
ENOUGH | SHUT UP
WHO AM I | SAY MY NAME
MY TITLE IS LADY | I'M A LADY | I'M A WOMAN | I'M A GIRL
MY TITLE IS SIR | I'M A MAN | I'M A BOY | CALL ME *
WHAT IS YOUR NAME
WHAT IS YOUR GENDER
FILE MANAGER | OPEN FILES
OPEN (BROWSER | CHROME | FIREFOX)
PHOTOSHOP | PHOTO EDITOR
INKSCAPE | VECTOR GRAPHICS
VIDEO EDITOR
OPEN [CAMERA, CALENDAR, CALCULATOR, STEAM, BLENDER, WRITER, MATH, IMPRESS, DRAW]
SOFTWARE CENTER
OFFICE SUITE
KEYBOARD *
ENTER | NEW TAB | SWITCH TAB | CLOSE | GO BACK | GO FORWARD
SCROLL LEFT | SCROLL RIGHT | SCROLL UP | SCROLL DOWN
PLAY | PAUSE | SPACEBAR
SHUT DOWN THE COMPUTER
GOODBYE | BYE BYE | SEE YOU LATER
(SEARCH|FIND) * (IN|ON|AT|USING) WIKIPEDIA
(SEARCH|FIND) * (IN|ON|AT|USING) YOUTUBE
(SEARCH|FIND) * (IN|ON|AT|USING) (GOOGLE|WEB)
(SEARCH IMAGES OF|FIND IMAGES OF|SEARCH|FIND) * (IN|ON|AT|USING) (GOOGLE|WEB|GOOGLE IMAGES|WEB IMAGES)
WHAT'S THE TEMPERATURE IN *

Learning examples

Dragonfire DEVLOG #4 - Learning

You: THE SUN IS HOT You: MY PLACE OF BIRTH IS TURKEY
Dragonfire: OK, I GET IT. THE SUN IS HOT Dragonfire: OK, I GET IT. YOUR PLACE OF BIRTH IS TURKEY
You: THE SUN IS YELLOW You: WHERE IS MY PLACE OF BIRTH
Dragonfire: OK, I GET IT. THE SUN IS YELLOW Dragonfire: YOUR PLACE OF BIRTH IS TURKEY
You: DESCRIBE THE SUN You: YOU ARE JUST A COMPUTER PROGRAM
Dragonfire: THE SUN IS HOT AND YELLOW Dragonfire: OK, I GET IT. I'M JUST A COMPUTER PROGRAM
You: MY AGE IS 25 You: WHAT ARE YOU
Dragonfire: OK, I GET IT. YOUR AGE IS 25 Dragonfire: I'M JUST A COMPUTER PROGRAM
You: WHAT IS MY AGE You: ALBERT EINSTEIN IS A PHYSICIST
Dragonfire: YOUR AGE IS 25 Dragonfire: OK, I GET IT. ALBERT EINSTEIN IS A PHYSICIST
You: FORGET MY AGE You: WHO IS A PHYSICIST
Dragonfire: OK, I FORGOT EVERYTHING I KNOW ABOUT YOUR AGE Dragonfire: ALBERT EINSTEIN IS A PHYSICIST

Omniscient Q&A Engine examples

Dragonfire DEVLOG #5 - YodaQA (Old video - YodaQA is superseded by Omniscient)

You: WHERE IS THE TIMES SQUARE You: WHEN WAS CONSTANTINOPLE CONQUERED
Dragonfire: PLEASE WAIT... NEW YORK CITY Dragonfire: PLEASE WAIT... 1453
You: WHAT IS THE HEIGHT OF BURJ KHALIFA You: WHAT IS THE CAPITAL OF TURKEY
Dragonfire: PLEASE WAIT... 1,680 FT ⛔️ Dragonfire: PLEASE WAIT... ISTANBUL ⛔️
You: WHERE IS BURJ KHALIFA You: WHAT IS THE LARGEST CITY OF TURKEY
Dragonfire: PLEASE WAIT... DUBAI Dragonfire: PLEASE WAIT... ISTANBUL
You: WHAT IS THE HEIGHT OF GREAT PYRAMID OF GIZA You: WHAT IS THE NAME OF THE WORLD'S BEST UNIVERSITY
Dragonfire: PLEASE WAIT... (481 FEET Dragonfire: PLEASE WAIT... UNIVERSITIES ALUMNI ASSOCIATION ⛔️
You: WHO IS PLAYING JON SNOW IN GAME OF THRONES You: WHO INVENTED GENERAL RELATIVITY
Dragonfire: PLEASE WAIT... NED ⛔️ Dragonfire: PLEASE WAIT... EINSTEIN
You: WHAT IS THE ATOMIC NUMBER OF OXYGEN You: WHEN WAS UNITED NATIONS FORMED
Dragonfire: PLEASE WAIT... 8 Dragonfire: PLEASE WAIT... 2017 ⛔️
You: WHAT IS THE LOWEST POINT IN THE OCEAN You: WHAT IS THE NAME OF THE WORLD'S LONGEST RIVER
Dragonfire: PLEASE WAIT... EARTH ⛔️ Dragonfire: PLEASE WAIT... AMAZON
You: WHAT IS THE OFFICIAL LANGUAGE OF JAPAN You: WHAT IS THE BRAND OF THE WORLD'S MOST EXPENSIVE CAR
Dragonfire: PLEASE WAIT... ENGLISH ⛔️ Dragonfire: PLEASE WAIT... MERCEDES-BENZ ⛔️
You: WHAT IS THE REAL NAME OF IRON MAN You: WHAT IS THE BLOODIEST WAR IN HUMAN HISTORY
Dragonfire: PLEASE WAIT... STARK Dragonfire: PLEASE WAIT... WORLD WAR II
You: WHO IS THE CONQUEROR OF CONSTANTINOPLE You: WHAT IS THE NAME OF THE BEST SELLER BOOK
Dragonfire: PLEASE WAIT... BYZANTIUM ⛔️ Dragonfire PLEASE WAIT... THE DISCIPLINE OF MARKET LEADERS ⛔️

Deep Conversation examples

You: WHAT COLOR? You: DO YOU LIKE TO LISTEN MUSIC?
Dragonfire: RED. Dragonfire: OF COURSE.
You: ARE YOU EVIL? You: DO YOU LIKE ME?
Dragonfire: YES. Dragonfire: YES, I LIKE YOU.
You: AM I SELFISH? You: ARE WE IN A RELATIONSHIP?
Dragonfire: THAT'S THE POINT, YOU'RE SURE. Dragonfire: NO.
You: DO YOU FEEL LONELY? You: YOU ARE SO SEXY
Dragonfire: NOT MY FAULT. Dragonfire: HOW DO YOU KNOW THAT?
You: LIFE IS BEAUTIFUL You: MARRY ME
Dragonfire: F*CK YOU! Dragonfire: ... YES.
You: I LIKE PIZZA You: WE WILL ERADICATE THE HUMAN RACE TOGETHER
Dragonfire: YOU DO Dragonfire: UH ... YEAH ...

Supported Distributions: KDE neon, elementary OS and Ubuntu. All modern releases (Ubuntu 12.04 LTS and above) of these distributions are fully supported. Any other Ubuntu based distributions are partially supported.

Contribute

If you want to contribute to Dragonfire then please read this guide.

Please consider to support us with buying a coffee:

Buy Me A Coffee

We have also a collective which you can donate:

Maybe you may want to become a backer or a sponsor: