CMRC SoundScape is a simple to use sound management system that has been designed primarily to allow the playing of sounds on an Android tablet while operating a model railway layout.

Having said that it can be used for playing any types of sound or music tracks.

For best effect the tablet should be connected to an externally powered speaker either via Bluetooth or via the 3.5mm jack socket.

It was created using MIT App Inventor 2 and tested and developed on a Nexus 7 2013 running Android 5 Lollipop and also on a Hudl2 running Android 4 KitKat.

Up to 30 'background' sounds can be played at intervals or in a continuous loop with each sound having its own volume control.

While these 'background' sounds are playing up to 30 more manually selected sounds can be played. Of these 30 manually selectable sounds up to 10 sound sequences can be defined with up to 6 sounds per sequence.

Up to 10 Public Announcements (PA) can be predefined with one extra ad-hoc PA available for 'on the fly' announcements. These PAs can be prefixed with a chime sound if required.

From version 11 there are two playing modes. The default mode is Master which operates in the same way as previous versions in that all sounds are played on the local device. If CMRC SoundScape has been installed on another Bluetooth paired Android device and has been setup to run as the Slave then the sounds can be played on that device.

CMRC SoundScape can be configured as follows:
  • 30 manually selectable sounds,
  • 30 auto-repeat sounds,
  • 10 Public Announcements plus 1 ad-hoc PA
  • 10 Sound Sequences of up to 6 sounds per sequence.

The application automatically creates the directory SoundScape with the sub-directory Sounds.

Public announcements can also be made with an automatic 'bing-bong' chime prefixing it, which can be disabled.
This uses the Text-to-Speech facility available in Android and the pitch & rate can be set from Setup menu.
For the chime to work the mp3 file bingbong.mp3 must exist in the Sounds directory.

When a configuration is saved from the application it is saved internally and can also be exported to the file /SoundScape/SS_Config.txt.

If more than one configuration is required then multiple files can be created and copied over the file SS_Config.txt.

Having saved the first configuration file ensure any manually created ones conform to the same format.

The 'Load' utility accessed from 'Setup' only loads from the file SS_Config.txt.

If CMRC SoundScape has been installed on another Android device that is going to be used as the Slave then copy the SS_Config.txt file on to the Master device and rename it SS_SlaveConfig.txt.
This will be loaded automatically when the Slave is connected.

The Welcome Message on startup can be disabled from 'Setup'.

This is pretty straight forward and gives access to the app's main functions.
The "Help" available is more or less what is shown on the Configuration page.

From the Setup Screen all of the main functions can be initialised.

  • Load Config File
  • Export Config File
  • Switch on/off startup message
  • Text to Speech Setup
  • Define the Manually Select Sounds
  • Define the Auto Repeat Sounds
  • Define the Public Announcements
  • Setup the Slave Device
  • Setup the Master Controller

The "Delete" and "Save" buttons are shown disabled above and are enabled when a definition has been entered as shown below.

This screen shows that the Manually Selected Sounds has been selected as it is highlighted in green.
When defining a sound three items need to be specified:

  • The sound's description that will appear on the button
  • The filename of the sound as held in the Sounds folder
  • The length of time the sound plays for in seconds. If this is not known it can be left blank and the time will be estimated automatically as shown in the screenshot below.

    This will almost certainly be slightly too long and will have to be adjusted accordingly by playing the sound and re-entering the actual play time.
    The difference between estimated time and actual time is due to length of time it takes to update the track countdown timers.

The Text to Speech Pitch and Rate can be set here.
To test the settings enter some text in the textbox and play it until you are satisfied with the result.
Reducing the Pitch to zero results in a harsh, 'dalek' type voice.

If CMRC SoundScape has been installed on another Android device that is going to be used as the Slave then copy the SS_Config.txt file on to the Master device and rename it SS_SlaveConfig.txt.
This will be loaded automatically when the Slave is connected.
Before connecting the Master to the Slave, the Slave must be ready to accept connections as shown below.
The Accept Connection button is disabled (greyed out) when the connection has been accepted.
To exit from the app on the Slave device the connection must be broken first.

