What is TwoToneDetect (TTD)?
TwoToneDetect is a part of the IaR system that interfaces with a radio receiver or scanner. It uses the computer’s sound card to listen to the received audio and detect two-tone sequential paging sequences
(Quick-Call 2 and similar formats). This type of paging is commonly used for fire, EMS and police department alerting. Upon detecting known two-tone pages, the system will record dispatch audio and send that audio to your members through your IamResponding system.
In addition to this step-by step guide, check out the Step-by-Step training Video
TTD for Raspberry Pi OS - video
Process flow
TwoToneDetect on a Raspberry Pi
Raspberry Pi’s are small Linux devices which can run TwoToneDetect. If your agency does not have a reliable PC or needs to purchase a new computer to run TwoToneDetect we strongly recommend checking out a Raspberry Pi due to their low cost and excellent reliability.
Before getting started we recommend checking out our Raspberry Pi Training video HERE which walks you through the equipment and setup.
Our latest Raspberry Pi Image download with the latest version of TwoToneDetect can be found below. The image file includes the full Raspberry Pi operating system with TwoToneDetect pre installed and is
configured to automatically start TwoToneDetect on boot.
Example raspberry pi shopping list
Many departments have requested a shopping list to purchase the items shown in the training video HERE.
While IaR does not sell hardware, we have put together a list from several retailers with the items described below.
*The radio listed below (Baofeng UV-5R) works for many agencies it may or may not work for you depending on your local radio system. If you have a spare radio/scanner with an audio output port you can use that instead to connect to your Raspberry Pi.
Raspberry Pi
Micro HDMI to HDMI cable
Raspberry Pi enclosure
USB-C power supply
Micro SD card (16GB or larger)
USB to micro SD card adapter
Sabrent USB sound card
Baofeng UV-5R radio
Battery eliminator
AC/DC adaptor
Audio cable
Checklist to get started
- Radio or scanner with an audio output capability. A reliable, clear signal is necessary for the system to be able to identify an A Tone & B Tone and is also important for playback of the audio.
- Auxiliary audio cable, usually 3.5mm to 3.5mm or 3.5mm to 2.5mm. The connector size depends on your radio or scanner output size.
- A Raspberry Pi Model 3 or newer with a USB sound card.
- Reliable internet connection. Your network will need to allow access to Port 443 for HTTPS traffic. Also, if you have a proxy server setup on your network that intercepts traffic, you will need to setup a bypass to allow access to ttd.iamresponding.com.
- Your pager tone frequencies. You should be able to get that information from your dispatch center or Radio Vendor.
- UPS “Uninterruptible Power Supply”, this is an optional item but helpful in the event of power outages and during generator test cycles. Keep in mind, if your internet connection goes down you will not be able to send audio notifications to IAR.
Hardware - setup
*Before you get started:
You must download the appropriate TwoToneDetect Raspberry Pi Image for your use.
Raspberry Pi TTD Image (TTD only - no IaR AutoLauncher)
Raspberry Pi 32 bit OS (TTD program, that can be added to a RasPi already with the TTD Image)
Raspberry Pi 64 bit OS (TTD program, that can be added to a RasPi already with the TTD Image)
- Insert the SD card into your SD card reader. You can use the SD card slot if you have one, or an SD adapter in a USB port. Note the drive letter assigned to the SD card. You can see the drive letter in the left-hand column of Windows Explorer, for example “G:”.
- Download the Raspberry Pi Imager from the Raspberry Pi website.
- Run the Raspberry Pi Imager from your desktop or menu.
- Under "Operating System" select "Choose OS", scroll to the bottom of the list and select "Use Custom". Then select the .img file that you downloaded from IAR
- Under "Storage" select "Choose Storage", then select the SD card that you will be installing the Raspberry PI image on.
- Click “Write” and wait for the write to complete.
- Exit the imager and Eject the SD card.
- Put SD card into Pi.
- Plug in USB sound card prior to powering up Pi.
- Power up Pi with keyboard, mouse, and monitor attached (optionally, SSH and VNC access are also enabled for advanced users who know how to use those tools and know how to find the IP address of the Pi on their network - default VNC password is: iamresponding)
- Change time zone to local (raspi-config via GUI)
- Change password (optional - default is: iamresponding)
- Setup WiFi if necessary. Hardwired ethernet preferred for reliability reasons.
Programming - setup
Step 1: Enable “Permitted to manage TTD settings” on your IaR Web Profile under
Manage Members → Edit Member.
Step 2: Generate a TwoToneDetect API key by going to
Administrative Functions → TwoToneDetect Settings → Generate TwoToneDetect API Key,
and select the button that says, “Generate”.
Support Tip → Copy the computer-generated API Key and keep available for a later step in these instructions.
Step 3: Create your first pager group by going to the
Administrative Functions → TwoToneDetect Settings → Manage Pager Groups.
- NAME the Group. Many agencies will simply input “FIRE”, “EMS”,
- “Officer”. Whatever suits your situation.
- The A Tone and B Tone frequencies will need to be provided to you by your dispatch center. Most users can get started with A Tone and B Tone frequencies and leave all other settings at the default values.
- Click SAVE at the bottom.
Step 4: TTD on the Raspberry Pi will automatically start on device bootup (may take a minute or two).
An icon should be visible in the system tray once it is running:
- Click on the taskbar icon to open the TwoToneDetect GUI in a web browser. Alternatively, you can browse to this location to access the GUI: http://localhost:8080/index.html
On the TTD GUI
Set the “Audio Input Device” as the input that your radio is plugged into.
- You may see two or more sound input options.
- Try/experiment with your options, seeing which input is coming from your radio or scanner.
Support Tip → If the TTD GUI “Tone Frequency” is populating with tone frequencies while you speak, you are having TTD listen to a Microphone, not your radio. You will need to select one of the “other” Audio Input Devices from your list.
Set the GUI’s Green “Audio Squelch” indicator slightly to the Right of the Blue “Audio Level” indicator when there is not any radio traffic.
If the squelch is set correctly “No Audio” should display next to TONE FREQUENCY when there is not any radio traffic.
Support Tip → If the “Tone Frequency” is populating with tone frequencies when the Green “Audio Squelch” is towards the Left, then we know that the TTD program is properly listening to and “hearing” your hardware.
Go to the TTD GUI button labeled “Edit Config Info” to enable the IaR Integration and add your API key.
- Check the box labeled, “Use IamResponding for alerting: ?”
- In the field labeled, “IamResponding.com API Key: ?”, paste the API Key that you copied. If needed, you can go back to the:
- Administrative Functions → TwoToneDetect Settings → Generate TwoToneDetect API Key,
- and copy the API Key, to Paste into the “IamResponding.com API Key: ?” field.
- Leave all other “Edit Config Info” fields BLANK, unchanged.
- Click SAVE at the bottom of the screen. Close this Tab (Settings Editor) on your Chrome Browser, but keeping open the main GUI Browser Tab.
If you have made it this far, you are 99% of the way done.
Opening the TTD DeBug Screen
In the Raspberry Pi TERMINAL, type in: screen -r
This screen gives you real-time visual representation of the TTD program.
Running TTD tests
We suggest that you have the TTD Debug Program minimized and on one side of your screen, while simultaneously having the TTD GUI minimized on the other side of your screen.
-This allows you to easily monitor both programs at once.
You will want to ask your dispatcher (unless you can do it yourself) to have your tones tested/paged over your radio or scanner.
When this happens, you will want to watch two things.
- On the TTD GUI, does the Blue “Audio Level” indicator jump to the
Right when the tones are played, and above (to the Right of) the
Green “Audio Squelch” indicator?
● If Yes, Good.
● If the Blue “Audio Level” moves, but not to the Right of the Green “Audio Squelch”, move the Green Audio Squelch” lower (to the Left) - On the TTD Debug Program, you want to see rows of data populate on the screen as your tones are played and as there is information spoken over the channel.
Support Tip →
● If the Green “Audio Squelch” control is too far Right, you will not see the “Tone Frequency” populate.
● If the Green “Audio Squelch” control is too far Left, you will see the “Tone Frequency” populate constantly as it hears static and white noise.
● Ideally you want the Green “Audio Squelch” control set so that static and white noise don’t cause it to populate, but when tones are played and the dispatcher speaks, the “Tone Frequency” does populate.
● The “Tone Frequency” will populate when ANY tones or sounds are ‘heard’ by TTD, not just your tones. TTD will not record and send you anything until it hears YOUR programmed tones.
On the GUI use the button for View Debug Info.
Scroll to the bottom and start looking for indicators that your programmed Tones were properly heard by TTD, you will see Rows in the TTD GUI’s View Debug Info, that look like this:
If you do not see any mention of a “success”, you will want to look at your Debug Info Log File to see if you can recognize if ANY tones were heard.
Log files
On TTD GUI, go the button that says, VIEW DEBUG INFO.
● Go to the Very Bottom of the Log after it is opened. (the bottom is the most RECENT data recorded).
What to look for as your scroll upwards through the data:
1 .Visually search for what you believe is your A Tone and B Tone.
Support Tip → On the log, use Control-F (Ctrl key and F key) on your keyboard. This will open the SEARCH tool, typically along the Top/Bottom of your screen.
2. If you don’t see your exact A Tone and B Tone (which is very common), look for two separate “blocks” of data.
See in the image below, the 365.7 block and then the immediate 989.5 block of data.
This indicates an A and B Tone.
The image shows an A Tone of 365.7 and then immediately a B Tone of 989.5.
Many dispatch centers will tell you that your tones are “X”. Their margin for error may be greater than TTD. You may find that the tones found in the TTD “logfile” are slightly off, even a few “whole numbers” different from what you were told. This is OK. We will just program the IaR TTD Pager Groups according to what TTD hears.
Support Tip → You may have been told that your A Tone is, 363.7. TTD may have heard 365.7 as seen in the image above. Look for the “blocks” of the same information, an A Tone immediately followed by a B Tone.
Support Tip → On the DeBug Info, Remember the NEWEST information is at the BOTTOM of the column of data.
Support Tip → On the DeBug Info, each row of data represents a fraction of a second of time (0.22 sec). When you see 5-10 Rows of data that are EXACTLY the same, you know that is an electronic sound being played (i.e.: tones or static).
Support Tip → On the DeBug Info, if you see a lot of the same frequency, appearing in large blocks or consistently appearing, but no blocks of identical tones, you likely have some ‘interference’ in your environment/hardware.
Support Tip → On the DeBug Info, the second column represents the VOLUME of what TTD is ‘hearing’. 30,000+ is TOO LOUD. TTD will not recognize your tones because they are being ‘washed-out’. Please turn your device’s volume knob down to only about 5-20%.
Setting up your members to get TTD alerts
Now that you have added pager groups and installed TTD, your members will have to subscribe to those pager groups to be able to receive TTD alerts.
● Go to
Administrative Functions →Manage Members →Edit a Member
and select the member you would like to update. There will be a new section in the member profile called “Two Tone Detect – Pager Groups”.
● Each pager group you have created will be listed with two check boxes: “Pre-Alert” and “Alert”. Pre-alerts are notifications that arrive immediately when your pagers are activated, Alerts are notifications
that arrive shortly thereafter with the recorded audio.
An Administrator can check both boxes for each Pager Group, and members within their App can control whether they would like to receive audible notifications of Pre-Alerts and/or Alerts.
Download the latest IaR app, go to Settings → Audio Incident Settings, and
enable Pre-Alert and/or Audio Alerts.
The Android app has a unique feature labeled “Automatically play Audio Alerts” that will mimic your pager’s functionality.
● Your Android phone will then play the audio immediately even if you do not open the app or unlock your phone. However please make sure to read the information popup next to the checkbox in the app
to fully understand how this works.
Mutual-aid management of pager groups
Many agencies are not able to set up their own PC to run TwoToneDetect due to budget constraints, lack of hardware or may not have a quality radio signal in their area. Linking IaR agencies using the Mutual Aid
feature allows an agency to send audio dispatches to another agency using a single instance of TwoToneDetect.
This can also be used for 911 centers to setup a single TTD system to send to numerous IamResponding systems (check with our sales team to setup a Regional TTD account for your 911 center).
To setup the Mutual Aid feature go to the:
Main Administrative Page → System Settings → Dept ID. / Mutual Aid ID’s.
An agency that would like you to manage their TwoToneDetect Pager Groups will need your Subscriber ID, which is located at the top of your page.
● Once the other agency has your Subscriber ID it will need to be entered in the Mutual Aid Subscriber ID field within their IaR Mutual Aid IDs.
● Then the agency that wants you to manage their pager group, needs to select the checkbox labeled “Allow to manage our Pager Groups”, in-line with your Agency Name.
● You can now select that agency when creating Pager Groups on your IaR account’s TTD Manage Pager Group Settings.
TTD tips & troubleshooting
Getting pager tone frequency information
Some dispatch centers or radio shops may provide their pager tone information in "cap code" format rather than as actual tone frequencies. These can get a little confusing to decode since they vary by paging tone format. A good list of most common formats and cap codes can be found HERE. (http://genave.com/two-tone-paging/)
Interference
When using a Radio/Pager/Scanner that plays its own sound when your agency is “toned”. Turn these additional alert sounds OFF. This additional sound from the Hardware is likely interfering with your TTD program hearing the broadcasted A Tone and B Tone come through the hardware itself.
- THIS INCLUDES A VIBRATION. If your hardware vibrates when a call is received, turn the Vibration OFF.
- When using a Radio/Pager/Scanner that has a charging “cradle”, TTD will likely pick up a quiet “hum” of white noise from the “cradle” charging process. You will want to try the device when it is NOT in the “cradle” to see if the “interference” goes away.
- PLACEMENT- you will want to make sure that your hardware and your computer running TTD are as far apart as your Auxiliary Audio Cable allow.
- Ensure that your Auxiliary Audio Cable is “shielded” from outside interference. If not, it may pick up electronic sounds and static like it was itself an antenna.
- If your VOLUME column of the Debug Info is 30,000+, turn your device’s volume knob down, to 15-30% of the maximum on your device.
There are a few ways to manage interference:
(not in order or preference)
1. Find the cause and eliminate it (other computers/servers/devices/appliances)
2. Adjust the Squelch to stop the static (radio transmissions still need to come through)
3. Better wire management (no tangles, braids, twists, wires draped over other appliances/devices)
4. For your reading pleasure, see this link and consider the possibility that the static is environmental (your rooms wiring/connections/wall plug usage)
-- Article about HUMs/STATIC --
Low Audio or No Audio
If you are not receiving audio or audio levels are low, verify the sound input quality and whether the soundcard is receiving audio.
- On the newer RasPi OS, the isn’t a PULSE volume control, as shown in our YouTube Video.*
- If you are not seeing what our video displays:
■ Go to the RasPi terminal:
■ Type in: alsamixer
■ Select option: F4
■ Use the UP and DOWN Arrows on the keyboard to control the Capture Volume, Up and Down.
- If you are not seeing what our video displays:
*These settings may not need to be adjusted at all. Only if you are having audio problems.
Thank you for your interest in using TwoToneDetect!
Our goal at IamResponding.com is to reduce response times and help get more complete crews to your incidents, faster.
If you know of other agencies that would benefit from using this feature and they are not setup with IamResponding.com, please let us know.
Stay safe and thank you for using IamResponding.com!
Do you have a fun tip, or a suggestion of something to add to this article?
Email us at: Support@EmergencySMC.com, Subject Line: Attention to Steve, ZD-Article