mayhem-party-venue/README.md

68 lines
2.0 KiB
Markdown

# Mayhem Party Venue
`git submodule init; git pull --recurse-submodules --jobs=10; git submodule foreach git pull origin master`
# Clients
## Distribute `rusty-pipe`
```bash
# https://www.reddit.com/r/rust/comments/5k8uab/crosscompiling_from_ubuntu_to_windows_with_rustup/
(
echo '[target.x86_64-pc-windows-gnu]'
echo 'linker = "x86_64-w64-mingw32-gcc"'
echo 'ar = "x86_64-w64-mingw32-gcc-ar"'
) >> $HOME/.cargo/config
sudo apt install mingw-w64
rustup target add x86_64-pc-windows-gnu
echo windows
cargo build --release --target x86_64-pc-windows-gnu
rm target/x86_64-pc-windows-gnu/release/rusty-pipe-signed.exe
read -p ".crt? " CERT
osslsigncode sign \
-certs ${CERT%.crt}.crt -key ${CERT%.crt}.key \
-n Rusty-Pipe -i https://whois.home.blapointe.com \
-in target/x86_64-pc-windows-gnu/release/rusty-pipe.exe -out target/x86_64-pc-windows-gnu/release/rusty-pipe-signed.exe
echo local
cargo install --path ./
```
Each client needs 1 executable and 1 config file with a unique user "name".
The server cannot be a client because sending, listening, and typing keyboard is bad. Maybe a VM on the client as a server would work tho.
See `./config.d/rusty-pipe.d`
# Server
### Docker
```bash
docker build -f Dockerfile -t mayhem-party-venue . && docker run -p 17070-17071:17070-17071 --rm -it -v /run/user/$UID/pulse/native:/run/user/0/pulse/native -e PULSE_SERVER=unix:/run/user/0/pulse/native -v "$PWD"/mnt.d:/mnt mayhem-party-venue
```
## TTS
`cd ./git.d/tts.d/larynx.d; bash run.sh`
## STT
`cd ./git.d/stt.d/whisper-2023; HOTWORDS=../../../config.d/mayhem-party.d/v01.yaml@.users[].state.gm.alias MIC_TIMEOUT=2 URL=http://localhost:17071/gm/rpc/broadcastSomeoneSaidAlias?message={{hotword}} HEADERS=say='Eye herd {{hotword}}' python3 ./hotwords.py`
## `mayhem-party`
### Configs
`cd ./config.d/mayhem-party.d/remap.d; bash ./rotate.sh`
> rotate anytime via stdin or `pkill -SIGUSR1 -f rotate.sh`
### Binary
`bash -c 'true; source ./config.d/mayhem-party.d/env.env; mayhem-party'`
## Game Playing
Foreground