105 Commits

Author SHA1 Message Date
Bel LaPointe
290225b7f1 readme from rusty-pipe 2023-04-09 12:02:13 -06:00
Bel LaPointe
1a0b9143be mayhem-party to websockets and http over rusty-pipe 2023-04-09 12:01:40 -06:00
Bel LaPointe
ac55a08796 mayhem-party config to http ui 2023-04-09 11:55:42 -06:00
Bel LaPointe
3653f286f8 wip 2023-04-06 17:25:51 -06:00
bel
5a9dcac684 git pull 2023-04-05 22:46:55 -06:00
Bel LaPointe
86bd0d851d scripts 2023-04-05 22:46:22 -06:00
bel
55aae5a55f hotwords file and more mayhem-info.sh 2023-04-05 22:30:45 -06:00
bel
d559f5244f mayhem-party.sh things 2023-04-05 22:24:49 -06:00
bel
df2c5cb0ad ALMOST 2023-04-05 22:09:43 -06:00
bel
53cab7e43c rename configs 2023-04-05 21:06:11 -06:00
bel
5062abdfc7 update v01.yaml for 4 players 2023-04-05 21:02:11 -06:00
bel
d80b73a052 FRIENDSHIP 2023-04-05 20:49:45 -06:00
bel
5d70ac0002 upgrade 2023-04-05 20:48:39 -06:00
bel
c2d2cda761 readme 2023-04-02 12:55:00 -06:00
bel
6eb6cdbd49 autostart discord with custom HOME and dont unset secret_sinks unless $PACTL_RESET=true 2023-04-02 12:54:24 -06:00
bel
70ca9d645a todo 2023-04-02 12:36:52 -06:00
bel
5fff9525e0 OK WE PASSING ISH 2023-04-02 12:35:54 -06:00
bel
fd31ede89e todo 2023-04-02 11:50:43 -06:00
bel
3b9437fc9c ok so i dont need to share screen BUT i need to get audio from TTS to stream so maybe obs indeed 2023-04-02 11:49:06 -06:00
bel
78b00ac62a less sudo and 2 virtual devices 2023-04-02 11:40:10 -06:00
bel
42212e3d10 manual run reveals sharing fullscreen does NOT capture audio so i gotta be more verbose with user messages i guess 2023-04-02 10:50:56 -06:00
bel
b2742b3631 git pull 2023-04-02 09:49:12 -06:00
bel
cc3e3f87fc retain a static v01.yaml 2023-04-02 09:48:55 -06:00
bel
3ce34e20bb add comments and start to v01 2023-04-02 09:48:12 -06:00
bel
495861c261 oops need start button oof 2023-04-02 09:41:58 -06:00
bel
33eec70077 reset config 2023-04-01 11:44:38 -06:00
bel
b991d3057b manual testing 2023-04-01 11:44:16 -06:00
bel
d7a9face2f upgrade mayhem-party to v0.1.10 for dedicated broadcast 2023-04-01 11:32:27 -06:00
bel
05403b047a ok i think i could play 2p if i need 2023-04-01 11:19:51 -06:00
bel
b75ec0240a at least stt works with gui 2023-04-01 11:18:17 -06:00
bel
8e6f23f49b gui dependent yeah sure whatever 2023-04-01 11:17:08 -06:00
bel
d908a91014 retry hotwords because segfaulting 2023-04-01 10:39:18 -06:00
bel
f034d21598 this isnt working boo 2023-04-01 00:25:29 -06:00
bel
1927458538 todo 2023-03-31 22:46:01 -06:00
bel
5005e86722 yas queen 2023-03-31 22:44:40 -06:00
bel
09aa57cbe3 hotwords rel 2023-03-31 22:35:07 -06:00
bel
03615af983 server loads hotwords models 2023-03-31 22:31:08 -06:00
bel
3f033a595f rm dockerfile 2023-03-31 22:15:11 -06:00
bel
b9f0cec2e8 readme to server.sh 2023-03-31 22:15:06 -06:00
bel
d7e7a07f6e server.sh to run all 2023-03-31 22:12:57 -06:00
bel
c4864a380d mature 2023-03-31 21:46:28 -06:00
bel
463314ef2e almost 2023-03-31 21:23:07 -06:00
bel
84b7962acc okey 2023-03-31 21:02:13 -06:00
bel
87e12f8f52 gr 2023-03-31 21:01:58 -06:00
bel
661a8c85f0 oof 2023-03-31 20:54:57 -06:00
bel
fcfc2be0b8 todo 2023-03-31 16:47:22 -06:00
bel
85378b1858 todo 2023-03-31 16:46:50 -06:00
bel
46707dcf30 todo 2023-03-31 16:46:11 -06:00
bel
0c4885e434 submodule pull 2023-03-31 16:43:23 -06:00
bel
563eec7ced rust install to vm 2023-03-31 16:43:13 -06:00
bel
d46e07351a stt works ok in vm 2023-03-31 16:42:52 -06:00
bel
464b227959 todo 2023-03-31 15:36:48 -06:00
Bel LaPointe
f67c41acc5 todo 2023-03-31 11:05:31 -06:00
Bel LaPointe
f683c5abf1 git pull and stt needs love 2023-03-31 11:05:05 -06:00
bel
078e697386 todo 2023-03-29 21:41:29 -06:00
bel
1871c1a547 tood 2023-03-29 19:57:22 -06:00
bel
2162547522 gogo 2023-03-29 19:49:36 -06:00
bel
23e28a23b6 gogo 2023-03-29 19:47:22 -06:00
bel
522acfdf03 gogo 2023-03-29 19:45:27 -06:00
bel
2bb016751a gogo 2023-03-29 19:42:36 -06:00
bel
31fd6e8ef1 gogo 2023-03-29 19:40:41 -06:00
bel
56f649ebd0 gogo 2023-03-29 19:40:17 -06:00
bel
a464ff285c gogo 2023-03-29 19:39:28 -06:00
bel
f36c1b48de gogo 2023-03-29 19:37:21 -06:00
bel
51edba8640 gogo 2023-03-29 19:33:13 -06:00
bel
19abf63f21 gogo 2023-03-29 19:25:11 -06:00
bel
972ad8c25f gogo 2023-03-29 19:24:27 -06:00
bel
4d2f50c8a6 gogo 2023-03-29 19:21:03 -06:00
bel
d3ca9c66e1 gogo 2023-03-29 19:18:43 -06:00
bel
42e5e2c13a gogo 2023-03-29 19:18:20 -06:00
bel
e813e3e46a gogo 2023-03-29 19:15:30 -06:00
bel
24dc4daeb9 gogo 2023-03-29 18:58:40 -06:00
bel
8631625b0e lgo 2023-03-29 18:57:54 -06:00
bel
c7f8016a92 dol 2023-03-29 18:57:14 -06:00
bel
da4dc9e87d no u 2023-03-29 18:56:52 -06:00
bel
485f49c7da no snap run if running 2023-03-29 18:56:04 -06:00
bel
78595b969e start 2023-03-29 18:52:41 -06:00
bel
dc29160296 gr split 2023-03-29 18:30:55 -06:00
bel
4a098912df git pull 2023-03-29 18:27:52 -06:00
bel
548b2c6aec docker install 2023-03-29 18:27:30 -06:00
bel
42f3a50f4e no snap docker 2023-03-28 23:40:49 -06:00
bel
15ccdee0b4 readme 2023-03-28 23:31:38 -06:00
bel
bbc53f4eb6 Merge branch 'master' of https://gogs.inhome.blapointe.com/bel/mayhem-party-venue 2023-03-28 22:20:36 -06:00
bel
7a8e38fb74 pip no cache dir 2023-03-28 22:20:17 -06:00
bel
efb0836686 more instructions for vm 2023-03-28 21:59:03 -06:00
bel
277bfac641 up mp 2023-03-28 21:46:41 -06:00
bel
7d4846b5dc wipping 2023-03-28 21:44:33 -06:00
bel
5d8f3e9c0e pttodo 2023-03-28 20:34:05 -06:00
bel
f689423ade dockerfile for initializing and listening to stdout 2023-03-28 20:32:47 -06:00
bel
dfcbd14a63 dockerfile 2023-03-28 20:22:25 -06:00
bel
5445b859c9 fetch submod 2023-03-28 20:18:25 -06:00
bel
81cfea221e no need for dockerfile contents in readme 2023-03-28 20:16:49 -06:00
bel
843fa29e1f shorter dockerfile 2023-03-28 20:13:46 -06:00
bel
41d61c6061 confirmed rusty-pipe hooks up out of the box with just 1 docker change 2023-03-28 20:13:08 -06:00
bel
3a36333ef6 DOCKERFILE A GOGO 2023-03-28 20:05:14 -06:00
bel
b2654a10b2 IT RUNS DOCKER but stt accepts emptystrings and doesnt mount and those are bad 2023-03-28 19:57:45 -06:00
bel
2a3b013353 add signing exe 2023-03-28 19:31:00 -06:00
Bel LaPointe
3c9a01d3d9 dockerfile todo 2023-03-28 15:43:08 -06:00
Bel LaPointe
8ab758a5cc dockerfile at least can run stt though not sure how to pipe audio into it 2023-03-28 15:41:22 -06:00
Bel LaPointe
c3130e7a00 dockerfile comment 2023-03-28 11:27:11 -06:00
Bel LaPointe
febed803e9 stt up 2023-03-28 11:26:06 -06:00
Bel LaPointe
0b55e46bc1 dockerfile continues 2023-03-28 11:21:25 -06:00
Bel LaPointe
af8f75bc7c stub dockerfile and cmd is nicer than entrypoint til 2023-03-28 07:49:32 -06:00
Bel LaPointe
4652ed623b readme on how2 submodules and pull 2023-03-28 07:27:03 -06:00
bel
7d9bf4133d whoops one more 2023-03-27 21:42:41 -06:00
29 changed files with 549 additions and 87 deletions

