Home         Download         Donate         Register         Forums         Help   
Help: RDS text settings - Stereo Tool 3.0
After configuring the RDS encoder (see Help: FM transmitter configuration, it's time to configure the texts that are transmitted to and displayed by receivers.

Stereo Tool can broadcast a constant (not changing) text, as is officially mandated by the RDS specification, but it also supports a lot of extra features such as alternating texts, scrolling texts, and dynamically inserted texts such as the name of the current song.

RDS texts basics
There are two types of texts that can be received by RDS-capable FM receivers:
  • PS text
    This is a short (8 characters) text. Intended to broadcast the station name.

  • RadioText
    This is a longer (32 or 64 characters) text. Many receivers don't support this feature (a large display is needed, so typically car radios won't show this text).
Note that the RDS transmission speed is very low (at most 22 characters per second), so building up the texts can take some time. Because the RDS signal is very weak, bad reception, especially for (moving) car radios, often leads to missing parts, which means that - even when the reception is good - texts need to be transmitted at least two times to be displayed. Many radios even ignore texts (or portions thereof) that are not transmitted at least two times. This lowers the effective transmission speed to 11 characters per second. So it can take a lot of time before all the texts are displayed properly.

The descriptions below are valid for both types of texts, although some (such as scrolling) are not useful for RadioText due to the slow transmission speed.

Many radios can only display a limited set of characters: Basically the letters A-Z (capitals/upper case only!), the numbers 0-9 and some special characters such as /, \, -, < and >. This is especially the case for PS texts, because they are also displayed on cheap LCD displays on car radios. So especially for PS texts, only use the characters listed above - especially avoid lower case and special characters.

Constant texts
To transmit a constant text, just type that text in the appropriate field (PS Text or RadioText) in the interface.

The PS Text must be at most 8 characters, the RadioText can be up to 64 characters. Any extra characters are ignored.

Example:
  POWER-FM

Alternating texts
To show different alternating texts, write all the texts you want to be displayed in the appropriate field in the interface. Split the different parts with a / character.

Example:
  POWER-FM/88.5 FM
(Note: The . character will be replaced by a space on radios that cannot display a .)

By default, every part of the text will be displayed for 1 second.

Changing the timing of alternating texts
To change the amount of time a text is displayed, put the requested time in front of the text, as follows:
  • 1.5s:POWER-FM
    Displays the text POWER-FM for 1.5 seconds. When specifying a time in seconds, Stereo Tool will automatically make sure that the text is transmitted at least twice so radios can receive it properly, even if that takes longer than the specified time.

  • 3t:POWER-FM
    Transmits this text 3 times. Stereo Tool will transmit this text 3 times, then switch to the next text. Note that it is possible to use 1t here, but it will lead to bad reception on many radios.
Example:
  3s:POWER-FM/1.5s:88.5 FM
Displays POWER-FM for 3 seconds, then 88.5 FM for 1.5 seconds.

