readme: add microphone note
initial commit
Hiccup is noise-based voice control for realtime computer interaction, such as playing games. It's focused on Linux.
There are videos here.
This is before the first release and there's definitely room for improvement. I tried it with a different microphone and it was very poor. I use a Blue Yeti with the gain dial at the minimum. I'm not sure why it takes a couple to start up with arecord (buffering?).
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