Go to file
Ruben van de Ven 85552a3294 Supervisor file for clients 2019-03-07 21:10:49 +01:00
hugvey Diversions: repeat & no_response 2019-03-07 20:19:43 +01:00
local@16738c586f New contain conditions now work incl. timer 2019-02-11 21:28:48 +01:00
www Diversions: repeat & no_response 2019-03-07 20:19:43 +01:00
.gitignore Webdev workflow 2019-01-23 15:26:44 +01:00
.gitmodules Housekeeping with repos 2019-01-25 17:18:50 +01:00
README.md Supervisor file for clients 2019-03-07 21:10:49 +01:00
client_config.yml Extend README, config for Central Command and fix requirements.server.txt 2019-03-07 08:36:05 +01:00
hugvey_client.py First client version 2019-01-15 23:34:59 +01:00
hugvey_server.py Rename voice and attempt to fix save & play 2019-02-14 08:39:31 +01:00
requirements.server.txt Extend README, config for Central Command and fix requirements.server.txt 2019-03-07 08:36:05 +01:00
requirements.txt Refactor Interruptions to Diversions & some fixes in status display 2019-01-25 10:43:55 +01:00
server_config.yml Add temporary auth token 2019-02-18 23:31:03 +01:00
supervisor.conf Supervisor file for clients 2019-03-07 21:10:49 +01:00
test_pub.py Client now publishes itself 2019-01-16 09:00:49 +01:00
test_sub.py Streaming audio to central command when on verbose 2019-01-17 17:39:52 +01:00

README.md

Hugvey / Pillow Talk

  • Panpoticon
    • Fancy nickname for the web interface that allows altering the story and running the individual Hugveys
  • Voice
    • Lyrebird voice syntehsis API wrapper. Set the oAuth token using a token generated here
  • Client
    • Individual Hugveys that stream their mic output and play audiofiles trough the Panopticon. Communication with the server is done through zmq
    • Connect with them trough hugvey1.local etc (1-25).
  • Central Command/server
    • One server to rule them all. Start individual threads/subprocesses for the individual Hugveys. The Panopticon is started when starting the server.

Server

Run the server: python hugvey_server.py --config server_config.yml

Panopticon

The server also integrates the panopticon, the monitoring & administration interface to Hugvey.

Client

To run it: python hugvey_client.py -c client_config.yml

Development

The Panopticon uses gulp to compile SASS into CSS, and to set up browser-sync for css & js. For now, no js user facing dependencies are managed trough node/npm.

After starting the server:

cd www
gulp

To run a command on all hugveys:

fab -H rubenvandeven.com,saclab@projects.rubenvandeven.com -- uname

Installation

create and load Python virtualenv

virtualenv -p python3 --system-site-packages venv
source venv/bin/activate

Install requirements

apt install libasound-dev python3-pyaudio git-lfs
pip install -r requirements.server.txt
pip install -r requirements.txt

Install soft requirements (These are hard requirements for the clients!)

apt install sox rsync

Don't forget to init git submodules

git submodule init
git sumodule update