Thursday, September 28, 2006

Using Helix Player From Emacspeak

In the spirit of You can never have sufficiently many media players, I now have Helix Player working under Emacspeak i.e., I can now run Helix Player without having to start up X. This is useful because there are still media streams on the Web that sometimes fail with mplayer, and from the minimal testing I've done so far, Helix Player is successful in those cases.

What Is It?

HelixPlayer --- installable on modern Linux distributions as hxplay from package HelixPlayer is the community-supported version of RealPlayer 10. The well-distributed and documented client, hxplay is capable of playing a wide variety of audio and video formats over HTTP and RTSP/RTP, and specifically, can handle RealPlayer10 formats which includes support for 5.1 audio.

A lesser known set of tools available from Helix --- Helix DNA Client is a bare-bones UI-less player which can be used effectively at the shell. You can download pre-built binaries for your flavor of Linux (GCC3.2 or later vs GCC 2.95 based systems) note that these are nightly builds. You can also download a source zip archive. Note that all of these requires you to accept a End Users License Agreement (EULA) before being taken to the download link.

The links on the page above can be confusing; Here are pointers to the specific packages you need to grab if you want a player that has all of the functionality described above.

Binary
Sep 26, 2006 build for Linux GCC 3.2
Sources
Source archive from September 27, 2006

Using The Binary Distribution

Here is what I did you set up the binary distribution on my Ubuntu 6.0.6 (Dapper) machine

  • Unpacked binary package under /usr/lib.
  • Created a symlink /usr/lib/splay to point to the directory created by unpacking the binary package.
  • Created the following shell script /usr/bin/hsplay to launch the player:
    #!/bin/sh
    #Use Simple Helix Player:
    #
    SPLAY_LIB=/usr/lib/splay
    export HELIX_LIBS=$SPLAY_LIB
    exec /usr/bin/aoss $SPLAY_LIB/splay -iss -s "$@"
    
  • The above script assumes you have the alsa-oss package nstalled; you will need this to have Helix Player use ALSA --- something that is essential if you want to be able to use your sound card with other applications while playing media streams.

With this setup, you can launch one or more media streams (both local, as well as remote HTTP/RTSP/RTP streams) from a shell. This player successfully plays the BBC Radio4 LW stream, something mplayer fails to play on my Ubuntu box.

Tuesday, September 12, 2006

Emacspeak, Ubuntu And Software Dectalk

On the positive side with respect to software synthesis, the Software Dectalk does work out of the box on Ubuntu --- out of the box that is if you first install alsa-oss the ALSA->OSS compatibility layer. I've updated the Emacspeak speech server for Software Dectalk to use alsa-oss where available; performance is not as responsive as the Emacspeak Viavoice server using the native ALSA APIs, but it's a good backup option.

Monday, September 11, 2006

Emacspeak 24 On Ubuntu 6

I upgraded my home FC3 machine to Ubuntu 6.0.6 (Dapper) over the weekend. Here is a short summary for things to watch out for as an emacspeak user.

The Good, The Bad, And The Painful

Good
One of my friends helped with the install and it is remarkably quick when everything works (in my case the Ubuntu LTS 6.0.6 installer had trouble with the NVidea display card and came up correctly at the third attempt).
Bad
A one CD install is nice -- but after it you have remarkably little installed from the perspective of an emacspeak user. You end up with a very nice GUI but very little else --- the reasoning being that the average user wont need much more, and the savvy user can always run apt-get.
Bad
Worse, Ubuntu does not install openssh-server --- it limits itself to installing openssh-client. This means that you cannot bootstrap yourself by logging in from another machine until you install openssh-server off the network. If there was one thing I would ask the Ubuntu maintainers, it would be to rectify this situation.
Painful
In my case, the apt suite of tools appeared to have a problem --- they died saying /var/lib/dpkg/available: no such file or directory. Googling showed this to be a known problem with apt and the fix is to run dselect update -- but if you're new to Debian/ubuntu, this is less than obvious.
Good
Once you overcome the above, apt-get got me emacspeak-17.0 which was sufficient to let me bootstrap the rest of the process on my own using my trusted Dectalk Express to produce speech.
Painful
Note that you should install tcl8.3 and tclx8.3 --- rather than the newest (8.4) versions of these packages. This is because as of 8.4, the maintainers of those packages no longer build a stand-alone tcl (extended TCL) shell. This is something that will have to be handled by Emacspeak in the future.
Good
I was able to get everything I needed (and more) installed using a combination of apt-get and aptitude.
Bad
The IBM TTS engine no longer works --- under FC3 and friends, you needed to install package libstdc++-compat to get it to work. Well, there is no corresponding package for Ubuntu/Debian from what I could find out, and pulling in the RPM for libstdc++-compat, converting it via alien and installing the result produces a segfault when you run the TTS engine.
Bad
For the same reason, the old command-line trplayer will also not work on Ubuntu 6.0. This is not as painful --- since mplayer works --- though I had to build mplayer from source. It would be nice to create a command-line player on top of the HelixPlayer code base. At present, the missing trplayer means that the etc/rivo.pl provided by emacspeak no longer works. You can use mplayer to convert realaudio to mp3; however mplayerdoes not have a command-line option to specify the duration of playback, something that script etc/rivo.pl needs.

Thursday, September 07, 2006

Google Archive News Search

To mark the arrival of Google News Archive search, I checked in a Archive News Search url-template yesterday morning. To use it, hit C-e u followed by arc tab and specify your search term.

The above is checked into the SVN repository at Emacspeak GoogleCode.