[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Search]

[Emacspeak] Re: Introducing myself and a request



Hi Francisco,

today I setup a virtual host running arcoLinux. I installed pipewire and found that for some reason, the espeak
server will not work with pipewire. I have no idea why it won't work - possibly espeak-ng needs to be built with
native pipewire support or perhaps some other translation layer needs to be installed. Problem is, I don't know enough
about pipewire to diagnose the issue.

At this point, I would say your out of luck with respect to using Emacspeak and pipewire.

In case it is of interest to others, here is what I found.

I was running espeak and pipewire fro the official arch repositories. I've not yet tried using the packages from community/aur, which may be later and which may work better. My suspicion is that espeak needs to be built with native pipewire support (previously, I found you could build espeak with specific support for pulse, port audio or alsa. Not sure if it yet has pipewire as another supported sound library.

Regards,

Tim


Tim Cross

For gor sake stop laughing, this is serious!

From: Cisco Tissera via Emacspeak
Subject: [Emacspeak] Re: Introducing myself and a request
To: Tim Cross
Cc: emacspeak@xxxxxxxxxxx
Date: Sat, 24 Jul 2021 21:36:14 +1000

Hello there,

Thanks again for the answer, I got a step further!
Now, when I start emacs, both from gui and terminal espeak speaks it's version, and what sounds like eloquence announces in my left ear, this is emacspeak!
However, when I try to navigate with arrows, tab, or anything else, nothing works. espeak doesn't talk, no sound icons can be heard either.
Any idea why?
Thanks again, and thanks for the tip about replying to all, I read it, and I forgot about it.
Best regards.
Francisco.

On Fri, Jul 23, 2021 at 8:28 AM Tim Cross <theophilusx@xxxxxxxxxxx> wrote:

Cisco Tissera <audiogamer2004@xxxxxxxxxxx> writes:

> Hello Tim and all,
>
> Thanks for the answer.
> I'll begin answering your questions one by one:
>
> 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.
>
> I haven't used Emacs before, no.
> I have heard that it is quite different from other editors around here, but that's one reason why I am so curious to try it out.
> I like how Emacs can be extended to include or exclude certain things.

OK. You will want to go through the Emacs tutorial at some point. As
emacs is an old editor, some of the terms used can be a little confusing
at first. This is partly due to the age of the editor and partly due to
certain terminology being hijacked and changed. For example, what other
systems call a window, emacs calls a frame and what emacs calls a window
is more similar to what other systems call a pane or tab or even buffer.
So a frame can have multiple windows and these windows will contain
buffers. You will also hear about key bindings (similar to shortcuts)
and many other unusual terms (like yank for copy). Thing is, persevere
and you will get there. You will find the key bindings (shortcuts) to be
a little strange, but avoid the temptation to change them initially.
There is actually a lot of logic and consistency in them once you get to
know them. One thing great is that you can do everything just using the
keyboard - much faster than using a mouse.


> 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?
>
> I am using a GUI, gnome 40.
>

