TwoToneDetect Beta

Status
Not open for further replies.

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
Everytime I shut down your program I get an error box that comes
Error 8 occurred at Open/Create/Replace File in Write Spreadsheet String.vi->Write To Spreadsheet File (string).vi->TwoToneDetect10.vi
and any changes I have made to the program are lost when starting the program again.
Steve

In the installation directory (c:\program files\TwoToneDetect) there should be a "data" folder. In that folder there should be a file called "config.cfg". If that file is not there, create a blank file with that name and extension (using notepad, for example). That should solve the problem. I may have accidentally put out a version that didn't include that file.
 

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
I must be doing something wrong, I have your program set up with my 396t scanner and the program is decoding the tones, I have (play wave file after recording check off) and it's playing a 30 second clip after it catches a tone but the program is not sending anything to my email box.

is there a way for your program to save the frequency, tone, and the .wav file and send this information to either a directory on your computer or send the information to you email address so then you have all the information pertaining to the frequency and tone. Many times there are several tones on the same frequency to tone out different fire departments and this way you can figure out what tone belongs to what company.
Steve

The email feature will only work with SMTP servers that don't require any authentication, so it won't work with servers like gmail or yahoo. I'm looking into adding authentication, but it's a ways off.

There isn't a good way to meet your logging request, since the program can't tell the difference between a valid tone and random audio (voice). The program is designed to detect tones that you already know the frequency of, not help identify unknown tones. While it does display unknown tone frequencies in real time, other programs are better suited to discovering the tone sets of particular pages after the fact.

Andy
 

winger

Member
Joined
Jan 14, 2003
Messages
3
Location
minnesota
Email problems

I think the software is a great idea. I love the idea of sending scanner audio to my email. I really want to get the program working. Problem is the authuntication. Does anyone know of any email services that don't use it? I have GMAIL...So I am out...


Thanks,
BCW9956
 

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
Gmail now supported

I just uploaded a new version that supports gmail. Using the gmail function requires the .NET framework however, so it is only good on Windows machines.

I also fixed some bugs with the tone detection algorithm and made a few other minor enhancements. Still working on adding real-time audio passthrough of audio that's being recorded...I think I'm on the right track to eventually have the working, we'll see.

Andy
 

GTR8000

NY/NJ Database Guy
Database Admin
Joined
Oct 4, 2007
Messages
15,412
Location
BEE00
First and foremost, EXCELLENT PROGRAM!
icon14.gif



Gmail support is working spot on...a much welcome (arguably necessary) addition to the program!


As far as the tone detection, maybe it's just me but it seems to slightly lowball them? I created a few "clean" test tones in Audacity and checked to see what your program was detecting them as. Here are the results:

Actual: 500.0 - 1500.0 / Detected: 496.62 - 1489.86
Actual: 1232.0 - 2260.0 / Detected: 1223.68 - 2244.73
Actual: 2500.0 - 1500.0 / Detected: 2483.11 - 1489.86
Actual: 2807.0 - 1000.0 / Detected: 2788.03 - 993.24

According to my calculations, a 0.681% increase to the tone detection would get you almost dead on accurate across the spectrum. Can the detection algorithm be adjusted that way? Might not seem like a large %, but when you're trying to keep the tone tolerance setting as tight as possible to avoid falsing where systems use very close or mixed tones (454.6 P49 and 457.9 M116, for example), it works out to be quite a bit!


Can you make it so the "Play .WAV file after recording" option saves its state to the config file after SAVE & EXIT? I wouldn't use that option, and I keep forgetting to uncheck it each time I open the program.


Is it possible for the program to go back to listening while the email is being sent, or is that a limitation of the software platform? It locks up for as long as it takes to send the email, which might result in missed pages. Perhaps a way to send the emails to a background queue, thus freeing it up to resume monitoring?


How about a way to adjust the record time? I realize 30 seconds is good for most ideal systems, but when you have a system that sounds 4 sets of tones for a single dispatch, you're lucky to get maybe 10 seconds of the actual message! Ideally, an option to set the record time on a per tone set basis would be absolutely outstanding, however I would settle for an across the board ability to adjust it if that's not feasible.


Is it possible to have the output files follow a similar naming convention as the email subject, instead of "soundclip.wav" (with the obvious filename character limitations taken into account)? Attempting to archive a bunch of clips all with the same name would quickly become a chore.


