Sample Rate & Bit Rate
We are all conditioned to the way the analog world works. Sound and Vision in the real world are "continuous" phenomena. In the digital world, not so much. After all, they do call them "bits"!
The process of creating digital audio involves "sampling" the continuous analog experience into thousands of tiny "slices" each second, and assigning a number to each slice that represents its instantaneous "loudness" or "volume". This process is called "quantization", and the number of times in a second that this is done is called the "sample rate". These samples are then collected into "packets" of data and sent through the internet. The speed at which these packets are sent is called the "bit rate".
A standard Compact Disk uses a sample rate of 44,100 samples-per-second (44.1 kHz), and a bit rate of 1,411,200 bits-per-second (1,411.2 kb/s). That's nearly one-and-a-half million bits each second. Typical internet connections are not capable of transfering data at speeds this high. As a matter of fact, a dial-up connection is only able to transfer data at about 2% of this speed. Typical DSL connections are faster, but still cannot reliably pass data fast enough for true-CD quality. Present-day Cable Modem connections can reach these speeds, but typically only for short periods of time, especially in neighborhoods in which many users are on-line simultaneously. For this reason, "bit-rate reduction", also called "data compression", is used for streaming media.
Bit-rate reduction uses a computer program (algorithm) to analyze the digital audio and determine, on a sample-by-sample basis, which sounds the ear really needs to hear and which are unnecessary. Any sounds this program decides are not audible are "thrown away" so that the data rate can be reduced. "MP3" is the name for one such algorithm, and it's the one we use for ALL of our streams. The slower the bit-rate, the more audio is thrown away.
DSL connections, while capable of faster speeds near the telephone company office, become slower the further away a listener is, with typical speeds ranging from around 400 kb/s to as slow as 100 kb/s. WUMB has chosen to send it's stereo stream at 56 kb/s so that nearly everyone with a DSL connection can listen to it.
Dial-up connections cannot support a streaming-audio connection that is faster than 36 kb/s, and most dial-up connections aren't that good. This is why WUMB still makes a 24 kb/s stream available. It is not possible to send two channels of audio at bit rates this slow, so our 24 kb/s stream is monaural (mono).
Packets & Buffering
All data sent through the internet is sent as blocks of bits called "packets". Each packet is sent into the internet with a serial number and a destination IP address that identifies each listener's computer. Each packet is then "routed" through the internet by hardware that is not under our control. Every packet is routed separately. While many packets will end up following the same route through the internet, some will be routed through other paths. Since the data takes time to follow these paths, and the paths are different from time to time, some packets will take longer than others to arrive at your machine. This is like mailing thousands of letters to a distant address through the post office each day, and watching them arrive out-of-order.
To resolve this problem, your machine receives all the packets and inserts them into a special file called a "buffer file" in Random Access Memory (RAM). This file can range in "length" from as short as 1 or 2 seconds to 30 seconds or more. As the packets arrive, your computer reads the serial numbers of the packets and inserts them into the buffer file in the correct order. It then takes the packets off the other end of the file, one at a time, reassembles the packets into a stream of data, and plays them through your sound card. If the buffer file is too short, delays in the internet can cause momentary dropouts in the audio. The longer the buffer file is, the longer you must wait after clicking our link before you start to hear sound.
The sample rate and the bit rate are determined in our streaming encoder by simply dividing the computer's motherboard master clock. Since this clock is generated internally, it is probably NOT running at exactly the right speed. It's VERY close, but it isn't perfect.
Similarly, the sample rate and the bit rate used to control the speed that your computer takes data out of the buffer file is determined by simply dividing your computer's motherboard master clock. Since this clock is generated internally, it is probably NOT running at exactly the right speed. But here's the really important part: It's NEVER going to be the same as our encoder. It's VERY close, but it isn't perfect either.
The result of this lack of matched clocks is that the buffer file in your computer will never stay "half-full" as it was designed to do. If our encoder is a little faster than your computer, your buffer file will slowly fill up until it can't take any more data, and then your computer will simply throw away data. Conversely, if our encoder is a little slower than your computer, your buffer file will slowly empty out, until there is no more data, and then your computer will simply go silent until more data arrives.
Streaming audio player software is designed to identify this problem when it happens, and mute the audio while it clears the buffer file and then fills it half-full with new incoming data. This process is unavoidable. The more often it happens, the greater the mismatch between your computer's clock and ours.
Some more advanced player software, such as the "Player365" that was designed to work with our stream, can make very small changes to the bit-rate and sample rate to keep the buffer file about half full. This results in very slight pitch changes in the audio you hear. Many players DO NOT have this capability.
Streaming Links & File Associations
The links on our webpages (except for Player365) are really small text files that are read by your Internet Browser software. Your browser and your computer have "File Association" lists that tell it what to do when it receives certain kinds of files. For instance, a file ending in .asx should be associated with Windows Media Player, a file ending in .ram should be associated with RealPlayer, and a file ending in .pls should be associated with WinAmp, iTunes, or some other generic MP3 player software.
When the file associations are correctly entered in your computer, everything goes well. You click a link for a .asx file, and your computer starts up Windows Media Player, which then reads the file, gets the internet address of our server, requests the stream, buffers the data, and finally plays audio through your sound card. However, changes are constantly being made to your computer's file association lists. It happens when any player software is upgraded or installed, since each player's distributor wants you to use their player, and not any of the others. It also happens sometimes when a security upgrade is applied to your computer, by the developer of your Operating System, or your virus protection software, or your firewall software. When this happens, a link will stop working properly, and the only way to fix it is to replace the file association in your OS or your browser.
We get reports of this all the time with Windows Media Player. This has never happened on one of our machines, though, so we cannot figure out exactly what is happening. There is a work-around, described elsewhere on this page.
Firewall Issues - Port 80 & Url Redirection
All internet data enters your computer through "ports". All ports have numbers, and there are standard port numbers for different types of data and different internet services. For instance, standard web-browser surfing is done through port 80. When streaming media was first developed, it was assigned to port numbers that are much higher, with MP3 streaming servers set to use port 8000.
There are two reasons why high-numbered ports have become a bad idea. Firstly, hackers and viruses use "port-scanning software" to look for open ports on your machine that can be used to wreak havoc inside, and your computer-protection software, such as virus-scanners and firewalls, automatically block these "high-numbered ports". They CAN be opened, but each computer's user has to know HOW to do it, and most folks don't take the time to figure it out. Secondly, many corporations have decided that they don't want the bandwidth of their internet connections wasted on employees' use of streaming media, so they block high-numbered ports in an attempt to increase worker productivity and reserve their bandwidth to speed up business-related file transfers. You can't blame them.
For this reason, it has become necessary to send streaming audio out of our server on Port 80, since internet browser use will not be blocked by firewalls. This creates another problem. Each streaming server only has ONE Port 80 available, and only one stream can be sent through that port from any one machine. Since streaming companies such as Live365 cannot possibly afford to have a dedicated machine for each of the thousands of streams they serve, another solution had to be developed. That solution is called URL re-direction. Rather than providing a link on our website that points directly to our server's IP address, we link to a "Server Server" at Live365. This machine receives your request for our stream and "re-directs" that request to another machine streaming from a high-numbered port, in our case (for the 56k stereo stream) port 15442. In the process, the port number is also re-directed, and when our stream appears at your computer, it appears to come from port 80.
The problem is that some player software, and some dedicated streamplayer appliances, do not work with URL re-direction. Oooops!! For this reason, we must provide both "re-directed port 80 links" AND "Direct Links". So, if a listener needs both a direct link and a port 80 stream, we cannot provide it at this time.
New Streaming Media Appliances
It's a brave new world our there, and new products are coming out all the time. There are now dozens of devices that will connect to the internet, either through an Ethernet cable or through a wireless router, and connect to streaming audio, all without a computer. There is now software that runs on newer BlackBerry devices that will literally pull our stream out of the air anywhere there's a cell-site or a WiFi signal and stream it, in stereo through the headphone jack or Blue-Tooth connection.
Every one of these devices and softwares are just a bit different. Every one of them has their own requirements in order to be compatible with our stream. It's a constant struggle to keep up.
It's A Wonder This Works At All!
Hundreds of thousands of hours have been spent by computer programmers, first to create all the encoders, decoders, servers, players and devices, and then attempting to solve all of the resulting compatibility problems. It's a moving target, and more than a full-time job trying to keep up with the marketplace.
But we try.