Giter Club home page Giter Club logo

voiceassistant's Introduction

License

Nova

A Java based voice assistant. Runnable on Raspberry Pi.

Description

Nova uses MaryTTS as text-to-speech engine and Mozilla´s DeepSpeech server as speech-to-text. The assistant reacts as soon as there is loud enough sound, after that it reacts as soon as the call-to-action phrase is spoken. Nova has a skill engine which loads skills dynamically based on the matching spoken words. Additional skills can be added with the skill interface. Currently the assistant is designed for the German language, but it can easly be changed.

Basic configuration

The Property-file

This "config.properties" file lies in the resources folder.

Parameters

name = Nova
voice = bits1-hsmm
call_to_action1 = hallo nova
call_to_action2 = hey nova
stop_action = nova stop
server_adress=http://192.168.xxx.xxx:8080/stt
additional_listening_time=1000

Name of the assistant The used voice, in this case a female German voice The phrase which triggers the assistant to listen A stop action phrase, which can be used for skills The DeepSpeech server address The additional listening time in milliseconds is the time the assistant will listen even after there is no sound.

Skillengine

Use the Skill interface and add the action-keywords. The handle-method is the skill-entrypoint. If an action keywords is matched, the handle-method will start. You can implement your own canHandle-method and change the course how the keywords are matched or stick to the default. The skills return always a string which Nova will call out.

Existing skills

There are several skills currently in development and will be released in the near future.

Weatherskill

The Weatherskill uses the Openweather api, so you have to add your key into the weather.config.properties. Its possible to ask for today's temperature, the weather for today and tomorrow for different cities, weather at different times, if it rains or if the sun shines. You can change or add responses in the text files which are in the output folder. Each response has their own response file.

Parameters
api=xxxxxxx
defaultcity=Frankfurt am Main

The Openweather api-key The defaultcity, if the speaker doesn´t give a cityname with the statement.

Example
"Wie wird das Wetter morgen"
"Wie warm wird es"
"Wie kalt wird es in Berlin"
"Regnet es heute in Frankfurt"

DateTime

This skill returns the current time, date and day. You can change or add responses in the text files which are in the output folder. Each response has their own responsefile.

Example
"Welcher Tag ist heute"
"Wie spät ist es"
"Welcher Tag ist morgen"

More skills currently in development

  • Youtube
  • Spotify
  • Phillips Hue lights
  • Rssreader
  • Timer / Intervalltimer
  • Appointments / Reminder

Notice

Added the recent repository for mary to the pom. This repository could change in the near future. In that case you can download the libraries here: https://github.com/marytts/marytts/releases/tag/v5.2

You need the following files:

  • marytts-runtime-5.2-jar-with-dependencies.jar
  • marytts-lang-de-5.2.jar (or you own language)
  • the voices you want to use

Special Thanks to

SLU-IT

PaddyEsch

Contact

@Keeper_pmo
linkedin
pmo-it.de

voiceassistant's People

Contributors

pmo-it avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.