readme: add end of development notice
readme: add microphone note
initial commit
Notice: I took what I learnt from Hiccup to bring noise control to Numen. I don't plan to work on Hiccup further.
Hiccup is noise-based voice control for realtime computer interaction, such as playing games. It's focused on Linux.
There are videos here.
As it is, your mileage may vary greatly depending on your setup. I use a Blue Yeti with the gain dial at the minimum.
The aubio library is used for the audio analysis, and the dotool command is used to simulate input.
Run:
sudo ./install.sh
dotool
requires permission to /dev/uinput
to create the virtual input
devices, and a udev rule grants this to users in group input.
You could try:
echo type hello | dotool
and if need be, you can run:
sudo groupadd -f input
sudo usermod -a -G input $USER
and re-login and trigger the udev rule or just reboot.
The thresholds need to be about right for your setup, so first check:
arecord -q -D sysdefault:CARD=Microphone -f S16_LE -c 1 -r 16000 | hiccup --calibrate
The hiccup
program simply takes in audio and prints the names of a few
sounds while they're made. You could try running this, and going "ssshhhh
oooo aaaah" into your microphone:
arecord -q -D sysdefault:CARD=Microphone -f S16_LE -c 1 -r 16000 | hiccup
Hiccup then comes with a set of shell functions for scripting the sounds to actions, or you can roll your own thing. There are scripts for a couple games in the examples/ directory.
Hiccup is developed alongside Numen and you're welcome to join our Matrix chat at #numen:matrix.org.
You can also send questions, thoughts or patches by composing an email to ~geb/public-inbox@lists.sr.ht.
AGPLv3 only, see LICENSE.
Copyright (c) 2023 John Gebbie