Skip to content

Hugo-Voice-Assistant/HugoVoiceAssistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Hugo is a Node.js-powered, modular voice assistant, with an easy way to add new features!

Note: looking for testers for macOS!

Features

  • Can run completely offline
  • Very customizable
  • No 3rd-parties can access your data
  • Compatible with Linux (tested), Windows 8+, and macOS

Installation

  1. Clone the repository:

    git clone https://github.com/CharlesBobOmb/HugoVoiceAssistant.git
    cd HugoVoiceAssistant
  2. Download an appropriate speech recognition model from here (recommended model is vosk-model-small-en-us-0.15)

  3. Extract the contents into a folder called vosk-model inside of core/speech-recognition

  4. [Windows/Linux] Install espeak-ng (for text-to-speech) from this repository

  5. Install NPM dependencies and generate intents:

    npm install
    npm run generate-intents
  6. Start Hugo by running:

    node index.js

...and you're done! Congrats!

To test Hugo, make sure a microphone and speaker are connected, run the program, and say "Hugo". Once a sound is played, ask Hugo "what time is it?" If everything is set up right, Hugo will tell you the time.

Changing Hugo's name

You can also change Hugo's name by adding a WAKE_WORD property to a .env file in the root. Make sure that the wake word is contained in your Vosk model (by using the say module), otherwise Hugo won't wake up!

Modules

What are modules?

Modules are code files that can be added to Hugo to let him do more things. Every module contains

  1. A hugo.module.json file
  2. An index.js script

To install a module, just move the folder containing these things into the modules folder. Then, run npm run generate-intents (YOU MUST DO THIS OR THE MODULE WON'T WORK). That's it!

How to create your own module

  1. Create a folder with the previously mentioned files

  2. Put the following code into hugo.module.json:

    {
        "id": "example",
        "description": "Example Hugo module",
        "intents": {
            "run": ["run the example module"]
        }
    }

    This is the header for your Hugo module. Next, put the following into the index.js file:

    module.exports = {
        run(hugo){
            hugo.say("This is the module template!")
        }
    }

    Now, run npm run generate-intents, and you can use your new module. Wake Hugo and say "run the example module" to verify that it works. For examples of how to make a module, including using arguments, take a look at the time module or the math module included with Hugo.

Contributing

Any pull requests or issues are greatly appreciated!

Contributors

None yet!

About

A Node.js-powered, customizable voice assistant.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors