Technical

*some data on this page is outdated. It’ll be updated shortly.

Engineering

This area of the site contains various technical information on the station, equipment & software used, and random operational notes.

  • Tower Location: 13th Floor, Slater Hall Dormitory (UI Campus)
  • Tower Coordinates: Lat 41 39 29, Lon 91 32 40
  • HAAT: 27.0 m (88.5 Feet)
  • ERP: 100 watts
  • Antenna Polarization: Circula

MP3 Streaming Equipment

Audio Processing

  • Levellor/Compressor: Aphex Systems 320A Compellor
  • Distribution Amplifier: Henry Engineering U.S.D.A.
  • EBTech Line-Level Shifter
  • Air Studio Switcher: Broadcast Tools SS 8.2 Stereo Crosspoint Switcher

Encoders

  • All Streams use a Dell running Winamp using the SHOUTcast DSP Plug-in.

Server

  • Power Macintosh G3 Running Mac OS X 10.1 and Shoutcast 1.9.4 for Mac OS X

Stream Status

Equipment

Transmission

  • Antenna: Cablewave ECFM-2
  • Transmitter: Harris Quest 250
  • Exciter: Harris Digit
  • Audio Processor: Orban Optimod 8200

Audio

  • Air Studio Console: Auditronics 210
  • CD Players: (3) Denon DN-C630
  • Microphones: (3) Shure SM-7 and (1) ElectroVoice
  • Production Studio Mixer: Mackie 1604-VLZ Sony PCM-2300 DAT Deck

Computers

  • Power Mac G4
  • Power Mac G3 Blue & White
  • (2) Power Mac G3

Our main production studio utilizes an Apple Power Macintosh G4. We rely primarily on two pieces of software, both made by Bias, Inc.: Deck Multitrack audio editing software and Peak 2-track audio editing software.

We also use Macromedia’s SoundEdit 16.

All interstitial program materials (Stingers, Legal ID’s, Grant Spots, Promos, etc.) are stored as high-bitrate MP3 files on a Power Macintosh G3 file server. The Air Studio utilizes two Power Macintosh G3’s for playback to air, using a custom-developed FileMaker Pro database, and SoundJam MP.

Automation Project

KRUI is entirely staffed by University of Iowa students, and a few faculty & staff members. During extended University breaks, the station used to go off the air due to the lack of staff.

With the help of AppleScript and Soundjam, we’re now able to remain on the air, and sound as professional as commercial stations with custom-built, expensive automation solutions.

Hardware

  • Apple Power Macintosh G3 (Blue & White)

Software

  • Casady & Greene’s SoundJam MP
  • AppleScript
  • ResEdit

Project Background

KRUI purchased a new transmitter in 1998 which gave us the ability to operate the station unattended during extended University breaks.

We needed a source of programming, as well as a system to play an FCC-required Legal ID at the top of every hour. Because MP3 technology was not very developed in 1998, and the typical systems major-market commercial stations used cost thousands of dollars, KRUI chose a low-tech solution: a 100 disc CD changer. We loaded the changer up with CDs, and put it on repeat. To satisfy the Legal ID requirement, we used a Mac IIsi to play a sound file which mixed in with programming at the top of every hour.

This solution worked… for a while. As the CD player aged, it became much less tolerant of less-than-perfect CDs. As a result of this, many times it would get stuck on a track, skipping back and forth. Other times it would simply choke on a CD and stop. Because this was an interim period, someone would have to be listening, hear the CD changer stop or skip, then drive down to the station and manually start it up again.

When MP3 technology began to emerge, I began experimenting with MacAmp (now MacAST) over Thanksgiving break of 1998. In an experiment, I simply loaded up a playlist with a full days worth of music files, as well as station promos and the required Legal ID. This system worked reasonably well, but it was not perfect. The first problem was that it took time to manually program the playlist. We play an average of 400 songs a day, and every one had to be manually picked out and added to the playlist. Additionally, to ensure that the Legal ID was played at the top of every hour, every hour of the playlist had to be timed out perfectly.

I did some experiments with AppleScript and MacAMP at that time, and found that MacAMP did not provide enough AppleScript functionality to be able to do on-air automation, as I had envisioned it.

Jump forward about a year from here, and MP3 technology has advanced considerably, and Soundjam MP is released. Soundjam had some of the AppleScript functionality that I needed to be able to automate the station. Doing some experiments with my Macintoshes at home (an 8500 and an iBook) I began writing a script that would do the following functions:

  • Randomly pick songs from Soundjam’s Master Playlist
  • Every time between 3 and 5 songs are played in a row, randomly choose a station promo, and play it.
  • Keep track of how much time is left as each item plays, and crossfade between.
  • Watch for the top of the hour, and when it is time, assemble a “spot block” which consists of a station promo, an underwriting grant spot, and the required Legal ID.

After a couple months, I had the script debugged to the point where it was ready to be put on the air. Our first on-air test of the system as it works now was over Spring Break 2000. The script runs on a Power Macintosh G3 Blue & White (300MHz) with a little more than 6GB of MP3’s. This translates to around 3 days worth of music.

So far, it has been working flawlessly. It has run continuously for days at a time, with no problems. Many times it is impossible for the listener to tell that a computer is running the station, instead of a live DJ. I’ve been at the station while the system is running, and we continue to receive calls on our request line from listeners who assume a real DJ is there.

Our Macintosh-based MP3 Automation system has allowed us to sound just as good as the commercial stations in the market, which have $7,000+ professional automation systems installed.

Technical Notes

The first problem I had was getting AppleScript to recognize two separate copies of SoundJam. Since I wanted the ability to crossfade, I wanted two copies of the program running simultaneously. I ended up using ResEdit to poke around in a copy of SoundJam. I’m not sure what eventually worked, but I was able to modify the Resource Fork so that AppleScript saw the copy as another program.

A modification I’ve made since the original script is writing a routine to randomize a playlist when the script starts, and then picking songs out of that. The original random picking ended up playing the same songs too often. This version was written before SoundJam added playlist-specific shuffle functions, so I need to re-write the script to take advantage of this.

One problem that hasn’t been resolved yet is that although AppleScript sees two copies of SoundJam, both copies of the program appear to share the same preferences. For example, if I move windows around in each copy, then quit out of the programs, once restarted, the windows for the second copy will appear directly over the first copy.

When I began this project, I had little to no knowledge of AppleScript, and ended up teaching myself as I went along. The script I wrote is stable, but definately not elegant. Because I was just starting out, I defined all variables as global to makes things easier. When I get a chance, I’m planning on completely re-writing the entire script, making the code smaller and less complex.