Class: KissFFT::UnitTest

Inherits:
Test::Unit::TestCase
  • Object
show all
Defined in:
ext/kissfft/test_kissfft.rb

Overview

Simple unit test

Instance Method Summary collapse

Instance Method Details

#test_fftrObject



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

#test_versionObject



15
16
17
18
# File 'ext/kissfft/test_kissfft.rb', line 15

def test_version
	assert_equal(String, KissFFT.version.class)
	puts "KissFFT version: #{KissFFT.version}"
end