Giter Site home page Giter Site logo

board-assistant's Introduction

What's the project ?

Board assistant is a personal project which consists on showing / doing different information on a screen (list non-exaustive) :

  • Bus hours
  • Weather
  • And it can play spotify songs thanks to vocal recognition At the moment this project is still a prototype.

The goal is to develop a simple tool which can daily help. Today, it's possible to show bus passages, weather and play Spotify music. All these actions thanks to SpeechRecognition. On long term, speech recognition should be managed from back side or specific micro service, each component should be a specific view, Board Assistant should integer new features / services. Also it should be deployed on hardware system like a Raspberry Pi. Maybe you have any further idea ?

Take a quick look on it looks like :

Interface de l'application

Technologies

  • ReactJSDoc
  • SassDoc
  • Spotify APIDoc Used for playing tracks
  • AnnyangDoc Used for SpeechRecognition (it uses browser native SpeechRecognitionApi), for the moment only compatible with Firefox and Chrome browsers.

What I'm working on

Currently looking for and trying some open source lib to manage SpeechRecognition on back side. Working on Raspberry Pi configuration to run the project.

Installation

1. How to launch

You can download / clone the project from using github links.

1.1 Add config file

Add .env file in root folder. Be sure it follows .env_example schema.

1.2 Initialize base app

Windows In 2 differents terminals type the following commands :

yarn run server
yarn run client

OS X / Linux

yarn run server && yarn run client

Then a new tab opens in your favourite browser. If you don't want to initialize spotify API, don't consider next step.

1.3 Initialize Spotify playback (optional)

🚨 For this part, be sure to have a premium account on Spotify.

Create an application on Spotify here. Then fill CLIENT_ID and CLIENT_SECRET of .env file, you're now ready to launch.

Splash screen image Click "Login in" button.

Then you are redirected to the App screen.

2. How to use

Special mention for Spotify users ; you'll be able to use some vocal commands, here is the list :

  • joue: play a song (with this you can ask song title, singer name & album name all combined in command)
  • pause: pause current track
  • play: resume track
  • suivant: play next track
  • précédent: play previous track
  • *: Everything you say which doesn't trigger a command is displayed on screen, so you have a feedback on what is understood by the application. For more information, check the list of available commands here!
Configuration

For the moment commands doesn't work on every language. By default Speech Recognition is set in French, so you can change it as your convinience. To change it, open ./src/Vocal/index.js and change commands set in constant commands, then change annyang.setLanguage('fr-FR'); instruction with the language you want.

To contribute

Pull requests

  1. Create your branch
  2. Push your work
  3. Create your PR Be sure to :
    • Name the PR the good way
    • Call issue in decription like : "close #120"
    • Respect the PR template

Commits

To commits our work, we use a package named semantic-git-commit-cli.
So you can use yarn run sgc to create a formalized commit.

Issues

If you think about a new feature, or a bug to fix, please leave an issue and follow the template.

More informations

About the vocal recognition

We're currently using Annyang API, based on native browser SpeechRecognition API (only available on Chrome and Firefox). The point is that it recognizes propers nouns, so we can easily use it to generate requests with artists, albums, tracks names...

For the next step, vocal recognition should be server side executed, so we'll no longer use Annyag API.

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.