11 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
8 changed files with 132 additions and 53 deletions

View File

@@ -4,8 +4,9 @@ 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}

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

@@ -26,16 +26,17 @@ users:
vote: ""
players:
- transformation:
"1": "5"
"2": "6"
"3": "7"
"4": "8"
a: f
d: h
e: "y"
q: r
s: g
w: t
"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

@@ -36,11 +36,22 @@ log() {
}
_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() {
echo
read -p "pls start dolphin"
echo
}
_mayhem_party() {
@@ -81,6 +92,7 @@ _stt() {
| 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"
@@ -91,21 +103,28 @@ _stt() {
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
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
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
read -p "pavucontrol to change input to $mic_name, ok? "
echo
read -p "pavucontrol to change input to $name, ok? "
echo
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 URL=http://localhost:17071/gm/rpc/broadcastSomeoneSaidAlias?message={{hotword}}
export HEADERS=say="Eye herd {{hotword}}"

View File

@@ -1,21 +1,9 @@
todo:
- trigger a vote
- trigger an election
- trigger a shuffle for init
- assign aliases
- display vote progress
- 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
- 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: []
done:
- todo: sticky keyboard input mode for enable/disable explicitly
@@ -175,3 +163,31 @@ done:
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