yaml good

master
Bel LaPointe 2022-11-14 12:51:33 -07:00
parent e270249eaf
commit 6fdb4356e7
10 changed files with 52 additions and 29 deletions

View File

@ -17,21 +17,25 @@ if ! docker images | grep snowboy-pmdl.*latest &> /dev/null; then
popd
fi
export HOTWORD="${HOTWORD:-default_hotword}"
export HOTWORD="${HOTWORD:-${TRAIN:-default_hotword}}"
if [ -n "$TRAIN" ] || [ ! -d ./model ] || [ ! -f ./model/$HOTWORD.pmdl ]; then
mkdir -p model
pushd model
rm -f ./record{1,2,3}.wav || true
echo "record 3 instances of '$HOTWORD'" >&2
for i in 1 2 3; do
read -p "ready? ctrl-c when done"
rec \
read -p "[$i/3] ready? you get 3 seconds."
(
timeout 3 rec \
-r 16000 \
-c 1 \
-b 16 \
-e signed-integer \
-t wav \
record$i.wav
) || true
ls record$i.wav
done
popd
@ -41,6 +45,9 @@ if [ -n "$TRAIN" ] || [ ! -d ./model ] || [ ! -f ./model/$HOTWORD.pmdl ]; then
-v "$(realpath ./model)":/snowboy-master/examples/Python/model \
snowboy-pmdl:latest
mv ./model/hotword.pmdl ./model/$HOTWORD.pmdl
if [ -n "$TRAIN" ]; then
exit 0
fi
fi
if false; then
@ -71,7 +78,11 @@ else
hotword="$(realpath ./model/$HOTWORD.pmdl)"
GOPROXY= go build -o snowboy
if [ -z "$PUSH" ]; then
./snowboy -m "$hotword" -r "$resources" -s 0.5 "$@"
./snowboy \
-ms "$hotword/$HOTWORD" \
-r "$resources" \
-s 0.5 \
"$@"
else
echo '
FROM registry-app.eng.qops.net:5001/imported/alpine:3.16

View File

@ -97,7 +97,8 @@ func main() {
defer d.Close()
// set the handlers
for _, modelStr := range strings.Split(*models, ",") {
for _, modelStrC := range strings.Split(*models, ",") {
modelStr := modelStrC
d.HandleFunc(snowboy.NewHotword(path.Dir(modelStr), float32(*sensitivity)), func(string) {
if !*quiet {
log.Println(path.Base(modelStr))

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,17 +1,18 @@
#! /bin/bash
main() {
cleanup() {
killall -9 $(jobs -p)
killall snowboy
}
trap cleanup EXIT
if [ ! -e /tmp/stt.fifo ]; then
mkfifo /tmp/stt.fifo
fi
cleanup() {
killall -9 $(jobs -p)
}
trap cleanup EXIT
echo starting in
for ((i=3; i>0; i--)); do
for ((i=2; i>0; i--)); do
echo "...$i..."
sleep 1
done
@ -26,7 +27,7 @@ main() {
))
echo models=$models
./snowboy -s .5 -r resources.res -ms $models "$@" > /tmp/stt.fifo &
./snowboy -r resources.res -ms $models "$@" > /tmp/stt.fifo &
python3 -c '
import pyautogui
@ -34,25 +35,31 @@ import time
keys = set()
def press(key):
hold(key)
time.sleep(0.25)
def toggle(key):
global keys
if key in keys:
release(key)
else:
hold(key)
def hold(key):
global keys
for keyin in [todrop for todrop in keys]:
if keyin != key:
release(keyin)
keys = set()
keys.add(key)
print()
print("pressing", key)
print()
pyautogui.keyDown(key)
def release(key):
print()
print("releasing", key)
print()
pyautogui.keyUp(key)
def release_all():
global keys
for key in keys:
release(key)
keys = set()
def main():
with open("/tmp/stt.fifo", "r") as q:
for line in q:
@ -64,7 +71,7 @@ print(mapping)
def handle(cmd):
global mapping
press(mapping.get(cmd))
hold(mapping.get(cmd))
main()
'

View File

@ -1 +1,5 @@
up: w
down: s
left: a
right: d
jump: w