A companion program for TwoToneDetect that assists in finding unknown tone sets.

TwoToneFinderTwoToneFinder s free for personal and noncommercial use by public safety agencies and organizations.  If you’d like to use the program for commercial purposes, please contact me.

Download the latest version (v01) here

What is it?

TwoToneFinder is a Windows (or Linux) program 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.  This type of paging is commonly used for fire department alerting.  Upon detecting a two-tone set (or a long tone), the program will record the subsequent dispatch audio and log the tone set frequencies, durations, and timestamp in a text file for later review.

Download & Installation

After downloading the .zip file (see link at top of page), simply unzip into the folder of your choice on your computer.  There is no installer.   Simply unzip the file into a folder on the computer that will be running the program.  Inside the folder there are two executable files (.exe files).  They are “TwoToneFinder##.exe” and “TwoToneFinder##_debug.exe”.  The only difference between the two programs is that the _debug version of the program will open up a “debug” screen in addition to the main program screen.  This can be helpful to see what’s going on “behind the scenes” of the program if you encounter any problems.

On Linux, run the compiled Python file included in the ZIP package instead of the EXE:

python TwoToneFinder##.pyc

Steps to get up and running:

  1.  Download ffmpeg.exe from the internet and put it in the directory with TwoToneFinder
    Download this version.  If that version doesn’t work you can try the latest Windows 32 bit static build from here. NOTE:  Be sure to unzip the downloaded file before putting it into the TwoToneFinder directory!
  2. Run the program and click on the “Edit Config Info” menu. Set up the config items according to your needs.  See “Starting and Configuring the Program” section below
  3. Select the audio input and output devices you want to use from the main screen
  4. Exit the program
  5. Restart TwoToneFinder

Starting and Configuring the Program

  1. Start TwoToneFinder
  2. Select the Audio Input and Output devices from the drop down menus.  It’s best to use a line-in for the scanner input, but a microphone in can also work if set up properly in the Windows sound mixer.  Use Windows sound mixer to adjust the input audio level, if needed.  Note: On some newer Windows machines, an audio jack must be plugged in to the audio port before Windows will recognize the audio device.  Not having anything plugged in to your sound card may prevent TwoToneFinder from starting.
  3. Adjust the audio squelch level so that the audio level is under the threshold (main screen reads “No Audio”) when no scanner audio is present, but above the threshold (main screen shows frequencies) when scanner audio is present.  You may find that tuning the scanner to a local weather station can help quickly find an appropriate squelch level.  This can also help you adjust the sound levels in the Windows sound mixer.
  4. Next, click the “Edit Config Info” menu item at the top of the screen.  The following menu should appear:

Configure the menu items as appropriate.  Here is a brief description of each of the fields:

  • A tone minimum length:  Minimum length (in seconds) that a tone frequency must be present for the program to recognize it as a valid “A” tone.  0.6 seconds is a good starting point to use.
  • B tone minimum length:  Minimum length (in seconds) that a tone frequency must be present for the program to recognize it as a valid “B” tone.  0.6 seconds is a good starting point to use.
  • Long tone minimum length:  Minimum length (in seconds) that a tone frequency must be present for the program to recognize it as a valid “Long” (group page) tone.  6.5 seconds is a good starting point to use.
  • Maximum gap length:  Maximum allowable gap (in seconds)  between A and B tones.  For most systems, this can be left at 0.
  • Record Time: Minimum number of seconds that the program will record audio after a tone set is detected.  The program will record audio for this length of time, and then continue recording until silence is detected for the Record Release Time (see below).
  • Record Release Time: Number of seconds of silence necessary before recording will stop (dynamic record time).  Max is 60 seconds, default is 0 (which makes recording 100% based on the Record Time parameter)
  • Tone Tolerance:  Tolerance (in percentage) of the tone detection algorithm.  As an example, if a tone of 1000 Hz is specified and the tolerance is 2%, the program will detect tones from 980 Hz to 1020 Hz.  If this is set too narrow some tones may be missed.  If it is set too wide, false detections may occur.  A value of 1-2% is usually sufficient.
  • Tone Offset:  This is a “fudge factor” offset (in percentage) that is applied to all incoming audio signals.  This can be used to correct for sound card inaccuracy due to clock offset or drift.
  • MP3 Encoding Bitrate:  Select the desired mp3 encoding bitrate from the drop down menu.  Lower bitrates result in smaller files, higher bitrates result in larger, higher quality files.