我正在尝试编写一个脚本,将 OpenAI 的 Whisper 用作语音转文本。基本思路是,我按下某个组合键,它开始录制到某个音频文件,我停止它,它分析音频并从中获取文本,然后将所有这些文本直接粘贴到我所使用的任何程序中的光标上。我不知道最后一部分该怎么做 - 我可以将其输出到剪贴板,但仍然需要额外按下几个键才能粘贴,我希望它尽可能流畅。有办法做我想做的事吗?
编辑:这是完整的脚本,您可以根据需要进行修改。
#!/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 和 record.wav 只是我制作的小通知声音,这样你就可以知道它在做什么