All Projects → stanford-oval → genie-server

stanford-oval / genie-server

Licence: Apache-2.0 license
The home server version of Almond

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
Pug
443 projects
CSS
56736 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to genie-server

Almond Server
The home server version of Almond
Stars: ✭ 142 (-40.08%)
Mutual labels:  raspberrypi, voice
WebGPIO
A simple web UI for controlling the GPIO pins on a Raspberry Pi
Stars: ✭ 69 (-70.89%)
Mutual labels:  raspberrypi
TeslondaServer
The back-end, server app for the Teslonda Dashboard on Raspberry Pi.
Stars: ✭ 20 (-91.56%)
Mutual labels:  raspberrypi
wiringpi-tft-tool
TFT Command Line Tool for Raspberry Pi
Stars: ✭ 35 (-85.23%)
Mutual labels:  raspberrypi
Raspberry-W25Q64
SPI Flash Memory W25Q64 Access Library for RaspberryPi
Stars: ✭ 37 (-84.39%)
Mutual labels:  raspberrypi
Pigrow
Raspberry Pi Grow Box Control Software
Stars: ✭ 98 (-58.65%)
Mutual labels:  raspberrypi
aprenda-python
Aprendizado, dicas e projetos sobre Python
Stars: ✭ 22 (-90.72%)
Mutual labels:  raspberrypi
background-radiation-monitor
Monitor and record background radiation levels with a cheap detector and a Raspberry Pi.
Stars: ✭ 25 (-89.45%)
Mutual labels:  raspberrypi
kvmd
The main Pi-KVM daemon
Stars: ✭ 125 (-47.26%)
Mutual labels:  raspberrypi
VAD-LTSD
Efficient voice activity detection algorithm using long-term speech information
Stars: ✭ 37 (-84.39%)
Mutual labels:  voice
motor-hat
Node Module to control Adafruits MotorHAT for the RaspberryPi
Stars: ✭ 28 (-88.19%)
Mutual labels:  raspberrypi
balena-plant-saver
We're building a plant monitor (and saver) - this is the early stage
Stars: ✭ 68 (-71.31%)
Mutual labels:  raspberrypi
voice-landing-page
Free Landing Page Bootstrap Template for Alexa Skills and Google Actions
Stars: ✭ 21 (-91.14%)
Mutual labels:  voice
boozer
Kegerator Monitoring Platform. RPi + Docker + Beer + Metrics + Slack. k3s kubernetes friendly.
Stars: ✭ 93 (-60.76%)
Mutual labels:  raspberrypi
Realtek-USB-Wireless-Adapter-Drivers
Realtek USB Wireless Adapter Drivers [0bda:f179] (Kernel 4.15.x ~ 5.9.x)
Stars: ✭ 34 (-85.65%)
Mutual labels:  raspberrypi
octoscreen
A touchscreen client for Octoprint
Stars: ✭ 26 (-89.03%)
Mutual labels:  raspberrypi
voice zaloai
dentifying gender and regional accent from speech
Stars: ✭ 35 (-85.23%)
Mutual labels:  voice
Poke-Pi-Dex
Our deep learning for computer vision related project for nostalgic poke weebs (Sistemi digitali, Unibo).
Stars: ✭ 18 (-92.41%)
Mutual labels:  raspberrypi
Report-IP-hourly
📬 Report Linux IP by email hourly.
Stars: ✭ 43 (-81.86%)
Mutual labels:  raspberrypi
figaro
Real-time voice-changer for voice-chat, etc. Will support many different voice-filters and features in the future. 🎵
Stars: ✭ 362 (+52.74%)
Mutual labels:  voice

Genie For Home Servers

Build Status Coverage Status Dependency Status Language grade: 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 https://oval.cs.stanford.edu.

Running Genie standalone

The recommended way to run Genie 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). You can find the installation instructions here. If you use regular docker rather than podman, audio support might not work.

To run, use the command:

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 to access Genie, or use your voice with the wake-word "Hey Genie".

To manage the container later, you can use:

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:

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.

After installing the dependencies locally, the server can be started using npm start. The server is accessible on port 3000.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].