Scrolling texts
Due to the slow transmission times, scrolling is only useful for PS texts. Transmitting a PS text takes at least (2 transmissions * 8 characters / 22 characters per second) = 0.72 seconds. (For RadioText that's 2 * 64 / 22 = 5.8 seconds, which makes scrolling useless.)

For left scrolling, add a < character at the front of your text. To scroll at higher speeds, add multiple < characters. Right scrolling is also possible, use > for that.

Examples:
  <THE BEST HITS IN TOWN
  <<THE BEST HITS IN TOWN AT HIGH SPEED
  3s:POWER-FM/1.5s:88.5 FM/<THE BEST HITS IN TOWN

The scrolling speed can also be adjusted using timing settings:
  3t:<<THE BEST HITS IN TOWN

In the previous example, the first and last characters are displayed only very briefly. There are two possibilities to solve this.

Adding spaces:
  3t:<<      THE BEST HITS IN TOWN      (ends here)

But it's also possible to specify different timings for different monents of the scrolling. That makes it possible to display the start and end longer than intermediate parts.

Instead of using just 2s: which sets the display time for every part of the scrolling, different values can be set for different positions.

During scrolling, the first position is called '1', the second '2' etc. The last position is also known as '-1', the one before that as '-2', etc.

So what you want is to display positions '1' (start) and '-1' (end) for 1.5 seconds, and everything in between (2 up to -2) should be broadcast 2 times (the minimum for good reception).
That can be done as follows: 1=1.5s,2..-2=2t,-1=1.5s:

Examples:
  1=1.5s,2..-2=2t,-1=1.5s:<THE BEST HITS IN TOWN
  3s:POWER-FM/1.5s:88.5 FM/1=1.5s,2..-2=2t,-1=1.5s:<<THE BEST HITS IN TOWN

Word wrapping texts
Instead of using scrolling, you can also use word wrapping. That way you can type a longer text, and the words will all be displayed separately.

Word-wrapping is enabled by adding two pipe || characters.

Example:
  ||THIS TEXT IS WORD WRAPPED

Again, it's possible to adjust the time that a word is displayed:
  1.5s:||THIS TEXT IS WORD WRAPPED

If a word does not fit on the display (for PS texts if it's longer than 8 characters), the remaining characters are truncated. To avoid that, you can combine word wrapping with scrolling.

Combining word-wrapping and scrolling
If you combine word wrapping with scrolling, every word in a text is displayed separately. If it does not fit on the display, scrolling is used to display the whole word.

Example:
  ||<TRANSMISSION IS A LONG WORD

Now the scrolling problem from before re-appears: The start and end of the word are displayed only very briefly. This can be solved using the timing settings described for scrolling.

So, to display the text, every word 1.5 seconds, but if a word scrolls its start (1) and end (-1) should be displayed 1 second, and the parts in between (2 up to -2) should be broadcasted 2 times, that leads to: 0=1.5s,1=1s,2..-2=2t,-1=1s:

Example:
  1.5s,1=1s,2..-2=2t,-1=1s:||<TRANSMISSION IS A LONG WORD

Including dynamic texts
Dynamic texts can be used to include all kinds of changing information in your RDS texts. For example the name of the song that's currently playing, the current temperature, the weather forecast, you name it.

Stereo Tool enables you to include this type of data, as long as you can make the text available in a file. If you have that, there are 4 ways of including data from a file into your RDS text:
  • \R"C:\Filename.txt"
    Reads raw (unformatted) text from C:\Filename.txt, converts it to capitals, and inserts it here in the RDS text.

  • \r"C:\Filename.txt"
    Similar to \R, but does not convert the text to capitals. So - if your input file contains lower case characters - chances are that some radios won't display (parts of) the text.

  • \F"C:\Filename.txt"
    Reads formatted text from C:\Filename.txt, converts it to capitals, and parses it as if it were a part of the filled-in RDS text. So any special characters (<, ||, : etc.) are used for formatting.
    Only use this if you know what you are doing, unexpected special characters in the file can lead to unexpected behavior.

  • \f"C:\Filename.txt"
    Similar to \F, but does not convert the text to capitals. So - if your input file contains lower case characters - chances are that some radios won't display (parts of) the text.
Unless you are doing special things, you should only need \R.

Example:
  POWER-FM/PLAYING/\R"C:\NowPlaying.txt"

Because song names can be long, you'll probably want to use the word wrapping and scrolling trick described above:
  6s:POWER-FM/1.5s,1=1s,2..-2=2t,-1=1s:||<NOW PLAYING \R"C:\NowPlaying.txt" ON

Note: There is a bug in some versions before 3.24 which can result in unexpected behavior. Please upgrade to version 3.24 or higher if you need this functionality.

How to get the name of the current song in a file?

If you are using Winamp, I recommend the Advanced mIRC Integration Plug-in (AMIP Now Playing) plugin for this. It can be configured to write the current song info to a file, and you can control the formatting of the song info - and which info is exactly written to disk.

After installing AMIP, configure it (it can be found under General Purpose plug-ins in Winamp).
Enable "MAIL Integration", select a file name to write to, and select a format string in the Now playing edit box. %name gives you the name as Artist - Track. %s gives you the name as specified in Winamp (see General Preferences -> Titles), here you can remove the dash (-) if you want to.

Let's say you want to use scrolling for the entire artist/track name, including the dash. Then the steps to take are:
  • Install AMIP
  • Configure AMIP: Enabled MAIL Integration, make sure that Now playing is set to %name.
  • In Stereo Tool, type something like: 5s:POWER-FM/<<NOW PLAYING \R"C:\amip.txt"
    That's all!

    For other programs, you'll need to find another way to write the current track info to a file.

  • Special characters
    As you can see above, some characters have special meanings in Stereo Tool. More specifically, the characters <, >, |, :, / and \ cannot be used normally in a text.

    If you need to use any of these characters, put a \ in front of it. So: \<, \>, \|, \:, \/ and \\.

    Example:
      \<POWER!\>


    This website is © Copyright 1999-2014 by Hans van Zutphen
    Stereo Tool is shareware. You are free to give Stereo Tool to others, publish it on shareware CDs/DVDs, websites etc.