GithubHelp home page GithubHelp logo

monschitee / projectalice Goto Github PK

View Code? Open in Web Editor NEW

This project forked from project-alice-assistant/projectalice

0.0 0.0 0.0 24 MB

Main repository of Project Alice, contains main unit source code

License: GNU General Public License v3.0

Python 99.66% Shell 0.34%

projectalice's Introduction

Maintainability Test Coverage Codacy Badge GitHub

ProjectAlice

Project Alice is a smart voice home assistant completely based on Snips that is modular and extensible. Since Snips runs entirely offline and never sends or shares your voice interactions with anyone, Project Alice guarantees your privacy in your home or wherever you’re using Project Alice.

However, as an option, since we've built Project Alice on top of Snips, Project Alice can be configured to use some online alternatives and fall backs (for example, using Amazon or Google’s Text to Speech engines), just like Snips. Since Snips (and the Project Alice team) strongly believe that decisions about your privacy should be made by you and you alone, these options are all disabled by default.

Installing

Please follow the wiki: https://github.com/project-alice-powered-by-snips/ProjectAlice/wiki/Installing

Chat with us and the community

Join us on our Dicord server

Who made this?

The original code base was started at the end 2015 and several rewrites made it what it is today. It was entirely written by me Psycho until recently, where I decided to make the code openly available to the world.

In of May 2019, Jierka joined the project to prepare Project Alice for a public release by providing quality code, fresh ideas and insights for the project. At the same time maxbachmann also joined the project, at first to translate to German for the release, but soon moved beyond his initial commitment and started contributing to the refactoring, rewrite and module production.

If you want to use Project Alice in a non-commercial setting, I’m not asking you for any money, or a financial contribution, but as the license states, you should try to give back for what you've been given; please share your improvements and add-ons to the rest of us, in the form of pull requests.

How does it run? What's special about it? Isn't it the same as Snips skill server?

Glad you asked! First things first, it's much more than just a skill server. It's been made very modular, in fact it runs using user developed modules (or skills). You won't have to use any console to train your assistant, we have made a way for the creators to share their modules with the language training included, the whole assistant part is automated.

Adding new modules is as easy as using either our CLI or a ticketing system. Updates are automatic, so over time the modules will get better and better with the community input to improve utterances and adding more language support.

Project Alice goes far beyond just acting on your voice requests. Project Alice is meant as an event driven automation system for your home. Anything that triggers an event (a voice request or a sensor changing states are considered “events” by Project Alice) can be used by modules to drive further interactions. For example, a sensor indicating "HighCO2" or "TemperatureTooCold" can be used by a module to create interactions (e.g. Snips announcing, “Warning high CO2 Level detected, move to fresh air immediately” or “It seems a bit chilly, would you like me to turn up the heat?”. The only limits are your imagination!!

Finally, Project Alice has her own mood (which can vary based on your interactions with her), can use different voices for different users, knows which user is talking to her, and even likes or dislikes people based on their interactions with her. She can also automate your home routines by using a customization module (e.g. turn on air conditioning and lights when a sensor indicates it is too hot and the sun has set).

This is only scratching the surface of Project Alice can and will be able to do... If you want more, I highly suggest you give it a try.

Project Alice, as in "Resident Evil", isn't that scary?

Ok, yes, I do admit if you’re familiar with the game it may sound a bit scary, but you have my word no one will get hurt fighting against the Umbrella Corporation :). Bottom line, I just really like the Red Queen in that movie/game series so I decided to name the voice assistant Alice, and that naturally lead to me calling the project, Project Alice.

Where does it run?

Well, since it's written in Python and runs on top of the Snips platform, that means that hardware choices are limited to those that are supported by Snips. This means a Raspberry Pi and some other platforms such as the respeaker core or the Matrix Creator are the best choices for a hardware platform. As for which Raspberry Pi, a raspberry 3, 3b, 3b+, 3A+ or 4 for the main unit are good choices. You cannot run Snips on a pi zero but pi zero is more than enough for satellites. A satellite runs a subset of the Snips platform, and sends and receives interactions to the main unit.

Can we contribute?

Hey, did you skip ahead and not read what I wrote a bit earlier? You have to! Just kidding, but yes, your contributions are more than welcome, be it core side or on the module side. You'll find more about the guidelines on our wiki.

Other repositories

projectalice's People

Contributors

psychokiller1888 avatar maxbachmann avatar monschitee avatar jr-k avatar jeffcdev 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.