The ABC's of ASX
by sksnedegar
I have to confess right at the top
that I have no idea what "asx" means, but I think the "as" part of it means
Active Streaming, and so assuming the "x" is for "experimental" you have
some idea of a file which is used to "stream" data, usually sound data,
from one server to some remote computer. What is "streaming?" Well, if
the song file is large, and many of them are, then technology has found
ways to take smaller "bundles" of the whole big file and move them to the
playing computer one at a time, grabbing another "bundle" while the first
one "plays" and then rather seamlessly switching to the new bundle as the
last of the old is reached.
Historically the analog modem
was a poor way to get sound files because the standard wave (extension
.wav) file of any listenable quality would run about 11M per minute or
about 35M per usual length song, and to download 35 megabytes of data with
the old 14K modem would have taken ten hours or more, with a 28K modem
and some compression, still we are talking here about several HOURS of
download, and with a 56K modem still we are talking three or four hours
just to download one song. MP3 cut the size of the files, and cable modems
upped the data transfer rates, but you still can't download a full song
in full wave format in less than the time it takes to hear the song play,
so there has to be a "streaming" algorithm applied to hear sound from the
internet more or less as that sound is propagated.
A number of applications can
receive "streaming" sound data, among them being Windows Media Player which
is provided with Windows operating systems, Real Audio, still a free download,
and WinAmp, another free program.
Actually, if you know the url
(location) of a sound file, you can direct your player to that individual
file just as you direct a browser to some internet site, but this often
involves long and complicated urls, and mistyping one dash or one period
can ruin your day, so a very simple asx file could be used to go get a
song for you to hear or a speech for you to jeer. The Windows Media Player
must first be configured to "handle" asx files, but that is simply done
by using the "View, (then) Options" pull down to enable "Windows Media
Files" if they are not already checked in their little box at the left.
The reader is left to configure his own Real Audio or WinAmp players as
best he knows how.
All you actually need to make
this happen is a plain text file which contains the following elements,
and which is saved with an asx extension.
<ASX version="3.0">
<ENTRY><REF href="path/file1.wav" /></ENTRY>
</ASX>
That is it. The first line identifies
the "script" following as asx version 3.0, and the last line says, "ok
we're done here." The <ENTRY> command signifies one location, one file,
and one internet address. (path here means typically some url such as "http://somesite.com/somedirectory/somefile.wav"
where the music extensions can be wav, mp3, mid, or whatever.
Try one for yourself . . . either
supply a filename and path or use the one I have included in the following:
<ASX version="3.0">
<ENTRY><REF href="http://members.cox.net/old-music/tech-triumph.mid"
/></ENTRY>
</ASX>
Just copy those three lines to
a text editor such as Notepad and SAVE AS tt.asx; then either open that
tt.asx file in MediaPlayer or double-click it.
As stated, the above is a highly
simplified asx file which does nothing but deliver the sound file to Media
Player or other. There are additional commands which will state the name
of the "project," well give the name, author, and copyright date of the
song, or will deliver other (advertising) content as desired. It is not
necessary, but kind of nice to have the name of the song showing in the
MP panel, because in many songs I notate, the introduction (or verse) is
unfamiliar and may not tip off the listener to what is to come. Many of
those intros have been lost over the years, and some have never ever been
heard by more than 99% of the listening public. Frank Sinatra made a separate
song of the intro to Stardust, and I'll bet most of his fans didn't even
know where the song originated. So we can take Stardust for our next project
and create an asx file for that which will show the pertinent information
in asx format.
<ASX version="3.0"><TITLE>Songs;
midi notations by sksnedegar</TITLE>
<ENTRY><REF href="http://members.cox.net/old-music/stardust.mid"
/>
<TITLE>Stardust</TITLE>
<AUTHOR>H. Carmichael & M. Parish</AUTHOR>
<COPYRIGHT>(c)1929 by Mills Music Co.</COPYRIGHT>
</ENTRY>
</ASX>
Just copy those lines to a text
editor such as Notepad and SAVE AS stardust.asx
That's still a pretty simple
file, and the result, as you can see when you play the song in Media Player,
is quite informative. Then to complete the circle, you can add as many
<ENTRY> units as you please to the file, changing the songfiles, the
locations, the titles, authors and copyright info, closing each with a
</ENTRY> command, and Media Player will play each in turn and report
its specific information. For a typical example, I have about 22 songs
each in three asx files which can be used to play about 3 hours of music,
and I can choose the songs from hundreds on my site, or go afield and put
in songs from all over the internet. You are welcome to try to access the
following playlists of my midi notations, but be warned that all computers
and all browsers don't behave the same ways with asx files from the internet.
You can get the actual text file and create your own asx on your own computer,
and this usually works pretty well, but when I tried to use my main ISP,
CoxNet, to access playlists, I discovered that their servers weren't equipped
to deliver the content AS asx files, but instead chose to give the user
a text file in Netscape, and a blank screen in IEx. Placing the files on
aol changed the mechanics, and that seems to work okay. The links are Playlist
1, Playlist
2, and Playlist
3. Sorry, but I didn't show authors and copyright dates this time; maybe
my next revision will contain that information.
I will probably have a good deal
more to say on asx as the data comes back from users . . . until then,
I've said about all I know.