3
.gitignore vendored
View File

@@ -0,0 +1,3 @@
/mnt.d
**/*.sw*
**/__pycache__

6
.gitmodules vendored
View File

@@ -4,9 +4,9 @@
[submodule "git.d/rusty-pipe.d"]
path = git.d/rusty-pipe.d
url = https://gogs.inhome.blapointe.com/bel/rusty-pipe.git
[submodule "git.d/stt.d"]
path = git.d/stt.d
url = https://gogs.inhome.blapointe.com/bel/stt.git
[submodule "git.d/tts.d"]
path = git.d/tts.d
url = https://gogs.inhome.blapointe.com/bel/tts.git
[submodule "git.d/stt.d"]
path = git.d/stt.d
url = https://gogs.inhome.blapointe.com/bel/stt

View File

@@ -2,52 +2,14 @@
# 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 && ls target/x86_64-pc-windows-gnu/release/rusty-pipe.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`
Send link to `http://localhost:17072`
# Server
## TTS
## Code
`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.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'`
`bash ./server.sh`
## Game Playing
Foreground

View File

@@ -0,0 +1,3 @@
#! /bin/bash
curl -sS http://mp.home.blapointe.com:17071/gm/rpc/elect

View File

@@ -1,11 +1,14 @@
export DEBUG=true
export MAIN_INTERVAL_DURATION=5ms
export RAW_UDP=17070
export PARSE_V01=true
export V01_CONFIG=./config.d/mayhem-party.d/v01.yaml
cp ./config.d/mayhem-party.d/v01{"",-live}.yaml
export V01_CONFIG=./config.d/mayhem-party.d/v01-live.yaml
export WRAP_REFRESH_ON_SIGUSR1=true
export OUTPUT_KEYBOARD=false
export OUTPUT_KEYBOARD=${OUTPUT_KEYBOARD:-false}
#export RAW_UDP=17070
export RAW_WS_PROXY_URL=http://localhost$(cat config.d/mayhem-party.d/v01-live.yaml | grep -A 10 feedback | grep addr: | awk '{print $NF}')
export RAW_WS=17072

