Go to file
Ruben van de Ven fcf67196c1 Management stuff 2019-03-28 16:26:17 +01:00
hugvey Stop google voice when hugvey is speaking 2019-03-28 12:15:15 +01:00
local@16738c586f New contain conditions now work incl. timer 2019-02-11 21:28:48 +01:00
www Fix #24 - Timeout parameter whether to count it as a silence. 2019-03-27 15:43:02 +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 Management stuff 2019-03-28 16:26:17 +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 Add id to client 2019-03-07 21:34:50 +01:00
hugvey_server.py Logging made fit for cutelog / client audio stream now on port = port_nr + hugvey_id' 2019-03-23 18:18:52 +01:00
requirements.server.txt Implement cutelog for server, and timeline in Panopticon. 2019-03-27 13:36:09 +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 Management stuff 2019-03-28 16:26:17 +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

Deploy / usefull commands

for i in {1..6}; do rsync -av ~/hugvey/ pi@hugvey$i.local:/home/pi/hugvey/ --exclude=www --exclude=venv --exclude=local --exclude=*.pyc --exclude=.git; done