The EDACS Beep Eliminator

Does your public service agency use a GE/Ericsson trunked system? Are you tired of listening to a conversation, only to have it end by "beep beep beep"? If you have a Bearcat BC895XLT and a sound card with proper drivers, this piece of software will virtually eliminate the beeps from the conversation! THIS PROGRAM DOES NOT TRACK GE SYSTEMS. If you are interested in tracking a GE system, please search the Net for the recently uploaded format of the GE control channel. However, if you just want to monitor a GE system and don't have the desire or soldering prowess to tap the output of your scanner's discriminator, this program is for you!

How It Works

The GE trunked system is designed so that at the end of every conversation, a series of anti-scanner "beeps" is produced to dissuade you from monitoring the service. When you run this program, you provide it with the channel numbers in your scanner where you have stored your GE system frequencies. A DFT (Discrete Fourier Transform) routine detects the 4800 Hz beep. When a beep is detected, the program "locks out" the channel for a configurable amount of time until the beeps are gone. Thus, when you scan the system with this program, you'll hear the beep for only a very short period of time as the program detects it. Then the program will search your GE system frequencies for the next active one. When the beep time has expired, the program allows that channel to be monitored again.

What You Need

What About Windows 3.1?

Since the multimedia calls are available in Windows 3.1, you should be able to use the program. However, since the provided executable is currently only available as a 32-bit program, you will have to make a few changes to the source and recompile it as a 16-bit application. Since I currently do not have a 16-bit compiler, I'm afraid I cannot provide an executable.

Does This Program Work?

I have used this program to monitor a small GE system in my region. However, your mileage may vary. This program is released to the public domain as freeware, but I make no warranties as to its effectiveness, express or implied, nor will I be held liable for any damage you do to your computer, yourself or society from the use of this program. In other words, if you screw up your machine with this program and suffer irreperable damage, you have only yourself to blame. Likewise, if this program frustrates you to the point where you "go postal" and take out a dozen or so people, I'm truly sorry--but leave me alone. Consider yourself warned. Furthermore, I cannot provide technical support for this program. If you have any nice comments or concerns, do not hesitate to E-mail me. However, I cannot (and will not) tell you what you need to do to get it to work with your particular system. The instructions provided here are your only guide and should be enough to get you started.

How Do I Use It?

First, make sure that you have a working cable to connect your computer to your BC895XLT's computer control port. Place the scanner in remote mode by holding down the RMT button until you hear two beeps. Now your scanner is ready to be controlled by GE-Ease.

From the command line, issue the follwing command:

gedos comx threshold

In the above, x represents the COM port to which you have your scanner's interface cable connected. This can be a value from 1 to 4. Threshold is a number representing the beep threshold. Generally, you can't calculate this number directly, but if you run the program with a ridiculously high value for this parameter, you can get an idea of what this number should be. Each time a signal is encountered, a number is printed to your screen representing the value of the DFT (see above) for the sampling period. This number is constantly updated while the the program has stopped on a channel and is listening for the beeo. Run the program and monitor a GE system with this program using a threshold value of 1000 or so. When you hear the first GE transmission, watch for the jump in value of the printed number when the beeps start. Use a value just below the biggest number you see for your threshold and you should be OK. For example, the first time I ran the program, I saw:


Note the tremendous jump in value as the beep began. I used 30 as a threshold value and it worked quite well. Follow the above procedure and you should get good results. If you find that you aren't detecting many beeps reliably, try decreasing the value. Similarly, if the lockout triggers without the beeps, try increasing the value. Trial and error is the best way to determine this value.

When you start the program, you will be asked for the channels on your scanner where the GE system frequencies are stored. DO NOT ENTER THE CONTROL CHANNEL. If you do, you will lock up on this channel and not be able to monitor the system. So, enter each frequency, one per line, ending each with the ENTER key. When you are done, hit ENTER on a blank line.

The next thing you are prompted for is which sound card to take the input from. Normal people should see only one sound card with index 0. Weird people like me, on the other hand, have two or more sound cards in my system (I also do multitrack music recording), so I see two indices. Normally, all you have to do is enter 0 and the correct sound card will be selected.

At this point the program should be up and running successfully. If you have any major errors, the program will let you know, and if sufficiently fatal, will stop. When activity on a channel you have entered is detected, a message will be printed to the screen and then a set of values corresponding to the value of the DFT. As soon as the carrier is lost, or the beep is detected (whichever comes first), the program scans the next channel that you have entered. If you notice poor tracking of the beeps, reconfigure as described above and try again.

How Do I Quit This Program?

Use the ultimately elegant CONTROL-C combination. The program will stop.

Can I Monitor Other Services While Using GEEZ?

Yes you can. Simply enter channels into the program that correspond to non-GE systems. Even if a beep is not detected, the program will continue scanning when the carrier is lost on that channel. Be aware, however, that by doing this, you run the risk of encountering the GE beeps close to the end of their about three second period, and you could end up locking out a channel near the end of this period. This may mean you miss the start of some conversations on the GE system. This could happen simply monitoring a GE system anyway. Like I said before, use at your risk. This program ain't perfect, but it helps.

The Good Stuff

And without further adieu, the program! The .EXE is the executable file. Simply download it to your computer and provided you've met the conditions above, go ahead and run. Following the .EXE is the source code in C++.

Click here to download the executable (gedos.exe)
NOTE: If you downloaded this either Friday or Saturday before 11:00, you will have a non-working version. Turns out the Release version doesn't work, while the Debug does. To all who downloaded the bad one, I'm very sorry. It's been a bad weekend so far with regards to computer stuff (see below). This one should work. If you can't tell, the bad version is around 48000 bytes while the good one is about 120000 bytes. Sorry.
Click here to download the source code (
Accept my sincerest apologies for being late with this one. Some memory I bought blew up my motherboard last night. I'll spare you the details, but paying over $200 for 32MB of RAM makes me a little angry. Lousy cheap SIMMs!

WARNING! This program is untested under Windows NT. It should work under NT. If it doesn't, well, sorry.

Can I Modify The Source Code?

Be my guest. I don't care what you do with it, as long as you credit me in the comments for having created this program. Also, if you make the big bucks with this program, do try to cut me in.

Can I Mail You Kudos Or Questions?

Most certainly, as long as their not flames or of the "I can't get this damned thing to work on my system! Tell me what I'm doing wrong, or come over and fix it!" type. Once again, I will not answer questions about how to get it to work on your particular system. Read this entire document over carefully, experiment for yourself, and you should have some measure of success. General questions or congratulations are always welcome.

© 1998 Aaron Rossetto