Starling audio player, model H0440
For use in scale models, shopping malls (background music), broadcast and narrowcast systems, the Starling audio player provides high-quality audio under control of a user-program (a "script") and triggered by events of various sensors.
Model H0440 of the Starling series contains two audio decoders, so that it can decode and play two audio tracks simultaneously and independently from each other. The outputs of these decoders can then be mixed, for applications such as "voice overlays" or cross-fades between tracks.
As mentioned, the Starling audio player optionally interfaces to external electronics, which can range from a mere few switches and/or LEDs, to a slave micro-controller that communicates with the Starling through a parallel or serial bus. Connecting the Starling to a PC or other peripheral, via RS232 or an Ethernet LAN, is another option. The functionality of the control logic on the Starling player is fully scriptable (read programmable) in the pawn language.
- A brief User Guide of the Starling model H0440 with a summary of features, installation instructions and an introduction to programming, dated 2017-03-17.
- The data sheet of the H0440 audio player/controller and usage notes, dated 2017-03-17.
- A list of application notes including reference material for programmers.
- Solid state design.
- Easy to embed in consoles, scale models or kiosks, due to it small form factor, conveniently placed mounting holes and industry-standard connectors.
- Double decoder for MP3, Ogg Vorbis and uncompressed PCM.
Decodes MPEG Layer 3, supporting all MPEG sampling frequencies and bitrates, including variable bitrate and the very low bitrates of the MPEG 2.5 extension.
- High quality audio, based on a 24-bit D/A converters with 8× oversampling digital filter, low noise and low distortion.
- Volume and tone control per DAC (D/A converter) for cross-fading and voice-overs. Integrated VU-meter for measuring the audio volume of each DAC.
- 8 general purpose inputs/outputs (I/O pins), individually configurable. An optional "debounce" filter can be configured for each pin, to debounce switch or relay contacts. The I/O voltage (2.5V to 5.0V) is configurable for pins configured as output.
- 1 analogue output, software-controlled.
- Ethernet interface, 10/100 Mbit/s, auto-negotiation.
- Dual serial interface (RS232 with software handshaking).
- SPI interface with two "slave select" lines; configurable SPI mode (CPHA & CPOL) and frequency.
- Integrated temperature sensor.
- Real-time clock with backup battery.
- One general-purpose switch, two general-purpose LEDs.
- The audio data is read from an SD/MMC card; standard cards and SD-HC cards are supported. The Starling supports FAT16 and FAT32, and nested subdirectories.
- Digital audio outputs via I2S interfaces.
- The Starling parses the ID3 tag (version 2) with support for Synchronized Lyrics, for Karaoke or for synchronizing events to MP3 music. The APE tag is also supported.
- Programmable by the end user through a script (in the pawn language) stored on the SD/MMC card. The developer environment is freely available and it includes a source-level debugger.
- For a "no programming required" option, the Starling audio player/controller also comes with a set of configurable, ready-to-run scripts for a range of applications.
- Gapless and clickless sound loops are possible with this audio player.
- General file input/output to the SD/MMC card is supported, for logging usage, updating playlists or scripts over a network connection or a serial cable, storing configuration settings, or other applications.
- Supports encrypted MP3 audio tracks; the players can be ordered with a unique 128-bit key and the matching encryption software.
- Wide input power range: 7.5 V to 28 V DC, using an efficient on-board power converter.
- Industrial temperature range: -40 °C to +85 °C, suitable for out-door use.
Typical use of the Starling audio player/controller is inside an object or apparatus where high quality audio is needed in a small and robust package. Due to its temperature range, the Starling is suitable for outside use. It is energy-efficient and produces little warmth. Being solid-state, it can be operational in moving or mobile objects. The player is easily embeddable in other apparatus through industry-standard electronic interfaces.
The Starling is programmable, which implies that it is fully configurable. It can respond on various inputs: switches, digital I/O, RS232, SPI. Similarly, it can drive various outputs: TTL-logic, LEDs, opto-couplers, solid-state relays, or equipment branched onto the RS232, the SPI or the digital I/O bus. Audio fragments may be selected based on various criteria that you put in the programmed script. You can abort sound that is playing, or glue together various fragments. You may also synchronize the audio to the external events based on an internal high-precision timer.
The pawn "embedded scripting language" on which the Starling controller is based, is a quick and small language whose basics can be learned in a few days —or a few hours if you already know C/C++. The language has the event-driven programming model built-in and through the direct support for events, the pawn simplifies the construction of reactive/interactive systems.
The Starling controller parses the ID3 tag (version 2) or the APE tag in the audio track, if present. An ID3/APE tag is an attachment to an audio file that contains additional relevant information about the audio file, for example: the title, the album name, the artist and/or band, the composer, etc. The ID3 tag can contain synchronization points in the track (to synchronize events with a particular spot in the track). The APE tag can contain cue and segue times for head-to-tail scheduling of tracks and cross-fading, without cropping the tracks themselves.
In some applications, you may wish to protect the audio content from being copied off the SD/MMC card onto notebooks, PCs or retail audio players. The Starling offers protection by allowing you to encrypt MP3 tracks with a strong encryption algorithm, using a 128-bit key. The key is embedded in the firmware of the Starling, and the firmware is "read-protected" itself. In other words, the key is never transferred to the Starling and it is not stored at any location that is accessible from the outside. A customer can request a unique 128-bit key upon ordering the Starling, and optionally enhance this with an additional password that the customer chooses him-/herself. Please contact us to register a unique customer key, or to get more information on this application.
The CD-ROM that comes with the Starling contains several applications and software tools for configuration, programming and controlling the player/controller. The two (miniature) screen grabs above are of "Settings Editor", a utility to configure the standard (ready-built) scripts, and the programmer's IDE for pawn called "Quincy".
Due to its programmability, the Starling audio player/controller is a flexible fit in many designs. Below are a few examples, but this list is by no means exhaustive (see also the application notes at the end of this paper for more ideas).
- Use switches to select tracks and settings: either one track per switch or have switches to move forward and backward through the tracks; a switch press can start playing a track, or the device may keep playing as long as a switch is being held down. You may also choose to play a random track, so that the audio effect is different each time that a user pushes the buttons.
- Instead of switches, use digital input to control the Starling. This input can come from other apparatus or controllers, or from sensors (e.g. proximity sensors). Alternatively, you can link the Starling to an "appliance module" (e.g. for the X-10 protocol) for home automation and domotica.
- With a bar-code scanner on the RS232 connector, tracks may be selected on the basis of bar-codes printed on badges or tickets, in addition, perhaps, with other criteria such as button presses. We have also connected low-cost bar-code wands (pen scanners) directly on the digital I/O lines.
- The RS232 port also allows connection to many other devices, such as computers, ticket printers and professional audio equipment.
- With minimal extra components (an IR-receiver chip and a pull-up resistor), you can use a remote control to change tracks or adjust settings on the device. As the analysis of the IR-protocol happens in software, it can be adjusted to any protocol and any remote control.
- Through the network interface, the Starling controller can play "live" audio streams over the internet, synchronize the contents of the SD/MMC card with that on a server, accept commands through a web browser and report its status with SNMP, for example.
- Activities, such as turning on LEDs or other equipment via its digital I/O pins, can be synchronized with time stamps embedded in an MP3 track.
References & further reading
- Starling Audio Player, model H0440 - User Guide
- This is the booklet that comes with the product and introduces its features and its programming interface.
- The data sheet of the Starling controller, model H0440
- The data sheet and usage notes, in PDF format. (Date: 2017-03-17).
- Starling Programming Guide & Reference
- The programmer's reference of the Starling (model H0440), describing all functions and pawn language features available on the Starling player/controller. (Date: 2017-03-17).
- CE declaration
- The declaration of conformance to the CE norms (EMC, safety and RoHS) as a multilingual document.
- pawn: embedded scripting language
- The pawn scripting language is fully described at its own page.
- Synchronizing activities with music
An ID3 tag in an MP3 track may optionally contain text or commands with time stamps. These time stamps allow the text or the commands to be synchronized with the music. The Starling supports this extension, and the article gives a complete example implementation.
- Gapless looping MP3 tracks
Due to the file format and the algorithm of MP3 tracks, creating a loop without a gap or click is a little involved, especially when using a hardware player. The H0420 and Starling audio controllers can play gapless MP3 audio loops, provided that special software has processed the MP3 track.
Example tracks & processing software are available from this site, as well as a detailed presentation of how it works.
- A remote-controlled audio player
Adding functionality to manipulate the Starling with a common remote control only takes the IR-receiver chip and a pull-up resistor, plus a script that interprets the codes sent by the remote control. This article goes into details and provides a general purpose script for RC5 codes (other infrared protocols are supported by modifying the script).
- Synchronizing time with DCF77
This article describes how to synchronize the internal real-time clock of the Starling controller on the time signal emitted by the atom clock on the "DCF77" and the "MSF60" transmitters.
- Encrypted MP3 tracks
The Starling audio controller is able to play encrypted MP3 tracks directly (without needing an intermediate decryption phase, and so without start-up delay). This article discusses the software and the operations necessary to create MP3 tracks with strong encryption (and how to play them back).
- Power-outputs for the programmable audio controllers/players
The Starling controller has digital I/O pins with up to 5V (TTL-level) digital output with a maximum current of 20mA per pin. This note describes how you can get more power (and/or a higher output voltage) from the I/O pins.
- Interfacing the VS1053 and VS1063 to DACs and SRCs
The VS1053 and VS1063 audio decoder chips from VLSI Solutions support I2S output (in addition to analogue audio output). However, the specific I2S format narrows your choice of DAC, SRC or DSP. The simple circuit presented in this application note converts the I2S format from the VS10x3 to 32fs Right-Justified, which has much wider support by DAC, SRC and DSP chips.