Tone detection - warvox - VoIP based wardialing tool, forked from rapid7/warvox.
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit ef8638d44b9365d3f3f3f841ccf950f676d48d36
 (DIR) parent 426612920e87183e4d8580d4cb8b385e47ddb330
 (HTM) Author: HD Moore <hd_moore@rapid7.com>
       Date:   Sun, 22 Feb 2009 19:45:14 +0000
       
       Tone detection
       
       
       Diffstat:
         A bin/search_tones.rb                 |      54 +++++++++++++++++++++++++++++++
       
       1 file changed, 54 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/bin/search_tones.rb b/bin/search_tones.rb
       @@ -0,0 +1,54 @@
       +#!/usr/bin/env ruby
       +###################
       +
       +#
       +# Load the library path
       +# 
       +base = __FILE__
       +while File.symlink?(base)
       +        base = File.expand_path(File.readlink(base), File.dirname(base))
       +end
       +$:.unshift(File.join(File.expand_path(File.dirname(base)), '..', 'lib'))
       +require 'warvox'
       +require "kissfft"
       +
       +#
       +# Script
       +#
       +
       +def usage
       +        $stderr.puts "#{$0} [audio.raw] <min-power>"
       +        exit
       +end
       +
       +raw = WarVOX::Audio::Raw.from_file(ARGV.shift || usage)
       +min = (ARGV.shift || 1).to_f
       +res = KissFFT.fftr(4096, 8000, 1, raw.samples)
       +
       +tones = {}
       +res.each do |x|
       +        mf = 0
       +        mp = 0
       +        x.each do |o|
       +                if(o[1] > mp)
       +                        mp = o[1]
       +                        mf = o[0]
       +                end
       +        end
       +        if(mp > min)
       +                tones[mf.to_i] ||= []
       +                tones[mf.to_i] <<  [mf, mp]
       +        end
       +        # puts "#{mf.to_i}hz @ #{mp.to_i}"
       +end
       +
       +tones.keys.sort.each do |t|
       +        puts "#{t}hz"
       +        tones[t].each do |x|
       +                puts "\t#{x[0]}hz @ #{x[1]}"
       +        end
       +end
       +
       +
       +
       +