audio_trim.rb - warvox - VoIP based wardialing tool, forked from rapid7/warvox.
(HTM) git clone git://jay.scot/warvox
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
audio_trim.rb (876B)
---
1 #!/usr/bin/env ruby
2 ###################
3
4 #
5 # Load the library path
6 #
7 base = __FILE__
8 while File.symlink?(base)
9 base = File.expand_path(File.readlink(base), File.dirname(base))
10 end
11 $:.unshift(File.join(File.expand_path(File.dirname(base)), '..', 'lib'))
12
13 require 'warvox'
14
15 def usage
16 $stderr.puts "Usage: #{$0} [offset] [length] <input.raw> <output.raw>"
17 exit
18 end
19
20 # TODO: Needs WAV header support
21
22 #
23 # Script
24 #
25
26 off = ARGV.shift
27 len = ARGV.shift
28 inp = ARGV.shift
29 out = ARGV.shift
30
31 if (off and off == "-h") or not off
32 usage()
33 end
34
35 buf = ''
36 ifd = nil
37
38 if inp
39 ifd = ::File.open(inp, "rb")
40 else
41 $stdin.binmode
42 ifd = $stdin
43 end
44
45 ofd = nil
46
47 if out
48 ofd = ::File.open(out, "wb")
49 else
50 $stdout.binmode
51 ofd = $stdout
52 end
53
54
55 buf = ifd.read
56 off = off.to_i * 16000
57 len = (len.to_i > 0) ? len.to_i : (buf.length / 16000).to_i
58
59 ofd.write( buf[off, len * 16000] )
60 exit(0)
61
62
63