View File

@@ -0,0 +1,7 @@
#! /bin/bash
curl \
-X POST \
-i -sS \
http://mp.home.blapointe.com:17071/gm/rpc/fillNonPlayerAliases \
-d "[$(cat ./hotwords.txt | tr '\n' ' ')]"

View File

@@ -0,0 +1,18 @@
mario
luigi
peach
daisy
wario
waluigi
bowser
junior
koopa
shyguy
boo
toad
toadette
coin
star
minigame
win
lose

View File

@@ -0,0 +1,7 @@
#! /bin/bash
set -e
bash ./shuffle.sh
bash ./fill.sh
bash ./players.sh

View File

@@ -0,0 +1,2 @@
#! /bin/bash
curl -sS -i http://mp.home.blapointe.com:17071/

View File

@@ -0,0 +1,3 @@
#! /bin/bash
curl -sS -i http://mp.home.blapointe.com:17071/gm/rpc/shuffle
bash ./players.sh

View File

@@ -0,0 +1,56 @@
feedback:
addr: :17071
ttsurl: http://localhost:15002
users: {}
players:
- transformation:
"1": "1" # a
"2": "2" # b
"3": "3" # x
"4": "4" # y
"5": "5" # start
w: "6" # stickUp
a: "7" # stickLeft
s: "8" # stickDown
d: "9" # stickRight
e: "0" # r
q: "-" # l
- transformation:
"1": "q" # a
"2": "w" # b
"3": "e" # x
"4": "r" # y
"5": " " # "t" # start
w: "y" # stickUp
a: "u" # stickLeft
s: "i" # stickDown
d: "o" # stickRight
e: "p" # r
q: "=" # l
- transformation:
"1": "a" # a
"2": "s" # b
"3": "d" # x
"4": "f" # y
"5": " " # "g" # start
w: "h" # stickUp
a: "j" # stickLeft
s: "k" # stickDown
d: "l" # stickRight
e: ";" # r
q: "g" # l
- transformation:
"1": "z" # a
"2": "x" # b
"3": "c" # x
"4": "v" # y
"5": " " # "b" # start
w: "n" # stickUp
a: "m" # stickLeft
s: "," # stickDown
d: "." # stickRight
e: "/" # r
q: "b" # l
quiet: false
broadcast:
message: "#early access"

