[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