[Speex-dev] serving speex without a server

Bertie Coopersmith bertie at coopersmith.demon.co.uk
Thu Aug 31 03:42:00 PDT 2006


On my personal web pages hosted by my ISP I have a collection of speex files
with names ending, as usual,  in '.spx'. My ISP does not provide for scripting
or CGI but thanks to the "Home-Brew Streaming" idea of Dr Tak Auyeng,
www.drtak.org/teaches/ARC/speex/, my friends with Windows XP can listen to
such a recording without the need for a prior download of the whole file 
and with quite minimal delay for buffering.  

One would need to have speexdec.exe and curl.exe in one's path. Then 
the command line to play a .spx file is 

curl URL | speexdec -

Entering an entire URL is irksome and my friends can reduce this to 
double-clicking an icon on the desktop which invokes a .cmd file.
The following example requires that you also need
h2acons.exe, fgrep.exe, and basename.exe to be in your path.
(Some of these are in the well known  UnxUtils collection.)
For .spx files on my home page the script is:- 
-------------------------------------------- 
rem @echo off 
set url=http://www.coopersmith.demon.co.uk
curl -s -o spxs %url%
h2acons spxs /SILENT
fgrep .spx spxs.txt
set /p basename=Enter basename of the one to play:
curl %url%/%basename%.spx | speexdec -
--------------------------------------------

(The basename of this file can be whatever you like but I found that
 the .bat extension instead of .cmd does not work in Windows XP. - It
seems to cause  the vertical bar pipe symbol to be ignored.)

This is nice but not ideal - Its not gui with url open dialog, position-in-file
marker, volume slider  etc.

My other approach was to try to open the URL of a .spx file on my website in
Windows Media Player (after having installed ogg/speex codecs via illiminable),
or alternatively, to try opening that URL in Foobar2000. However, neither works.
  
So, at last, my question is:
Is there some kind of plugin for WMP or Foobar2000 which would make it able to 
play a narrow band (8KHz) .spx file from a web site that has no streaming server,
but just provides http (presumably on port 8080)?.

If not WMP or Foobar2000, is there anything else that will do the job?
   
Bertie Coopersmith


More information about the Speex-dev mailing list