class_docstr: The Stream_Reader continuously reads data from a selected sound source using PyAudio
  
  Arguments:
  
      device: int or None:    Select which audio stream to read .
      rate: float or None:    Sample rate to use. Defaults to something supported.
      updatesPerSecond: int:  How often to record new data.
class_docstr_tok: ["The","Stream_Reader","continuously","reads","data","from","a","selected","sound","source","using","PyAudio","Arguments",":","device",":","int","or","None",":","Select","which","audio","stream","to","read",".","rate",":","float","or","None",":","Sample","rate","to","use",".","Defaults","to","something","supported",".","updatesPerSecond",":","int",":","How","often","to","record","new","data","."]
docstr: Dummy function to determine what blocksize the stream is using
docstr_tok: ["Dummy","function","to","determine","what","blocksize","the","stream","is","using"]
code: def test_stream_read(self, indata, frames, time_info, status):
      """
      Dummy function to determine what blocksize the stream is using
      """
      self.optimal_data_lengths.append(len(indata[:, 0]))
      return
  
file_path: rt-audio-fft/src/stream_reader_sounddevice.py
imports: import numpy
  import time, sys, math
  from collections import deque
  import sounddevice
  from src.utils import *
label_desc: Use image node_id 3 for calling the Stream_Reader obj's underlying member method code with example usage: obj.test_stream_read(indata, frames, time_info, status) without return types