blurt icon indicating copy to clipboard operation
blurt copied to clipboard

wsi script not found

Open jaques-sam opened this issue 7 months ago • 4 comments

Hello, thank you for this cool project!

I'm on Gnome 48 (fedora 41)

Not sure what I'm doing wrong, is there a place I can see the logs (can't find any topic on logs). It tells me it cannot find the script, or it might not be executable but it's in the right location and it's executable!: Image

Image

Image

jaques-sam avatar May 12 '25 10:05 jaques-sam

Okay, it was clear from the description in the usage information it has to be in the directory relative to $HOME. I don't see why this extra info should be provide. Just change "Path to 'wsi' Directory" to "Relative directory from $HOME where 'wsi' exists" or something like this.

And something unrelated, my symbol B in the menu bar stays yellow after clicking. Is that normal, or is there another ticket linked to this issue?

jaques-sam avatar May 12 '25 11:05 jaques-sam

Hi, @jaques-sam ,

Good point. Will update the GUI to make it more clear, or automate this somehow.

About the symbol B staying yellow, are you saying that it stays yellow after clicking 2nd time, to stop recording? If this is the case, that means that the script likely does not exit as expected, since the color state change is in the callback, which normally works fine as tested. Normal behavior is turn yellow on start of recording and turn back white on stop of recording, on a subsequent 2nd click.

To understand the issue, please, run the wsi or wsi -n (if using a whisper.cpp server) from the command line (in a zsh interactive session) and observe the standard/error output for any messages or issues. Alternatively, please, check the logs from the desktop, using the GNOME Logs app.

QuantiusBenignus avatar May 17 '25 14:05 QuantiusBenignus

Thanks for your reply!

  • Yes, it stays yellow after second click.
  • wsi does not give any output, stops ~5s after talking. Or I am missing something, "zsh interactive session" is simply executing it with its full path /home/sam/.local/bin/wsi
  • CTRL+V is empty. It seemed to only work the first time :-(
  • These are my settings:
echo $wm
echo $TEMPD
echo $model
echo $WHISPERFILE
echo $ramf
echo $NTHR
echo $CLIPBOARD
wayland
/dev/shm
/dev/shm/ggml-base.en.bin
whisper-large-v3.llamafile
/dev/shm/wfile-sam
11
true
  • nothing to see from wsi or whisper in the GNOME Logs

jaques-sam avatar May 18 '25 13:05 jaques-sam

Interesting. The next step is to figure out what is different in your system from the rest. Do not worry, we will get to it. Definition: zsh interactive session - in the terminal, you are at the command line and echo $ZSH_VERSION gives you non-empty output, i.e. you are under zsh and not bash. (Although bash should work too). If in bash, run zsh from the command line to switch to zsh before running wsi. In the case of wsi, in the context of this issue it should not matter, but there are more complex scripts, where the shell features determine code branching.

First, can you tell me if the keyboard binding for stopping recording works, i.e. do not click 2nd time on the B symbol but use the keyboard shortcut instead to stop the recording and see if you get transcribed text.

Second. Check the contents of /dev/shm/wfile-sam by playing it from the command line or otherwise: play /dev/shm/wfile-sam to see what was recorded.

Third. Put a debugging print statement in the if branch that handles the wisperfile (your) case: On line 123 of the wsi script, just after str="$($WHISPERFILE -t $NTHR -nt -f $ramf 2>/dev/null)" add the following print "Debug:$str" to see if the whisper file worked. In the same line of thought, remove the error output redirection in the previous statement: 2>/dev/null so that when you call wsi from the command line, you see the printed value of str and any possible error from the whisperfile.

This will likely reveal if the issue is in the transcription, clipboard loading or the GNOME shell logic.

BTW, you are using the model built into the whisperfile, so $model does not matter here. If you want to override the whisperfile's behavior, to use the base model, you need to pass -m $model: str="$($WHISPERFILE -t $NTHR -nt -f $ramf -m $model 2>/dev/null)"

QuantiusBenignus avatar May 18 '25 15:05 QuantiusBenignus