Giter VIP home page Giter VIP logo

almond-server's Introduction

Almond For Home Servers

Build Status Coverage Status Dependency Status Language grade: JavaScript

End User Programmable Virtual Assistants

This repository contains home server version of Almond, the end user programmable assistant. It is a single-user version, suitable for running on low-power devices and smart speakers.

Almond is part of Open Thing Platform, a research project led by prof. Monica Lam, from Stanford University. You can find more information at https://thingpedia.stanford.edu/about.

Running almond-server

The recommended way to run almond-server is through podman, a replacement for docker that allows the container to run as your regular user (and thus access PulseAudio from your normal session).

To run, use the command:

podman run --name almond -p 3000:3000 \
    -v /dev/shm:/dev/shm \
    -v $XDG_RUNTIME_DIR/pulse:/run/pulse \
    --security-opt label=disable \
    stanfordoval/almond-server

You can now navigate to 127.0.0.1:3000 to access Almond, or use your voice with the hotword "computer".

I am a Mac!

Voice support is only available on Linux. On Mac or Windows, you can use the following docker command:

docker run --name almond -p 3000:3000 stanfordoval/almond-server:latest-portable

Development setup

To develop almond-server, you should clone this repository, then install the dependencies with:

dnf -y install nodejs gettext make gcc-c++ GraphicsMagick zip unzip # Fedora/RHEL
apt -y install nodejs gettext build-essential make g++ graphicsmagick zip unzip # Ubuntu/Debian

You can then build the repository with:

npm install

This will only install the minimal set of dependencies, and will not install any voice support. To enable voice, you must also run (Linux only):

dnf -y install pulseaudio pulseaudio-libs-devel libcanberra-devel blas-devel atlas-devel sound-theme-freedesktop # Fedora/RHEL
apt -y install pulseaudio libpulse-dev libcanberra-dev libatlas-base-dev sound-theme-freedesktop # Ubuntu/Debian

then run npm install again to pick up the new dependencies.

After installing the dependencies locally, the server can be started using npm start.

almond-server's People

Contributors

gcampax avatar dependabot-preview[bot] avatar sileix avatar greenkeeper[bot] avatar ad31c0 avatar ryachen01 avatar euirim avatar almakantara avatar mehrad0711 avatar spacegaier avatar balloob avatar raj-bapat 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.