14 Commits

Author SHA1 Message Date
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
8 changed files with 140 additions and 70 deletions

View File

@@ -4,8 +4,9 @@ export MAIN_INTERVAL_DURATION=5ms
export RAW_UDP=17070 export RAW_UDP=17070
export PARSE_V01=true 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 WRAP_REFRESH_ON_SIGUSR1=true
export OUTPUT_KEYBOARD=false export OUTPUT_KEYBOARD=${OUTPUT_KEYBOARD:-false}

View File

@@ -0,0 +1,42 @@
feedback:
addr: :17071
ttsurl: http://localhost:15002
users:
bel:
meta:
lasttsms: 1680371007738
lastlag: 0
state:
player: 1
message: ""
gm:
alias: ""
lastalias: ""
vote: ""
zach:
meta:
lasttsms: 1679978514018
lastlag: 0
state:
player: 0
message: ""
gm:
alias: ""
lastalias: ""
vote: ""
players:
- transformation:
"1": "6" # a
"2": "7" # b
"3": "8" # x
"4": "9" # y
"5": "0" # start
a: f # stickLeft
d: h # stickRight
e: "y" # r
q: r # l
s: g # stickDown
w: t # stickUp
quiet: false
broadcast:
message: ""

View File

@@ -4,22 +4,11 @@ feedback:
users: users:
bel: bel:
meta: meta:
lasttsms: 1680369532165 lasttsms: 1680371007738
lastlag: 1
state:
player: 2
message: ""
gm:
alias: ""
lastalias: ""
vote: ""
broadcast:
meta:
lasttsms: 0
lastlag: 0 lastlag: 0
state: state:
player: 0 player: 1
message: "hola" message: ""
gm: gm:
alias: "" alias: ""
lastalias: "" lastalias: ""
@@ -36,16 +25,18 @@ users:
lastalias: "" lastalias: ""
vote: "" vote: ""
players: players:
- transformation: {}
- transformation: - transformation:
"1": "5" "1": "6" # a
"2": "6" "2": "7" # b
"3": "7" "3": "8" # x
"4": "8" "4": "9" # y
a: f "5": "0" # start
d: h a: f # stickLeft
e: "y" d: h # stickRight
q: r e: "y" # r
s: g q: r # l
w: t s: g # stickDown
quiet: true w: t # stickUp
quiet: false
broadcast:
message: ""

View File

@@ -36,11 +36,22 @@ log() {
} }
_discord() { _discord() {
read -p "pls start 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() { _dolphin() {
echo
read -p "pls start dolphin" read -p "pls start dolphin"
echo
} }
_mayhem_party() { _mayhem_party() {
@@ -81,31 +92,39 @@ _stt() {
| awk "{print \$NF}" \ | awk "{print \$NF}" \
| head -n 1 | head -n 1
) )
( if ! test -f /etc/asound.conf || ! grep "$device" /etc/asound.conf; then
echo "pcm.pulse_monitor {" (
echo " type pulse" echo "pcm.pulse_monitor {"
echo " device $device" echo " type pulse"
echo "}" echo " device $device"
echo "ctl.pulse_monitor {" echo "}"
echo " type pulse" echo "ctl.pulse_monitor {"
echo " device $device" echo " type pulse"
echo "}" echo " device $device"
) | sudo tee /etc/asound.conf echo "}"
) | sudo tee /etc/asound.conf
for i in $(pactl list short modules | grep secret | cut -f1); do
pactl unload-module $i
done
name='my_secret_sink'
if ! pactl list | grep -q $name; then
pactl load-module module-null-sink sink_name=$name channels=1
pactl load-module module-remap-source master=$name.monitor source_name=shared-$name source_properties="device.description=shared-$name" #channels=1
mic_name="$(pactl list | grep -A 100 Name:.$name.monitor | grep device.description.=. | head -n 1 | sed 's/.* = //' | tr -d '"') Monitor"
fi fi
read -p "pavucontrol to change input to $mic_name, ok? " 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 log launching stt
( (
export HOTWORDS=../../config.d/mayhem-party.d/v01.yaml@.users[].state.gm.alias export HOTWORDS=../../config.d/mayhem-party.d/v01-live.yaml@.users[].state.gm.alias
export MIC_TIMEOUT=2 export MIC_TIMEOUT=2
export URL=http://localhost:17071/gm/rpc/broadcastSomeoneSaidAlias?message={{hotword}} export URL=http://localhost:17071/gm/rpc/broadcastSomeoneSaidAlias?message={{hotword}}
export HEADERS=say="Eye herd {{hotword}}" export HEADERS=say="Eye herd {{hotword}}"

View File

@@ -1,22 +1,9 @@
todo: todo:
- audio pipes; can i send discord output to a pipe for stt? - instructions how to spin up with pulseaudio GUI
- trigger a vote - rpc fill aliases UI
- trigger an election - rpc elect UI
- trigger a shuffle for init - display election results
- assign aliases
- display vote progress
- trigger dolphin pause via query param mapping to a button that is a pause hotkey - trigger dolphin pause via query param mapping to a button that is a pause hotkey
- 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
scheduled: [] scheduled: []
done: done:
- todo: sticky keyboard input mode for enable/disable explicitly - todo: sticky keyboard input mode for enable/disable explicitly
@@ -174,3 +161,33 @@ done:
ts: Fri Mar 31 22:45:58 MDT 2023 ts: Fri Mar 31 22:45:58 MDT 2023
- todo: stt to rust-whisper and new-age hotwords.py - todo: stt to rust-whisper and new-age hotwords.py
ts: Fri Mar 31 22:45:58 MDT 2023 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