2019-01-23 14:26:44 +00:00
# Hugvey / Pillow Talk
2019-03-07 19:19:43 +00:00
- 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 ](http://hugvey.rubenvandeven.com/oauth.php )
- 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.
2019-03-07 07:36:05 +00:00
2019-01-23 14:26:44 +00:00
## 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
2019-03-07 07:36:05 +00:00
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.
2019-03-07 19:19:43 +00:00
After starting the server:
```bash
cd www
gulp
```
2019-03-07 20:10:49 +00:00
To run a command on all hugveys:
```
fab -H rubenvandeven.com,saclab@projects.rubenvandeven.com -- uname
```
2019-03-07 19:19:43 +00:00
2019-03-07 07:36:05 +00:00
## Installation
create and load Python virtualenv
```bash
virtualenv -p python3 --system-site-packages venv
source venv/bin/activate
```
Install requirements
```bash
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
```