I realize I hit you with a lot of stuff in this post, but I figure if you're putting this out there for people to beta test, I'm going to run it through its paces and give you honest feedback and suggestions! A few months ago I played around with the Snooper method of sending alerts you have on your site, but I feel this software you've written is so far a better method for a few reasons. Keep up the great work, I look forward to playing with new releases of it!
 
Last edited:

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
res6cue_dot_com said:
As far as the tone detection, maybe it's just me but it seems to slightly lowball them? I created a few "clean" test tones in Audacity and checked to see what your program was detecting them as. Here are the results:

SNIPPED

According to my calculations, a 0.681% increase to the tone detection would get you almost dead on accurate across the spectrum. Can the detection algorithm be adjusted that way? Might not seem like a large %, but when you're trying to keep the tone tolerance setting as tight as possible to avoid falsing where systems use very close or mixed tones (454.6 P49 and 457.9 M116, for example), it works out to be quite a bit!

I've noticed that different sound cards seem to give slightly different frequencies for the same input tone. I'm assuming this is due to clock speed drift or something like that. I can probably implement a "tweak" adjustment, but it'll be lower on the priority list. In the meantime, you should be able to manually adjust the tone frequencies to account for any difference.

res6cue_dot_com said:
Can you make it so the "Play .WAV file after recording" option saves its state to the config file after SAVE & EXIT? I wouldn't use that option, and I keep forgetting to uncheck it each time I open the program.

Yeah, I've been meaning to do that, just forgot. It'll get added eventually.


res6cue_dot_com said:
Is it possible for the program to go back to listening while the email is being sent, or is that a limitation of the software platform? It locks up for as long as it takes to send the email, which might result in missed pages. Perhaps a way to send the emails to a background queue, thus freeing it up to resume monitoring?

Good idea. This should be feasible...just need to figure out exactly how to implement it.

res6cue_dot_com said:
How about a way to adjust the record time? I realize 30 seconds is good for most ideal systems, but when you have a system that sounds 4 sets of tones for a single dispatch, you're lucky to get maybe 10 seconds of the actual message! Ideally, an option to set the record time on a per tone set basis would be absolutely outstanding, however I would settle for an across the board ability to adjust it if that's not feasible.

Yeah this shouldn't be hard to make adjustable. I picked 30 seconds as a good tradeoff between length and file size. WAV files are really big. Ideally I'd like to add audio compression to reduce file size, but adding mp3 support is of dubious legality. Maybe an open source compression algorithm like Ogg Vorbis would be a good option.

res6cue_dot_com said:
Is it possible to have the output files follow a similar naming convention as the email subject, instead of "soundclip.wav" (with the obvious filename character limitations taken into account)? Attempting to archive a bunch of clips all with the same name would quickly become a chore.

Yeah I'd like to eventually implement filenames based on the tone description and timestamp so there would be individual files for each event saved to the hard drive for archiving.

Thanks for all of the feedback, it's great! I'll be out of town this weekend, so probably not much new will happen with this until sometime next week at the earliest.

Andy
 

GTR8000

NY/NJ Database Guy
Database Admin
Joined
Oct 4, 2007
Messages
15,412
Location
BEE00
I had the program running all day, and I think I found a glitch. It detected/recorded 10 pages correctly, but each time it emailed the exact same .wav file. The first page was the one it kept emailing over and over again.


I've noticed that different sound cards seem to give slightly different frequencies for the same input tone. I'm assuming this is due to clock speed drift or something like that. I can probably implement a "tweak" adjustment, but it'll be lower on the priority list. In the meantime, you should be able to manually adjust the tone frequencies to account for any difference.

That's exactly what I did, and I was able to lower the tone tolerance all the way down to 0.1% and still achieved 100% success, 10 out of 10 pages detected.


Thanks for all of the feedback, it's great! I'll be out of town this weekend, so probably not much new will happen with this until sometime next week at the earliest.

Andy

You're welcome, and thanks again for taking the time to write such a useful program. :)
 

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
I had the program running all day, and I think I found a glitch. It detected/recorded 10 pages correctly, but each time it emailed the exact same .wav file. The first page was the one it kept emailing over and over again

