Class: KissFFT::UnitTest
- Inherits:
-
Test::Unit::TestCase
- Object
- Test::Unit::TestCase
- KissFFT::UnitTest
- Defined in:
- ext/kissfft/test_kissfft.rb
Overview
Simple unit test
Instance Method Summary collapse
Instance Method Details
#test_fftr ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'ext/kissfft/test_kissfft.rb', line 19 def test_fftr data = File.read('sample.data').unpack('s*') min = 1 res = KissFFT.fftr(8192, 8000, 1, data) tones = {} res.each do |x| rank = x.sort{|a,b| a[1].to_i <=> b[1].to_i }.reverse rank[0..10].each do |t| f = t[0].round p = t[1].round next if f == 0 next if p < min tones[ f ] ||= [] tones[ f ] << t end end tones.keys.sort.each do |t| next if tones[t].length < 2 puts "#{t}hz" tones[t].each do |x| puts "\t#{x[0]}hz @ #{x[1]}" end end end |