[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lojban] Re: Lojread!
Please remember that Emacspeak is an audio desktop, not merely a
screen reader. Emacspeak uses the current Emacs (I updated it to use
the CVS Emacs this morning; as far as I know, it can run on older
versions, too.)
You do not need to give up your and others' freedom. (I am presuming
that by the word `windows' you are referring to a restricted operating
system and restricted programs to run on in, not `X Windows' or
something like that.)
In addition, presuming you go for freedom, you can get what may well
be technically better software; and you can run it at the same time
you run Emacs.
The permanently blind, who currently are the predominant users of this
interface, listen to good hardware text-to-voice synthesizers that
produce nice voices. They listen to different voice for difference
`faces'; they listen at 500 words per minute. In other words, they
have learned to listen at the same speed that sighted people read. (A
regular person speaks at 180 words per minute. The speed-up involves
cutting out bits of the sound stream. It does not require an increase
in the frequency, so the new voices are not squeaky.)
In addition to hardware text-to-voice synthesizers, two software
text-to-voice synthesizers are available. (I use eflite.) I am told
the software synthesizers are not as good as the hardware ones. (I
have never listened to a hardware synthesizer.) But the software is
readily available. This means that any existing computer that can
play a song and work with Emacs can run Emacspeak. (As for me, I
occasionally use Emacspeak to listen to Jane Austen. I find I tend to
read her text too quickly to really enjoy her language but I have not
learned to listen as quickly as I read.)
Here are notes on installing Emacspeak, presuming you are using
software that preserves your and others' rights, such as GNU/Linux:
According to my notes, in Debian, as of April 2003, to install
Emacspeak using the eflite software text-to-speech synthesizer, type
the following in a shell:
apt-get install emacs21 emacs21-el emacspeak eflite
That is all you must do besides learning the commands. There may be
mouse commands for the sighted; I have never noticed. I use the
keyboard commands:
`Control-h Control-e'
Give a brief overview of Emacspeak.
I use this command all the time, to remind me of other commands.
(In most Emacs documentation, this command, `Control-h Control-e'
is written as `C-h C-e'.)
`Control-e' is the major prefix. Thus
`Control-e left-brace'
Speak paragraph.
I have not installed Emacspeak from Debian since 2003, so I don't know
the current state. It worked fine then. Instead, I build from
source. For a text-to-speech synthesizer, I use eflite. Here are my
notes:
## for eflite, as of 2007 Jan 19
## [as user `bob', i.e., a regular user, in Emacs]
obtained from http://eflite.sf.net
using Emacs w3m-goto-url
and downloaded source into /usr/local/src/
## Presumably, the following in a shell works just as well; but I have
## not done it:
pushd <your build directory>
wget http://internap.dl.sourceforge.net/sourceforge/eflite/eflite-0.4.1.tar.gz
## [as user `bob', in a shell; I could have done this in Emacs, too]
pushd /usr/local/src/ # i.e. my build directory is /usr/local/src/
# it and its contents are owned by me
tar tvzf eflite-0.4.1.tar.gz # just because I am careful ...
tar xvzf eflite-0.4.1.tar.gz
cd eflite-0.4.1/
./configure
make
popd
## [as user `root']
pushd /usr/local/src/eflite-0.4.1/
make install
popd
## Emacspeak with eflite works fine
I get Emacspeak itself from a subversion respository. To checkout the
code, follow the instructions on
http://code.google.com/p/emacspeak/source
## Basically, as a regular user do the following in a shell:
pushd /usr/local/src/
## can take ten minutes
time svn checkout http://emacspeak.googlecode.com/svn/trunk/ emacspeak
## To update:
pushd /usr/local/src/emacspeak/
svn update
## To update and compile in Emacs evaluate the following:
(progn
(unless (fboundp 'vc-svn-update) (load "vc-svn"))
(cd "/usr/local/src/emacspeak/")
(call-process "svn" nil '("*svn update information*" t) t "update")
(pop-to-buffer "*svn update information*"))
(progn
(cd "/usr/local/src/emacspeak/")
;; the *compilation* buffer is usually smaller than 50k
(compile "sudo chown -R bob.users . && \
time make -k config && \
time make -k emacspeak && \
time find . -name '*.el' -print | etags - && \
time sudo make -k install"))
;; to see the times used for compiling
(let ((this-buffer (current-buffer)))
(pop-to-buffer "*compilation*") (re-search-forward "^real")
(switch-to-buffer-other-window this-buffer))
I copied /usr/bin/emacspeak into
/usr/local/bin/emacspeak-eflite-current and modified the former a bit
to create a program I call:
emacspeak-eflite-current
You will note that besides
... site-lisp/emacspeak/lisp/emacspeak-setup.el
which is installed by Emacspeak, I load, evaluate, and visit a good
number of my own files. You will not have them. For example, I load
a .emacs initialization file called .emacs_short.
So you will want to vary this program for your own use. Remember to
chmod the command 777; I always forget and then cannot figure why it
is not working ...
#!/bin/sh
# /usr/local/bin/emacspeak-eflite-current
CL_ALL=""
for CL in $* ; do
if [ "$CL" = "-o" ]; then
DTK_PROGRAM=outloud
export DTK_PROGRAM
elif [ "$CL" = "-d" ]; then
DTK_PROGRAM=dtk-soft
export DTK_PROGRAM
elif [ "$CL" = "-q" ]; then
INITSTR=""
else
CL_ALL="$CL_ALL $CL"
fi
done
export EMACS_UNIBYTE=1
export DTK_PROGRAM=/usr/local/bin/eflite
export DTK_TCL=/usr/local/bin/eflite
# foreground and background are set in ~bob/.emacs_short
# (set-foreground-color "white")
# (set-background-color "darkblue")
# use the updated CVS version of Emacs ... could use the installed version
exec /usr/local/src/emacs/src/emacs -q --no-site-file \
-fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
-l /home/bob/.emacs_short \
-l /usr/share/emacs/site-lisp/emacspeak/lisp/emacspeak-setup.el \
-l /home/bob/.emacs-neutral-for-emacspeak \
-l /home/bob/.emacs-for-blue-emacspeak \
--eval "(desktop-save-mode 0)" \
--eval '(dtk-chunk-only-on-punctuations)' \
--eval "(dtk-set-punctuations 'some t)" \
--eval "(setq frame-title-format '(\"Emacspeak eflite current: %b\"))"\
--eval '(set-frame-name "Emacspeak eflite current")' \
--visit /usr/local/bin/emacspeak-eflite-current \
--visit /home/bob/.emacs_short \
--visit /home/bob/.emacs-for-blue-emacspeak \
--visit /home/bob/.emacs-neutral-for-emacspeak \
--visit /home/bob/how-to-emacspeak \
--visit /u/misc/Austen-Pride-and-Prejudice \
--eval '(forward-line 3)' \
$INITSTR $CL_ALL
### end /usr/local/bin/emacspeak-eflite-current
`emacspeak-eflite-current' worked with this morning's CVS snapshot of
Emacs and this morning's Subversion snapshot of Emacspeak.
--
Robert J. Chassell GnuPG Key ID: 004B4AC8
bob@rattlesnake.com bob@gnu.org
http://www.rattlesnake.com http://www.teak.cc
To unsubscribe from this list, send mail to lojban-list-request@lojban.org
with the subject unsubscribe, or go to http://www.lojban.org/lsg2/, or if
you're really stuck, send mail to secretary@lojban.org for help.