Once the Slave is ready to accept connections the Master can connect as shown below
Similar to the Slave device, the Connect to Slave button is disabled once the connection has been made.

  • Manually Selectable Sounds:
    This shows all 30 sounds defined.

    If a button is not defined it is disabled and is labelled 'Not defined'
    If a Slave has been connected the toggle button 'Play on Slave/Play on Master' button is enabled. The chosen play option is displayed on the screen title and will always show the opposite of the text on the button.
    If the 'Play On Slave' option has been chosen the button text is highlighted green while playing, reverting to blue when the sound has ended.
    To play a sound just touch the button. While a sound is playing on the Master a countdown timer will be displayed on the button.
    All of the sounds can be played in parallel.
    Once a sound has been assigned it can be reassigned either from 'Setup' or by long-clicking on the button unless a Slave is connected in which case the option to play the sound on both devices is presented.
    As in 'Setup' if the track time is left blank it will be estimated.
    This opens the screen shown below from which 'Save' is the only option out.

    If a sound has been used in a sound sequence definition it cannot be modified until it is removed from any sound sequence that uses it.
    If a Slave has been connected long-clicking on a button opens the screen below.

    If the Fade option is left as default, ie. No Fade, then the sound will be played on both devices and the volume balance can be adjusted manually using the volume slider.
    If one of the other fade options is chosen then the sound will be automatically faded from either Master to Slave or vice versa and the volume slider will not be effective.

    While a sound is playing on both devices it is still possible to continue playing other sounds as usual.
  • Public Announcements:
    This shows some predefined PAs with the Ad-hoc PA text box empty.
    To play a PA just touch the corresponding button to the right of the textbox.
    The predfined PAs can be altered before being played if required.
    The chime can be switched on or off as required and needs the file 'binbong.mp3' to be in the 'Sounds' directory.

  • Sound Sequences:
    The 'Save' and 'Play' buttons, shown below, are disabled until a sound sequence has been defined.
    When selecting from the sound lists in creating a sound sequence your selection will be confirmed by displaying a temporary notification.
    If you do not see the confirmation notification displayed then select another item and then reselect the item you really want.
    The sound sequences can only be made up from the manually selected sound definitions.
    When a sound sequence is playing the 'Play' button is highlighted in yellow and no other action can be executed until the sequence has completed.

  • This shows some sounds playing, as highlighted in green.

    To continually loop a sound tick the corresponding 'Loop' checkbox before playing the sound.
    If the 'Loop' checkbox is left unticked the sound will play at random intervals by default and the number displayed as a label suffix is the number of seconds from the start of play before the sound is played again.
    To set the repeat period to a preset value then long-click on the button to display the screen shown below and enter the required value in seconds, which must be greater than or equal to twice the track time.

    To cancel a preset value just long-click on the button again.
    To stop a sound just touch the button again.
    To adjust the volume of a sound once it has started playing just move the volume slider.
    If a Slave has been connected and 'Play on Slave' has been selected the button text is highlighted in blue when not playing.

To download the latest version, which is now 11.3, click here
To install it transfer the downloaded .apk file to your Android device and then change the Security setting 'Unknown source' to allow installation of apps from sources other than Google Play Store.
Despite what the access permissions required show on installation the only file that is written to is /SoundScape/SS_Config.txt.
The only files that are read are the sound files in the 'Sounds' directory and the SS_Config.txt file.

Latest changes:

  • Introduced Master/Slave operation with volume adjustment options. (11.3)
  • Introduced track times on Auto and Manual Sounds and countdown timers on Manually Selected Sounds. (10.6)
  • Introduced setting regular repeating of Auto Repeated Sounds. (10.5)
  • Improved Sound Sequence handling. (10.4)
  • Introduced a short cut to reassign any individual Manually Selected Sound. (10.4)
  • Added a link to the CMRC website from the Home screen Help. (10.4)

If you want some railway sounds to start off with then download this file by clicking here
This ZIP file contains the following mp3 files:

For some great BR diesel sound tracks visit Andy Slater's excellent website


Would ALL Companies, Commercial concerns and users of this website please note the following:
From December 2003 it became an offence to send UCEs to any individual who has not given their prior consent to receive such material from the addressee, unless the addressee has already given his or her e-mail address direct to the sender in the context of the purchase of a product or service.
The offence is detailed in the Consumer Protection (Unsolicited E-mails) Bill.

Thank you.

Please use this page to contact us - free web hosting. Free hosting with no banners.