View File

@@ -1,40 +1,56 @@
feedback:
addr: :17071
ttsurl: http://localhost:15002
users:
bel:
meta:
lasttsms: 1679974714156
lastlag: 341
state:
player: 2
message: ""
gm:
alias: ""
lastalias: ""
vote: broadcast
broadcast:
meta:
lasttsms: 0
lastlag: 0
state:
player: 0
message: "8"
gm:
alias: ""
lastalias: ""
vote: ""
users: {}
players:
- transformation: {}
- transformation:
"1": "5"
"2": "6"
"3": "7"
"4": "8"
a: f
d: h
e: "y"
q: r
s: g
w: t
quiet: true
"1": "1" # a
"2": "2" # b
"3": "3" # x
"4": "4" # y
"5": "5" # start
w: "6" # stickUp
a: "7" # stickLeft
s: "8" # stickDown
d: "9" # stickRight
e: "0" # r
q: "-" # l
- transformation:
"1": "q" # a
"2": "w" # b
"3": "e" # x
"4": "r" # y
"5": " " # "t" # start
w: "y" # stickUp
a: "u" # stickLeft
s: "i" # stickDown
d: "o" # stickRight
e: "p" # r
q: "=" # l
- transformation:
"1": "a" # a
"2": "s" # b
"3": "d" # x
"4": "f" # y
"5": " " # "g" # start
w: "h" # stickUp
a: "j" # stickLeft
s: "k" # stickDown
d: "l" # stickRight
e: ";" # r
q: "g" # l
- transformation:
"1": "z" # a
"2": "x" # b
"3": "c" # x
"4": "v" # y
"5": " " # "b" # start
w: "n" # stickUp
a: "m" # stickLeft
s: "," # stickDown
d: "." # stickRight
e: "/" # r
q: "b" # l
quiet: false
broadcast:
message: "#early access"

