master
Bel LaPointe 2022-11-14 11:32:24 -07:00
parent 0027ce8fa9
commit e270249eaf
3 changed files with 77 additions and 1 deletions

View File

@ -100,7 +100,7 @@ func main() {
for _, modelStr := range strings.Split(*models, ",") { for _, modelStr := range strings.Split(*models, ",") {
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("GOTCHA!") log.Println(path.Base(modelStr))
} }
fmt.Println(path.Base(modelStr)) fmt.Println(path.Base(modelStr))
}) })

75
snowboy-2022/pyautogui.sh Normal file
View File

@ -0,0 +1,75 @@
#! /bin/bash
main() {
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
echo "...$i..."
sleep 1
done
local models=($(
cat pyautogui.yaml \
| gojq -r -c --yaml-input '
to_entries[] | "model/"+.key+".pmdl/"+.key
' \
| tr '\n' ',' \
| sed 's/,$//'
))
echo models=$models
./snowboy -s .5 -r resources.res -ms $models "$@" > /tmp/stt.fifo &
python3 -c '
import pyautogui
import time
keys = set()
def press(key):
hold(key)
time.sleep(0.25)
release(key)
def hold(key):
global keys
keys.add(key)
pyautogui.keyDown(key)
def release(key):
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:
handle(line.strip())
import yaml
mapping = yaml.safe_load(open("./pyautogui.yaml", "r"))
print(mapping)
def handle(cmd):
global mapping
press(mapping.get(cmd))
main()
'
}
if [ "$0" == "$BASH_SOURCE" ]; then
main "$@"
fi

View File

@ -0,0 +1 @@
up: w