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

[Emacspeak] Re: Introducing myself and a request



Tim Cross via Emacspeak <emacspeak(a)emacspeak.org> writes:

Hi Tim,

thanks for taking the time to chase this down.
I suspect some type of buffering/blocking issue with pipewire that might
be worth reporting to the pipewire folks.

1. That espeak server speaks the version message both at the tcl prompt
   and at emacspeak startup tells us that at least things are connecting
   end-to-end --- since the tcl server speaks the initial message.

   2. That no output is heard later tells us this is a queueing issue.

      3. There appears to be a pipewire-alsa package that might well
         provide some kind of alsa compat that is meant to bridge these
         issues, might be worth trying.

         4. Also worth trying: at the tcl prompt, run tts_selftest  and
            if it talks, press 's' to see if it stops speech, then rerun
            the same selftest to see if it still talks.

            --Raman 


> 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.
>
> * You can build the tclespeak.so library fine.
> * when you run servers/espeak, you here espeak say "Espeak 1.50"
> * At the % prompt, if you do q {Hello World} <ret> d <ret> the server
>   just
>   hangs. No speech and the prompt does not return.
> * If you then attempt to run Emacs with Emacspeak, all appears to
>   work, but after the initial "Esepak 1.50" announcement, you get no
>   speech and no errors. Auditory icons with sox worked fine.
>
> 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(a)emacspeak.org
> 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(a)gmail.com>
> wrote:
>
>     Cisco Tissera <audiogamer2004(a)gmail.com> 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(a)emacspeak.org> 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(a)emacspeak.org
>     >  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(a)emacspeak.org
>     >  To unsubscribe send an email to emacspeak-leave(a)emacspeak.org
>
> _______________________________________________
> Emacspeak mailing list -- emacspeak(a)emacspeak.org
> To unsubscribe send an email to emacspeak-leave(a)emacspeak.org
>

-- 

Thanks,

--Raman(I Search, I Find, I Misplace, I Research)
♈ Id: kg:/m/0285kf1  🦮


|May 1995 - Last Year|Current Year|


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

Contact Info Page