That's odd. I have not noticed that happen to me before, but I haven't tested the latest version (with gmail) extensively yet. I'll see if I can reproduce it. I'm guessing it has to either be a problem with accessing the sound card during the record phase (so it doesn't actually record a new file) or something with the gmail code, but that seems unlikely.

Andy
 

GTR8000

NY/NJ Database Guy
Database Admin
Joined
Oct 4, 2007
Messages
15,412
Location
BEE00
Checked into it further. The program for some reason is not deleting/recreating soundclip.wav in the data folder after each detection. The first detection after running the program creates the wav file, but each subsequent detection emails the original file.

If you manually delete the wav file while leaving the program running, the next detection will recreate the wav file correctly. However, any subsequent detections will again reuse that last wav file if you don't manually delete it each time.

Now, if you shut the program down, it will not delete the wav file. However, if you start the program back up, the first detection will delete/recreate the wav file that was still there from the previous running of the program.

Hope this helps.
 
Last edited:

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
So it turns out the problem is in the code for gmail support. I didn't write that code, so I'm not really sure how to fix it. For some reason when it creates the attachment it keeps the file open so that when the program tries to reopen the file for a new recording, it can't access it. My workaround for now is to create a unique filename for each recording using the "Description" field and the current timestamp. These files are stored in the "data" folder in the installation directory. The only caveat is that they can only be deleted after the program has been closed (because it holds them open for some reason after attaching them to the email). I've also made the "Play WAV file" checkbox a saved parameter. This newer version is now posted.

Andy
 

GTR8000

NY/NJ Database Guy
Database Admin
Joined
Oct 4, 2007
Messages
15,412
Location
BEE00
Good fix, that did the trick, and as an added bonus the files are now automatically saved locally with a descriptive name. I like that.

Is it possible to tweak the file naming convention a bit, to add some spaces as well as the current date? DescriptionField_YYYYMMDD_HHMMSS (underscores or spaces between fields, either one is fine)
 

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
New Version Available

A new version is now available with the following new features:

  • User selectable record time
  • Near real time playback while recording (delayed 2-3 seconds)
  • Revised filenames for recorded WAV files
  • Added a control to "tweak" the measured frequency to account for sound card differences

Next feature to be added will probably be support for more tone sets. I'm having trouble getting it to send an email while going back to check for tones...that'll be on the back burner for now. I haven't updated the help PDF file in quite awhile either, so I'll need to get that done sometime too.

Andy
 
Last edited:

GTR8000

NY/NJ Database Guy
Database Admin
Joined
Oct 4, 2007
Messages
15,412
Location
BEE00
Outstanding updates and tweaks!


- Can you make the Tone Freq window wider, maybe double in width or thereabouts? It's cropping the decimal places and making it harder to use the tone offset tweak accurately

- Can you check the sizing of the main window? It opens up with a lot of dead space to the right and bottom. It can be resized, but unfortunately the next time it's launched, it fails to remember the window size and reverts back to the dead space.

- Can you add an EXIT button that will close the program without overwriting the config file? There are times I'd like to test something and would rather not have the temporary changes written to the config file, and would like to just exit scrapping all changes and reverting to the last saved configuration.

- Thanks for adjusting the filename, however I feel the YYYYMMDD_HHMMSS format would be much better for archiving/sorting purposes. It's much easier to sort by year/month/day that way, and is also more of an "international" format than the US centric MM-DD-YYYY format.

- Regarding the audio compression issue, I think mp3 is a must, especially for sending to cell phones. As far as the legal issue, just do what Audacity does and don't bundle the LAME encoder with the program, but rather have it so you need to obtain the encoder on your own and enter the path to the lame_enc.dll directory.

- A bit of a nitpick but, could you possibly start to add incremental version numbers to each release so we can better keep track?

- Along those lines, is there a way to prevent the config file from being overwritten with each installation? I got smart this time and backed it up first, but didn't the previous time and was surprised to see all my settings wiped out.


Here's a tip for everyone else using the program:

You should be able to use it with a normal POP3/SMTP email account that requires authentication. Just enter your account's SMTP server, email username and password, but leave it set to "gmail" in the Email Service dropdown box. Worked like a charm for me, although your results may vary depending on your ISP, but give it a shot.


Andy, thanks again for this great program and for being so receptive to the changes suggested. If only all software developers were this receptive! :twisted:
 
Last edited:
Joined
Jul 23, 2006
Messages
109
Location
Georgia
Hey,

I tried the program out last night, and it is working great. I have it set to record on tone 669.9 and it works perfectly, and detects it as tone 669.89, close enough. However, I do have a feature that I think would make your program more then perfect. Is there anyway, that you can have the program mute the audio port until the specified tone(s) are recieved. We have 9 stations all with there own tones, if you could have it that only when the specific tones are heard, that it will open up the audio out to the speakers. Kinda like a Minitor but with software and a scanner. Thanks and I hope you add this feature. It would make ur program more then 100% complete.

Thanks,
Ronald B.
 

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
New Version Available

Another update is now available. Changes are listed below.

- Can you make the Tone Freq window wider, maybe double in width or thereabouts? It's cropping the decimal places and making it harder to use the tone offset tweak accurately

Done.

Can you check the sizing of the main window? It opens up with a lot of dead space to the right and bottom. It can be resized, but unfortunately the next time it's launched, it fails to remember the window size and reverts back to the dead space.

I think I may have fixed this. It looks ok on my PC, let me know about yours.

Can you add an EXIT button that will close the program without overwriting the config file?

Done.

Thanks for adjusting the filename, however I feel the YYYYMMDD_HHMMSS format would be much better for archiving/sorting purposes.

Done.

Regarding the audio compression issue, I think mp3 is a must, especially for sending to cell phones. As far as the legal issue, just do what Audacity does and don't bundle the LAME encoder with the program, but rather have it so you need to obtain the encoder on your own and enter the path to the lame_enc.dll directory.

Done. Kind of anyway. Instead of the lame_enc.dll file, this program looks for lame.exe in the "data" folder in the installation directory. If lame.exe is in the "data" folder, it will create and attach an mp3 file instead of a wav file.

Along those lines, is there a way to prevent the config file from being overwritten with each installation? I got smart this time and backed it up first, but didn't the previous time and was surprised to see all my settings wiped out.

Done. The config file is no longer included in the install package. The first time you click "Save & Exit" it will create a new file if none exists. Otherwise, it uses the old one.

I also fixed a bug with the SCAN/HOLD serial port commands for anyone using that feature.

As for the suggestion to have it send the email while going back to looking for the tones, that is much trickier than first anticipated, so at this point I'm not going to bother. If you use the mp3 capability, the file is much smaller and sends much faster, alleviating much of the problem.
 
Last edited:

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
Is there anyway, that you can have the program mute the audio port until the specified tone(s) are recieved. We have 9 stations all with there own tones, if you could have it that only when the specific tones are heard, that it will open up the audio out to the speakers. Kinda like a Minitor but with software and a scanner.

Actually it already does this. If you're hearing all of the audio coming across the air (not just audio after valid tones are decoded), it's because you don't have the LINE IN (or MIC IN if you're using that) muted in the Windows mixer (in Vista this is the "input mute" box in the speaker levels setting dialog). Mute the input you're using, and then make sure the "Play Audio While Recording" box is checked in TwoToneDetect. You should then hear only what's being recorded come across your computer speakers, although it will be delayed by a second or two from real time.

I hope that makes sense.

Andy
 

GTR8000

NY/NJ Database Guy
Database Admin
Joined
Oct 4, 2007
Messages
15,412
Location
BEE00
Awesome, all changes work great! Love the mp3 capability, and it definitely does speed things up bigtime.


I noticed one glitch when installing this latest version. For some reason, even with "C:\Program Files\TwoToneDetect" set as the installation directory, it installed in the "C:\Program Files" directory and never created the TwoToneDetect folder. I tried it a few different times and ways, including uninstalling and manually deleting the files/folders, still didn't work correctly.

Also I can't seem to get the window size to shrink down and stay shrunk. Not a big deal, just figured it was worth noting.
 

aaknitt

Member
Feed Provider
Joined
Aug 27, 2005
Messages
1,298
I noticed one glitch when installing this latest version. For some reason, even with "C:\Program Files\TwoToneDetect" set as the installation directory, it installed in the "C:\Program Files" directory and never created the TwoToneDetect folder. I tried it a few different times and ways, including uninstalling and manually deleting the files/folders, still didn't work correctly.

Fixed and updated, thanks for the catch.

Andy
 
Status
Not open for further replies.
Top