View File

@@ -22,6 +22,7 @@ streams:
b: '2'
x: '3'
y: '4'
start: '5'
output:
debug: false
engine:

View File

@@ -22,6 +22,7 @@ streams:
b: '2'
x: '3'
y: '4'
start: '5'
output:
debug: false
engine:

View File

@@ -22,6 +22,7 @@ streams:
b: '2'
x: '3'
y: '4'
start: '5'
output:
debug: false
engine:

View File

@@ -22,6 +22,7 @@ streams:
b: '2'
x: '3'
y: '4'
start: '5'
output:
debug: false
engine:

View File

@@ -22,6 +22,7 @@ streams:
b: '2'
x: '3'
y: '4'
start: '5'
output:
debug: false
engine:

View File

@@ -0,0 +1,16 @@
#! /bin/bash
echo source ./package.sh
set -e
cd ${based%/*}
tar_f=${based##*/}.tar
rm -f "$tar_f"
tar -cf "$tar_f" ${based##*/}
cleanup() { rm "$tar_f"; }
trap cleanup EXIT
scp_scratch.sh "$tar_f" squeaky2x3@192.168.0.86:/volume1/video/FTP/
ssh_scratch.sh ls /volume1/video/FTP/"$tar_f"

View File

@@ -0,0 +1,20 @@
#! /bin/bash
test -f ./rusty-pipe-signed.exe || exit 1
based=$(mktemp -d)
for f in ./*.yaml; do
d="$based/${f%.yaml}.d"
mkdir -p "$d"
cp "$f" "$d"/rusty-pipe.yaml
cp "$(realpath ./rusty-pipe-signed.exe)" "$d"/rusty-pipe-windows.exe
cp "$(realpath ./rusty-pipe-notwindows.bin)" "$d"/rusty-pipe-notwindows.bin
done
pushd "$based"
for d in ./*/; do
zip -r -7 ${d%/}.zip $d
rm -rf "$d"
done
popd
echo "$based"
du -sh "$based"/*

View File

@@ -22,6 +22,7 @@ streams:
b: '2'
x: '3'
y: '4'
start: '5'
output:
debug: false
engine:

View File

@@ -0,0 +1 @@
../../../rusty-pipe.d/target/release/rusty-pipe

View File

@@ -0,0 +1 @@
../../../rusty-pipe.d/target/x86_64-pc-windows-gnu/release/rusty-pipe-signed.exe

View File

@@ -22,6 +22,7 @@ streams:
b: '2'
x: '3'
y: '4'
start: '5'
output:
debug: false
engine:

144
server.sh Normal file
View File

@@ -0,0 +1,144 @@
# /bin/bash
main() {
set -eo pipefail
tty && read -p "git refresh? [yN] " a && test "$a" == "y" && (
git config --global credential.helper store
git submodule init
git pull --recurse-submodules --jobs=10
git submodule foreach git pull origin master
)
_tts
_mayhem_party
_discord
_stt
_dolphin
while read; do
pkill -SIGUSR1 -f mayhem-party
done
}
_cleanup() {
pkill -f larynx
pkill -f hotwords.py
pkill -f rust-whisper
pkill -f mayhem-party
}
cleanup() {
pkill -f server.sh
_cleanup
}
_cleanup
trap cleanup EXIT
log() {
echo "$(date) > $*" >&2
}
_discord() {
(
export HOME="$PWD/mnt.d/discord.d"
if ! snap list discord; then
sudo snap install discord
fi
(
snap run discord
) &> /tmp/mayhem-party.discord.log &
disown
)
}
_dolphin() {
echo
read -p "pls start dolphin"
echo
}
_mayhem_party() {
log mayhem-party
pushd ./git.d/mayhem-party.d
go build
popd
log launching mayhem-party
(
source ./config.d/mayhem-party.d/env.env
./git.d/mayhem-party.d/mayhem-party
) &
}
_tts() {
log launching tts
pushd ./git.d/tts.d/larynx.d/
chmod -R 777 ./mnt.d || true
bash ./run.sh
popd
}
_stt() {
log stt
(
export HOME="$PWD/mnt.d/stt.d"
mkdir -p "$HOME"
cd "$HOME"
bash ../../git.d/stt.d/rust-whisper.d/download_models.sh
if [ -n "$PIP" ]; then
pip3 install -r ../../git.d/stt.d/rust-whisper.d/requirements.txt
fi
local device=$(
pactl list \
| grep Monitor.Source \
| grep -v hdmi \
| awk "{print \$NF}" \
| head -n 1
)
if ! test -f /etc/asound.conf || ! grep "$device" /etc/asound.conf; then
(
echo "pcm.pulse_monitor {"
echo " type pulse"
echo " device $device"
echo "}"
echo "ctl.pulse_monitor {"
echo " type pulse"
echo " device $device"
echo "}"
) | sudo tee /etc/asound.conf
fi
if [ -n "$PACTL_RESET" ]; then
for i in $(pactl list short modules | grep secret | cut -f1); do
pactl unload-module $i
done
fi
name='my_secret_sink'
for i in 1 2; do
if ! pactl list | grep -q $name$i; then
pactl load-module module-null-sink sink_name=$name$i channels=1
pactl load-module module-remap-source master=$name$i.monitor source_name=shared-$name$i source_properties="device.description=shared-$name$i"
mic_name="$(pactl list | grep -A 100 Name:.$name$i.monitor | grep device.description.=. | head -n 1 | sed 's/.* = //' | tr -d '"') Monitor"
fi
done
echo
read -p "pavucontrol to change input to $name, ok? "
echo
log launching stt
(
export HOTWORDS=../../config.d/mayhem-party.d/v01-live.yaml@.users[].state.gm.alias
export MIC_TIMEOUT=2
export URL=http://localhost:17071/gm/rpc/broadcastSomeoneSaidAlias?message={{hotword}}
export HEADERS=say="Eye herd {{hotword}}"
export MIC_NAME="${MIC_NAME:-pulse_monitor}"
export MODEL=tiny.en
export P=2
while ! python3 ../../git.d/stt.d/rust-whisper.d/hotwords.py; do
sleep 5
done
) &
)
}
if [ "$0" == "$BASH_SOURCE" ]; then
main "$@"
fi

193
todo.yaml Executable file
View File

@@ -0,0 +1,193 @@
todo:
- instructions how to spin up with pulseaudio GUI
- rpc fill aliases UI
- rpc elect UI
- display election results
- trigger dolphin pause via query param mapping to a button that is a pause hotkey
scheduled: []
done:
- todo: sticky keyboard input mode for enable/disable explicitly
ts: Thu Mar 23 20:55:52 MDT 2023
- todo: case-sensitive
ts: Fri Mar 24 13:39:26 MDT 2023
- todo: rusty configs have "name" for each client so "if name == server_broadcasted_name
{ debug_print_in_gui(server_broadcasted_message) }
ts: Fri Mar 24 16:40:09 MDT 2023
- todo: change from 'a','b','c' from rust to just 10,11,12 so playerName is known
implicitly but then gotta translate back to char for keyboard things somewhere;
space delimited?
ts: Fri Mar 24 17:00:55 MDT 2023
- todo: '"Button" to interface or strings'
ts: Fri Mar 24 17:01:01 MDT 2023
- todo: input.UDP as a raw provider
ts: Fri Mar 24 19:58:59 MDT 2023
- todo: input.MayhemParty as a logical wrapper
ts: Fri Mar 24 19:58:59 MDT 2023
- todo: change from 'a','b','c' from rust to just 11,21,31,41 so playerName is known
implicitly from %10 but then gotta translate back to char for keyboard things
somewhere; space delimited?
ts: Fri Mar 24 19:58:59 MDT 2023
- todo: input."Button" to interface or strings
ts: Fri Mar 24 21:16:39 MDT 2023
- todo: input.MayhemParty as a logical wrapper from %10 but then gotta translate back
to char for keyboard things somewhere; space delimited?
ts: Fri Mar 24 21:16:39 MDT 2023
- todo: change from 'a','b','c' from rust to just 11,21,31,41 so playerName is known
implicitly
ts: Sat Mar 25 00:06:21 MDT 2023
- todo: lag via UDP formatted inputs as space-delimited TS PID buttonIdx buttonIdx
buttonIdx
ts: Sat Mar 25 00:13:19 MDT 2023
- todo: map keys triggered by user to player idx and their keys
ts: Sat Mar 25 00:44:19 MDT 2023
- todo: use button.V01Cfg; map keys triggered by user to player idx and their keys
ts: Sat Mar 25 09:12:43 MDT 2023
- todo: v01cfg includes messages to send per client and exposes tcp server for it
ts: Sat Mar 25 10:09:06 MDT 2023
- todo: v01cfg includes messages to send per client and exposes http server for it
ts: Sat Mar 25 11:28:29 MDT 2023
- todo: send clients messages to display
ts: Sat Mar 25 11:28:29 MDT 2023
- todo: input.MayhemParty as a logical wrapper from mod10 but then gotta translate
back to char for keyboard things somewhere; space delimited?
ts: Sat Mar 25 11:28:40 MDT 2023
- todo: rusty configs have "name" for each client
details: |
'if name == server_broadcasted_name { debug_print_in_gui(server_broadcasted_message) }'
ts: Sat Mar 25 11:28:40 MDT 2023
- todo: rotation triggers
subtasks:
- minigame end
- random word from cur wikipedia page
- each person has their own hotword
- only spectators have hotwords and must get a player to speak it
- tribunal to vote who said it
ts: Sat Mar 25 11:29:52 MDT 2023
- todo: we have 7 players oooooof
ts: Sat Mar 25 11:29:52 MDT 2023
- todo: endpoint for v01 to start read-only mode so when hotword spoken, players are
dcd without losing players
ts: Sat Mar 25 23:16:47 MDT 2023
- todo: tts for when someone said the word via larynx docker + http.get + https://pkg.go.dev/github.com/faiface/beep@v1.1.0/wav
ts: Sun Mar 26 09:57:02 MDT 2023
- todo: endpoint for v01 to start read-only mode so when hotword spoken, players are
dcd without losing players; press a hotkey that is bound to dolphin emulator pause
ts: Sun Mar 26 14:28:46 MDT 2023
- todo: game master to coordinate config change
ts: Mon Mar 27 11:01:10 MDT 2023
- todo: rotation triggers
subtasks:
- todo: stdin
subtasks:
- minigame end
- todo: voice recognition of hotwords to vote who dun it
subtasks:
- random word from cur wikipedia page
- each person has their own hotword
- only spectators have hotwords and must get a player to speak it
- tribunal to vote who said it
ts: Mon Mar 27 11:04:56 MDT 2023
- todo: clients can send STT via box
ts: Mon Mar 27 17:55:41 MDT 2023
- todo: -venue needs to update for new env variables for GUI
ts: Mon Mar 27 21:43:40 MDT 2023
- todo: -venue needs to udpate hits hotword path for new Users.[].State.GM.Alias
ts: Mon Mar 27 21:43:40 MDT 2023
- todo: clients can vote
ts: Mon Mar 27 21:43:40 MDT 2023
- todo: rotation triggers
subtasks:
- ui for election start, election votes, election end stuff
- todo: stdin
subtasks:
- minigame end
- todo: voice recognition of hotwords to vote who dun it
subtasks:
- random word from cur wikipedia page
- each person has their own hotword
- only spectators have hotwords and must get a player to speak it
- tribunal to vote who said it
ts: Mon Mar 27 21:43:40 MDT 2023
- todo: https via home.blapointe and rproxy
ts: Mon Mar 27 21:43:53 MDT 2023
- todo: single docker image to run all
ts: Tue Mar 28 20:34:03 MDT 2023
- todo: how to get audio from inside docker into discord?
ts: Wed Mar 29 19:57:18 MDT 2023
- todo: how to get audio from game into discord?
ts: Wed Mar 29 19:57:18 MDT 2023
- todo: stt in vm is nono hmmm
details: |
vm
dolphin
discord
tts
baremetal
discord+mic | MODEL=tiny.en stt
*
ts: Wed Mar 29 21:41:25 MDT 2023
- todo: stt in vm is nono hmmm
details: |
https://github.com/ggerganov/whisper.cpp
:sparkles: go bindings too
vm
dolphin
discord
tts
baremetal
discord+mic | MODEL=tiny.en stt
*
ts: Fri Mar 31 11:05:29 MDT 2023
- todo: challenge; what runs where?
details: |
native: stt, discord, dolphin
dolphin needs native
discord needs to be where dolphin is
stt needs to be with discord
ts: Fri Mar 31 16:46:09 MDT 2023
- todo: challenge; what runs where?
details: |
native: stt, discord, dolphin, mayhem-party
dolphin needs native
discord needs to be where dolphin is
stt needs to be with discord
mayhem-party must be with dolphin
vm: tts
ok so VM/docker are dead to me that is good to know
ts: Fri Mar 31 16:46:49 MDT 2023
- todo: can i send VM discord output to a pipe for stt?
ts: Fri Mar 31 16:47:21 MDT 2023
- todo: all must run native, so manual setup learning time
ts: Fri Mar 31 22:45:58 MDT 2023
- todo: stt to rust-whisper and new-age hotwords.py
ts: Fri Mar 31 22:45:58 MDT 2023
- todo: audio pipes; can i send discord output to a pipe for stt?
ts: Sat Apr 1 11:20:27 MDT 2023
- todo: public gui script
ts: Sun Apr 2 11:50:42 MDT 2023
- todo: trigger a vote
ts: Sun Apr 2 11:50:42 MDT 2023
- todo: display vote progress
ts: Sun Apr 2 11:50:42 MDT 2023
- todo: audio dolhpin+tts, video dolphin to OBS to discord share
ts: Sun Apr 2 12:36:51 MDT 2023
- todo: server gui script
ts: Sun Apr 2 12:36:51 MDT 2023
- todo: trigger an election
ts: Sun Apr 2 12:36:51 MDT 2023
- todo: trigger a shuffle for init
ts: Sun Apr 2 12:36:51 MDT 2023
- todo: assign aliases
ts: Sun Apr 2 12:36:51 MDT 2023
- todo: rotation triggers
subtasks:
- ui for election start, election votes, election end stuff
- todo: stdin
subtasks:
- minigame end
- todo: voice recognition of hotwords to vote who dun it
subtasks:
- random word from cur wikipedia page
- only spectators have hotwords and must get a player to speak it
- tribunal to vote who said it
ts: Sun Apr 2 12:36:51 MDT 2023