oof
parent
fcfc2be0b8
commit
661a8c85f0
|
|
@ -0,0 +1,132 @@
|
|||
# /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
|
||||
_stt
|
||||
_mayhem_party
|
||||
_discord
|
||||
_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
|
||||
pkill -f server-vm
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
log() {
|
||||
echo "$(date) > $*" >&2
|
||||
}
|
||||
|
||||
_discord() {
|
||||
read -p "pls start discord"
|
||||
}
|
||||
|
||||
_dolphin() {
|
||||
read -p "pls start dolphin"
|
||||
}
|
||||
|
||||
_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
|
||||
while true; do
|
||||
./git.d/mayhem-party.d/mayhem-party
|
||||
sleep 5
|
||||
done
|
||||
) &> /tmp/mayhem-party.mayhem-party.log &
|
||||
}
|
||||
|
||||
_tts() {
|
||||
log tts
|
||||
(
|
||||
cd ./git.d/tts.d/larynx.d/
|
||||
bash ./run.sh
|
||||
) &> /tmp/mayhem-party.mayhem-party.log &
|
||||
}
|
||||
|
||||
_stt() {
|
||||
log stt
|
||||
pushd ./git.d/stt.d/rust-whisper.d/
|
||||
pip3 install ./requirements.txt
|
||||
popd
|
||||
return 1
|
||||
if ! python3 -m pip show PyAudio; then
|
||||
sudo apt -y install \
|
||||
portaudio19-dev \
|
||||
python3-pyaudio \
|
||||
python3-pip \
|
||||
git \
|
||||
pulseaudio
|
||||
sudo python3 -m pip install --no-cache-dir \
|
||||
git+https://github.com/openai/whisper.git \
|
||||
soundfile \
|
||||
PyAudio \
|
||||
SpeechRecognition \
|
||||
PyYAML
|
||||
fi
|
||||
log launching stt
|
||||
(
|
||||
export HOME="$PWD/mnt.d/stt.d"
|
||||
mkdir -p "$HOME"
|
||||
cd "$HOME"
|
||||
local device=$(
|
||||
pactl list \
|
||||
| grep Monitor.Source \
|
||||
| grep -v hdmi \
|
||||
| awk "{print \$NF}" \
|
||||
| head -n 1
|
||||
)
|
||||
(
|
||||
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
|
||||
cd ../../git.d/stt.d/whisper-2023
|
||||
export HOTWORDS=../../config.d/mayhem-party.d/v01.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=pulse_monitor
|
||||
export MODEL=tiny.en
|
||||
export DEBUG=true
|
||||
while true; do
|
||||
python3 ./hotwords.py
|
||||
sleep 5
|
||||
done
|
||||
) &> /tmp/mayhem-party.stt.log &
|
||||
}
|
||||
|
||||
_snap() {
|
||||
if ! which snap; then
|
||||
sudo apt -y install snap
|
||||
fi
|
||||
snap "$@"
|
||||
}
|
||||
|
||||
if [ "$0" == "$BASH_SOURCE" ]; then
|
||||
main "$@"
|
||||
fi
|
||||
|
||||
Loading…
Reference in New Issue