Hi,
Welcome to the list. I'll start with a couple of questions which might help
provide more accurate information when you have more questions.
- Have you used Emacs before? Emacs is a bit different to most editors and can
be a little daunting at first. Understanding what level of familiarity you
have with the editor can help with deciding what level of detail/information
you need. - Are you running under a GUI (i.e. X or Wayland) or just running inside a
Linux console. If a GUI, which window manager or desktop environment? - Are you using any other assistive technology, like Orca, speakup, etc?
I"ll start by saying I have no experience with pipeWire, so what follows has a
lot of guesswork and assumptions in it.
The only part of Emacspeak which needs to know anything about the underlying
audio infrastructure is the text-to-speech synthesizer and playing of auditory
icons via some 'generic' play program, like sox or pulseAudio paplay or Alsa aplay
programs. For the TTS synthesizer, if you can get espeak/espeak-ng to work, your
80% there. If you have some program on your system which can play *.wav files,
then your 90% there - the rest will just be a little configuration tweaking.
Of course, how well it works with pipeWire is another question. A lot will
depend on the latency of the system. Early pulseAudio versions had some problems
in this area, but I've been using it with Emacspeak now for years without any
problems at all. As pipeWire is still fairly immature, you are likely to run
into similar issues initially.
Emacspeak relies on external programs for speech and playing of auditory icons.
It doesn't really need to know about the underlying sound infrastructure.
Provided you can get these external programs working, you have a good chance you
will be able to get Emacspeak working. However, you may need to do some
additional configuration - especially for auditory icons, in the sense of
tweaking the variables in Emacspeak which control what programs and arguments
are used to play the icons.
Here is what I would do -
- Verify you can use espeak from the command line. This is critical. If you cannot get espeak to work from a CLI, you are sunk.
- If espeak works from the command line, you next need to verify you can build
the espeak TCL interface library in servers/native-espeak by switching into
that directory and running make. This assumes you have all the necessary
dependencies installed. The default setup of the Makefile is configured to
work well under Debian/Ubuntu and may need a little tweaking for Arch. The
main problem people run into here is not having the necessary build
dependencies installed or in the paths searched when compiling - this
includes the espeak dev libraries and the Tcl dev libraries. - If you are able to successfully build the espeak server, you then need to
verify it is working by changing into the servers directory and running./espeak
. You should here the server speak, saying that it is running and
be left at a Tcl prompt where you can enter some commands to queue some text
to speak and then speak it. You can queue some text for speaking by doingq {Hello world} [enter]
and thend [enter]
and you should here the speech
"Hello world".
If you get to this point, you have a mostly working Eaacspeak setup. The
next thing you will need to do is set various variables to play auditory icons.
Personally, I just use the sox program to do this. However, both alsa and pulse
audio have CLI programs to play basic *.wav files. I expect pipeWire probably
has something equivalent - you will just need to configure Emacspeak to use it.
Note that Emacspeak works fine without auditory icons - they are an optional
enhancement which provide some valuable feedback, but are not essential.
Good luck!
Regards,
Tim
–
Tim Cross
For gor sake stop laughing, this is serious!