Home / Case Studies / Sound Marketing
Internet based music on hold system

Sound Marketing is a company that specialise in solutions for the music-on-hold industry. They traditionally used CD-based machines, which would be connected to the client's phone line and play music from the CD. In order to change the music, you would have to change the CD.

THE PROJECT

Dotfive were asked to design and develop a completely new system which would allow for daily news updates and other dynamic messages, as well as allowing all the music and announcements to be administered from a central interface.

We drew up specifications for a system that would be Internet-based. This involved both software and hardware design, and operating system design.

It was also equally important that an easy to use administrative interface was designed allowing designated users to change the music or wording that would be played when someone was on hold.

PROJECT OBJECTIVES
  • Design a custom, Linux-based operating system to control the MP3 playlist software
  • Remove the need for the legacy CD player-based system, increasing reliability and saving space
  • Reduction in operating man-hours
THE SOLUTION

Each remote machine was built using Nano-ITX components in order to keep them as small and cheap as possible. Instead of hard drives, they were equipped with Compact Flash cards, which meant that a new card could easily be sent out if needed, and also the solid state memory would prevent any problems in a power cut.

A custom, Linux-based operating system was developed for the machines, and each runs specially-built software to play MP3 files and manage the playlist. The machines are controlled by a central server, which automatically sends out playlist changes, new music and announcement files, and software updates.

The design of the system means that music will keep playing seamlessly, even if playlists are being changed. In addition, it will continue to function correctly if there are network issues.

The central server software handles the requests from the client machines, and checks the current playlist based on the schema currently in effect. Each client machine can have multiple schemas based on the time of day and the day of the week, maintained through the web console.

Finally, the web-based console allows the administration of all the machines and tracks. For each client, such as BMW, a group is created, and then machines are added to this group. Each client machine has its own unique identifier. Media files are then uploaded, and schemas are created for time of day and day of the week. Tracks are added to the schemas so that audio files will be played. Each track has its own specifiable volume and fade level - the fade level determines how much the background track is faded. There are two audio channels, so that background music can be played with announcements over the top. The duration and amount of the fades can be changed, along with the pause between tracks on each channel.

The web console also shows the last check-in times of all of the clients, so that it is easy to see if any have not checked in recently.

In order to apply updates, a software distribution system was created. This system can have several branches, so that a client could have slightly different software to the main "trunk" if necessary. Each machine can be set to auto-update, or else have a fixed software version set. Additionally, only machines marked as development boxes will use beta software. This allows trials to be performed in absolute safety, with a gradual rollout process.

The software was completed on time to the satisfaction of the client, and is currently handling a large number of remote client machines without any problems.