Class: FFTStream

Inherits:
FFI::PortAudio::Stream
  • Object
show all
Defined in:
lib/libui_paradise/examples/simple/009_spectrum.rb

Overview

#

FFTStream

#

Instance Method Summary collapse

Instance Method Details

#process(input, _output, frame_count, _time_info, _status_flags, _user_data) ⇒ Object



17
18
19
20
21
# File 'lib/libui_paradise/examples/simple/009_spectrum.rb', line 17

def process(input, _output, frame_count, _time_info, _status_flags, _user_data)
  i = Numo::Int16.cast(input.read_array_of_int16(frame_count))
  @spec = (Numo::Pocketfft.rfft(i)[0..511].abs / 1000.0).to_a
  :paContinue
end

#specObject



23
24
25
# File 'lib/libui_paradise/examples/simple/009_spectrum.rb', line 23

def spec
  @spec || [0] * 512
end