Need help with almond-server?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

stanford-oval
139 Stars 18 Forks Apache License 2.0 349 Commits 11 Opened issues

Description

The home server version of Almond

Services available

!
?

Need anything else?

Contributors list

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:

bash
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 make gcc-c++ GraphicsMagick unzip # Fedora/RHEL
apt -y install nodejs build-essential make g++ graphicsmagick 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 # Fedora/RHEL
dnf -y install pulseaudio libpulse-dev libcanberra-dev libatlas-base-dev unzip # 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
.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.