OK. Emacs can run either in GUI mode (with its own frames (windows) or
it can run inside a terminal emulator. I prefer to use it as a GUI.


> Are you using any other assistive technology, like Orca, speakup, etc?
>
> Yes, I am using Orca built from the master branch from Github.
>

OK, you will probably want to run Emacs in GUI mode. If you run int in
gnome terminal, you may run into conflicts between Emacspeak and Orca.
If you run it in GUI mode, you can have both Emacspeak and Orca running
at the same time.

> I have both pipewire and sox installed, although I just installed it after reading your email.
> I am using espeak-ng in conjunction with speech-dispatcher right now, and I just tried making the espeak engine, but I cannot find the directory, for
> unknown reasons.
> Furthermore, I added this line to the .emacs file i created myself in my home directory
> (load-file "/home/francisco/.cache/yay/emacspeak/src/emacspeak-54.0/lisp/emacspeak-setup.el")
> Did I do something stupid?
> Thanks for any answer.
> best regards.
> Francisco.
>

Emacspeak is one of those few programs which are far better run directly
from the git repository. I would uninstall any Emacspeak package you
have installed with yay or pacman. Instead, do the following

Check out the Emacspeak git repository into a directory in your home
directory e.g.

git clone https://github.com/tvraman/emacspeak .


Then change into the native-espeak directory with

cd emacspeak/servers/native-espeak

and run make to build the espeak shared library used by Emacspeak. You
will need the tcl and espeak development files. I'm not sure what the
convention is under Arch, but under Debian/Ubuntu, these are usually
called something like libespeak-dev and tcl8.6-dev or similar. If the
make runs without errors, you then need to verify the server works by
changing into the servers directory and running the command ./espeak.
You should here the espak server speak the version and then be left at a
tcl promp e.g. a %. You can then enter

q {Hello World} <enter>
d <enter>

and you should here the server speak "hello world". If this all works,
then you need to change into the root of the emacspeak repository and
run the following commands

make clean
make config
make

This will configure and build the emacspeak sources.

Then delete the .emacs file you created and create a directory within
your home directory called .emacs.d e.g.

mkdir ~/.emacs.d

then use a text editor of choice and create a file within that directory
called init.el I use vi for little tasks like this. The vi editor is a
handy editor to be familiar with because you will always find it
installed on a Linux system. However, it has an unusual modal editing
mode which can be confusing at first. Any text editor will work. Some
people like nano e.g.

vi ~/.emacs.d/init.el

In that file, add the following lines

(add-to-list 'load-path (expand-file-name "~/emacspeak/lisp"))
(setenv "DTK_PROGRAM" "espeak")
(setenv "EMACSPEAK_DIR" (expand-file-name "~/emacspeak")
(load-file (expand-file-name "~/emacspeak/lisp/emacspeak-setup.el"))

Save the file and then you should hear Emacspeak speaking when you start
emacs. There is a lot more you can configure and you will want to add
lots more to your init.el file, but to start with, this should be
sufficient.

> On Fri, Jul 23, 2021 at 12:32 AM Tim Cross via Emacspeak <emacspeak@xxxxxxxxxxx> wrote:
>
>  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.
>
>  1 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.
>  2 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?
>  3 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 -
>
>  1 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.
>  2 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.
>  3 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 doing q {Hello world} [enter] and then d [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!
>
>  From: Cisco Tissera via Emacspeak
>  Subject: [Emacspeak] Introducing myself and a request
>  To: emacspeak@xxxxxxxxxxx
>  Date: Fri, 23 Jul 2021 06:29:03 +1000
>
>  Hello everyone,
>
>  My name is Francisco, and I am a highschool student who started getting into Linux a few months ago.
>  I started with Arch, switched to Ubuntu, Fedora, and then returned to Arch Linux.
>  I would like to get up and running with emacspeak so I can see what it can and can't do, and see if it suits my needs, however, I cannot, and
>  here is why: I am using pipewire on arch linux as of now.
>  When I wrote on the blinux mailing list, linux for blind, I got told that sadly emacspeak does not work with pipewire yet.
>  <I do not have any intention of removing pipewire and installing pulseaudio, because that would disrupt my workflow for far too long.
>  As of now I am using arch linux with gnome 40 and orca master.
>  Now, after all that has been said, I'd like to ask if anything could be done about emacspeak to make it work with pipewire.
>  I have no coding knowledge so I won't be able to help in the development, if any will be done, but I will surely test out the git package in the
>  aUR or whatever if you so ask of me.
>  Best regards.
>  Francisco.
>  _______________________________________________
>  Emacspeak mailing list -- emacspeak@xxxxxxxxxxx
>  To unsubscribe send an email to emacspeak-leave@xxxxxxxxxxx



|May 1995 - Last Year|Current Year|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page