yaml good
parent
e270249eaf
commit
6fdb4356e7
|
|
@ -17,21 +17,25 @@ if ! docker images | grep snowboy-pmdl.*latest &> /dev/null; then
|
||||||
popd
|
popd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export HOTWORD="${HOTWORD:-default_hotword}"
|
export HOTWORD="${HOTWORD:-${TRAIN:-default_hotword}}"
|
||||||
|
|
||||||
if [ -n "$TRAIN" ] || [ ! -d ./model ] || [ ! -f ./model/$HOTWORD.pmdl ]; then
|
if [ -n "$TRAIN" ] || [ ! -d ./model ] || [ ! -f ./model/$HOTWORD.pmdl ]; then
|
||||||
mkdir -p model
|
mkdir -p model
|
||||||
pushd model
|
pushd model
|
||||||
|
rm -f ./record{1,2,3}.wav || true
|
||||||
echo "record 3 instances of '$HOTWORD'" >&2
|
echo "record 3 instances of '$HOTWORD'" >&2
|
||||||
for i in 1 2 3; do
|
for i in 1 2 3; do
|
||||||
read -p "ready? ctrl-c when done"
|
read -p "[$i/3] ready? you get 3 seconds."
|
||||||
rec \
|
(
|
||||||
|
timeout 3 rec \
|
||||||
-r 16000 \
|
-r 16000 \
|
||||||
-c 1 \
|
-c 1 \
|
||||||
-b 16 \
|
-b 16 \
|
||||||
-e signed-integer \
|
-e signed-integer \
|
||||||
-t wav \
|
-t wav \
|
||||||
record$i.wav
|
record$i.wav
|
||||||
|
) || true
|
||||||
|
ls record$i.wav
|
||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
|
@ -41,6 +45,9 @@ if [ -n "$TRAIN" ] || [ ! -d ./model ] || [ ! -f ./model/$HOTWORD.pmdl ]; then
|
||||||
-v "$(realpath ./model)":/snowboy-master/examples/Python/model \
|
-v "$(realpath ./model)":/snowboy-master/examples/Python/model \
|
||||||
snowboy-pmdl:latest
|
snowboy-pmdl:latest
|
||||||
mv ./model/hotword.pmdl ./model/$HOTWORD.pmdl
|
mv ./model/hotword.pmdl ./model/$HOTWORD.pmdl
|
||||||
|
if [ -n "$TRAIN" ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if false; then
|
if false; then
|
||||||
|
|
@ -71,7 +78,11 @@ else
|
||||||
hotword="$(realpath ./model/$HOTWORD.pmdl)"
|
hotword="$(realpath ./model/$HOTWORD.pmdl)"
|
||||||
GOPROXY= go build -o snowboy
|
GOPROXY= go build -o snowboy
|
||||||
if [ -z "$PUSH" ]; then
|
if [ -z "$PUSH" ]; then
|
||||||
./snowboy -m "$hotword" -r "$resources" -s 0.5 "$@"
|
./snowboy \
|
||||||
|
-ms "$hotword/$HOTWORD" \
|
||||||
|
-r "$resources" \
|
||||||
|
-s 0.5 \
|
||||||
|
"$@"
|
||||||
else
|
else
|
||||||
echo '
|
echo '
|
||||||
FROM registry-app.eng.qops.net:5001/imported/alpine:3.16
|
FROM registry-app.eng.qops.net:5001/imported/alpine:3.16
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,8 @@ func main() {
|
||||||
defer d.Close()
|
defer d.Close()
|
||||||
|
|
||||||
// set the handlers
|
// 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) {
|
d.HandleFunc(snowboy.NewHotword(path.Dir(modelStr), float32(*sensitivity)), func(string) {
|
||||||
if !*quiet {
|
if !*quiet {
|
||||||
log.Println(path.Base(modelStr))
|
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.
|
|
@ -1,17 +1,18 @@
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
cleanup() {
|
||||||
|
killall -9 $(jobs -p)
|
||||||
|
killall snowboy
|
||||||
|
}
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
if [ ! -e /tmp/stt.fifo ]; then
|
if [ ! -e /tmp/stt.fifo ]; then
|
||||||
mkfifo /tmp/stt.fifo
|
mkfifo /tmp/stt.fifo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cleanup() {
|
|
||||||
killall -9 $(jobs -p)
|
|
||||||
}
|
|
||||||
trap cleanup EXIT
|
|
||||||
|
|
||||||
echo starting in
|
echo starting in
|
||||||
for ((i=3; i>0; i--)); do
|
for ((i=2; i>0; i--)); do
|
||||||
echo "...$i..."
|
echo "...$i..."
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
|
@ -26,7 +27,7 @@ main() {
|
||||||
))
|
))
|
||||||
echo models=$models
|
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 '
|
python3 -c '
|
||||||
import pyautogui
|
import pyautogui
|
||||||
|
|
@ -34,25 +35,31 @@ import time
|
||||||
|
|
||||||
keys = set()
|
keys = set()
|
||||||
|
|
||||||
def press(key):
|
def toggle(key):
|
||||||
hold(key)
|
global keys
|
||||||
time.sleep(0.25)
|
if key in keys:
|
||||||
release(key)
|
release(key)
|
||||||
|
else:
|
||||||
|
hold(key)
|
||||||
|
|
||||||
def hold(key):
|
def hold(key):
|
||||||
global keys
|
global keys
|
||||||
|
for keyin in [todrop for todrop in keys]:
|
||||||
|
if keyin != key:
|
||||||
|
release(keyin)
|
||||||
|
keys = set()
|
||||||
keys.add(key)
|
keys.add(key)
|
||||||
|
print()
|
||||||
|
print("pressing", key)
|
||||||
|
print()
|
||||||
pyautogui.keyDown(key)
|
pyautogui.keyDown(key)
|
||||||
|
|
||||||
def release(key):
|
def release(key):
|
||||||
|
print()
|
||||||
|
print("releasing", key)
|
||||||
|
print()
|
||||||
pyautogui.keyUp(key)
|
pyautogui.keyUp(key)
|
||||||
|
|
||||||
def release_all():
|
|
||||||
global keys
|
|
||||||
for key in keys:
|
|
||||||
release(key)
|
|
||||||
keys = set()
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
with open("/tmp/stt.fifo", "r") as q:
|
with open("/tmp/stt.fifo", "r") as q:
|
||||||
for line in q:
|
for line in q:
|
||||||
|
|
@ -64,7 +71,7 @@ print(mapping)
|
||||||
|
|
||||||
def handle(cmd):
|
def handle(cmd):
|
||||||
global mapping
|
global mapping
|
||||||
press(mapping.get(cmd))
|
hold(mapping.get(cmd))
|
||||||
|
|
||||||
main()
|
main()
|
||||||
'
|
'
|
||||||
|
|
|
||||||
|
|
@ -1 +1,5 @@
|
||||||
up: w
|
up: w
|
||||||
|
down: s
|
||||||
|
left: a
|
||||||
|
right: d
|
||||||
|
jump: w
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue