Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stanford-oval/genie-server
The home server version of Almond
https://github.com/stanford-oval/genie-server
hacktoberfest nlp raspberrypi voice
Last synced: 30 days ago
JSON representation
The home server version of Almond
- Host: GitHub
- URL: https://github.com/stanford-oval/genie-server
- Owner: stanford-oval
- License: apache-2.0
- Created: 2016-02-11T20:57:41.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-04-14T09:09:09.000Z (7 months ago)
- Last Synced: 2024-09-29T00:44:12.006Z (about 1 month ago)
- Topics: hacktoberfest, nlp, raspberrypi, voice
- Language: JavaScript
- Homepage:
- Size: 26.3 MB
- Stars: 269
- Watchers: 19
- Forks: 42
- Open Issues: 47
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY.md
- License: LICENSE
Awesome Lists containing this project
README
# Genie For Home Servers
[![Build Status](https://travis-ci.com/stanford-oval/genie-server.svg?branch=master)](https://travis-ci.com/stanford-oval/genie-server) [![Coverage Status](https://coveralls.io/repos/github/stanford-oval/genie-server/badge.svg?branch=master)](https://coveralls.io/github/stanford-oval/genie-server?branch=master) [![Dependency Status](https://david-dm.org/stanford-oval/genie-server/status.svg)](https://david-dm.org/stanford-oval/genie-server) [![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/stanford-oval/genie-server.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/stanford-oval/genie-server/context:javascript)
## End User Programmable Virtual Assistants
This repository contains the standalone version of Genie, the end user programmable
assistant. It is a single-user version, suitable for running on home servers and
smart speakers.Genie is a research project from the Stanford University Open Virtual Assistant Lab.
You can find more information at .## Running Genie standalone
The recommended way to run Genie is through [podman](https://podman.io/), a replacement for [docker](https://docs.docker.com/install/) that allows
the container to run as your regular user (and thus access PulseAudio from your normal session). You can find the installation instructions [here](https://podman.io/getting-started/installation).
If you use regular docker rather than podman, audio support might not work.To run, use the command:
```bash
podman run --name genie -p 3000:3000 \
-v /dev/shm:/dev/shm \
-v $XDG_RUNTIME_DIR/pulse:/run/pulse \
-e PULSE_SERVER=unix:/run/pulse/native \
-v $XDG_CONFIG_HOME/genie-server:/var/lib/genie-server \
--security-opt label=disable \
docker.io/stanfordoval/almond-server
```You can now navigate to [127.0.0.1:3000](http://127.0.0.1:3000) to access Genie, or use your voice with the wake-word "Hey Genie".
To manage the container later, you can use:
```bash
podman start genie # start the container again
podman stop genie # stop the container
podman logs genie # look at the most recent logs of a running container
```## Development setup
To develop genie-server, you should clone this repository, then install the dependencies with:
```bash
dnf -y install nodejs gettext make gcc-c++ GraphicsMagick zip unzip pulseaudio-libs-devel # Fedora/RHEL
apt -y install nodejs gettext build-essential make g++ graphicsmagick zip unzip libpulse-dev # Ubuntu/Debian
```You can then build the repository with:
```
npm ci
```This will only install the minimal set of dependencies, and will not install any voice support. To enable voice, you must also install [genie-client-cpp](https://github.com/stanford-oval/genie-client-cpp).
After installing the dependencies locally, the server can be started using `npm start`. The server is accessible on port 3000.