Skip to content
/ core Public

WIP - A personal life helper providing solutions and happiness

Notifications You must be signed in to change notification settings

brian-ai/core

Repository files navigation

Brian - Core

🚧 [Work in Progress] 🚧

wercker status

Purpose

(To be Updated) The main purpose of Brian is to be one and provide easy ways to configure and automate your life assistant.

Create routines, add knowledge or control your spotify and devices while you learn a few new concepts :)

Pre Requisites

Make sure to have all libraries installed to both mic and speaker.

NOTE: If your are on a Debian/Ubuntu System (as a rasp) be sure to have the alsa.h header file in place:

$ sudo apt-get install libasound2-dev

Tech stack:

  • node-nlp
  • AWS Polly
  • RethinkDB
  • Wit.ai
  • BrainJS
  • Synaptic
  • Snowboy
  • mapquest
  • hoopa-looger
  • rethinkly
  • weather-js
  • rabbitmq

Features breakdown

  • Spotify Controller, playlist suggestion, volume controller
  • Pre scheduled Routines (Start day, birthdays etc)
  • Accept voice commands and a give a conversational answer
  • Hot keywork (Hey, Brian!)
  • Knowledge growth (Create a internal database to store his knowledge development)
  • Fluently speak with context
  • Handle ordinary tasks (schedule events, turn on/off electrical devices)
  • Audio Sample Analyzing (Voice recognition)
  • Face Recognition
  • Social network database
  • Smart home control

How Brian works?

Brian is a polite, friendly and nice personal life helper, written in Node JS consuming a few apis to charge his powers, having Jarvis as his uncle it's easy to be awesome.

Brian was divided into two major parts (his Brain(core) and the Synapse API) to make the running environment more flexible, but both of them should work separatedly without problems. The idea is to run a server (core) into a more capable device (as A PI 3B+ or a unix machine) and widgets installed to receive outputs (as anothers PI's zeros for example running the voice recognition system and working with synapse to interact with the core).

Brian was designed to be a personal assistant with a goal. Give to your life a little more of organization productivity and facility, with privacy, and no forget about the fun.

Architectural Scheme

NOTE: It's possible to run brian for almost any device running Node JS with audio in and output, tested on MacOSX, Ubuntu, Mint and Raspbian.

Integrations

As mentioned Brian is connected to a few services to charge his powers, they are described below:

  • MapQuest to routes and traffic information
  • Spotify for music control and home ambientantion
  • WIT.ai for Speech recognition
  • AWS Polly for Voice synthetizing

Instalation

  1. Clone and install dependencies

    $ git clone [email protected]:brian-ai/core.git
    $ cd core && yarn
  2. Copy the sample env file to configure services

    $ cp .sample-env .env
  3. Add all API keys and secrets to the env file

  4. Run the execution command:

    $ yarn call:brian