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.
code: def print_mic_info(self, mic):
      mic_info = self.pa.get_device_info_by_index(mic)
      print("\nMIC %s:" % (str(mic)))
      for k, v in sorted(mic_info.items()):
          print("%s: %s" % (k, v))
  
file_path: rt-audio-fft/src/stream_reader_pyaudio.py
imports: import numpy
  import pyaudio
  import time, sys, math
  from collections import deque
  from src.utils import *
label_desc: Use image node_id 8 for calling the Stream_Reader obj's underlying member method code with example usage: obj.print_mic_info(mic) without return types