Estou tentando criar um script para usar o Whisper da OpenAI como fala para texto. A ideia básica é eu pressionar alguma combinação de teclas, ele começa a gravar em um arquivo de áudio em algum lugar, eu paro, ele analisa o áudio e pega o texto dele, e então ele cola todo esse texto diretamente no meu cursor em qualquer programa que eu esteja usando. É esta última parte que não sei como fazer - posso enviá-la para a área de transferência, mas ainda são necessárias algumas teclas extras para colar e quero que seja o mais suave possível. Existe uma maneira de fazer o que eu quero?
EDIT: aqui está o script completo, que você pode modificar conforme necessário.
#!/bin/bash
gunchislas() (
echo $BASHPID > [scripts path]/pid.txt
arecord -f cd -D "default" --file-type raw | lame -r - "[scripts path]/.stt.mp3"
)
waiting() {
zenity --info --text="Taking speech to text input now."
}
gunchislas & waiting & wait -n
pkill -P $(cat [scripts path]/pid.txt) --signal 9
aplay "[scripts path]/clock.wav"
whisper "[scripts path]/.stt.mp3" --language en --model tiny | cut -c 28- | awk NF=NF RS= OFS=" " | xclip
rm "[scripts path]/.stt.mp3"
rm "[scripts path]/pid.txt"
aplay "[scripts path]/recorded.wav" & xdotool type "$(xclip -o)"
clock.wav e gravado.wav são apenas pequenos sons de notificação que fiz para que você possa saber o que está fazendo