text: 
  #!/usr/bin/env python
  
  import wave
  import time
  from rpi_ws281x import *
  import argparse
  import sys
  import pyaudio
  from scipy.fft import fft
  
  # LED strip configuration:
  LED_COUNT      = 50      # Number of LED pixels.
  LED_PIN        = 18      # GPIO pin connected to the pixels (18 uses PWM!).
  #LED_PIN        = 10      # GPIO pin connected to the pixels (10 uses SPI /dev/spidev0.0).
  LED_FREQ_HZ    = 800000  # LED signal frequency in hertz (usually 800khz)
  LED_DMA        = 10      # DMA channel to use for generating signal (try 10)
  LED_BRIGHTNESS = 255     # Set to 0 for darkest and 255 for brightest
  LED_INVERT     = False   # True to invert the signal (when using NPN transistor level shift)
  LED_CHANNEL    = 0       # set to '1' for GPIOs 13, 19, 41, 45 or 53
  
  
  
  # Define functions which animate LEDs in various ways.
  def setColor(strip, color):
      for i in range(strip.numPixels()):
          strip.setPixelColor(i, color)
      strip.show()
  
  
  def colorWipe(strip, color, wait_ms=50):
      """Wipe color across display a pixel at a time."""
      for i in range(strip.numPixels()):
          strip.setPixelColor(i, color)
          strip.show()
          time.sleep(wait_ms/1000.0)
  
  # Main program logic follows:
  if __name__ == '__main__':
      # Process arguments
      parser = argparse.ArgumentParser()
      parser.add_argument('-c', '--clear', action='store_true', help='clear the display on exit')
      args = parser.parse_args()
  
      # Create NeoPixel object with appropriate configuration.
      strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS, LED_CHANNEL)
      # Intialize the library (must be called once before other functions).
      strip.begin()
  
      # Initialize Audio Library
      audio = pyaudio.PyAudio()
  
      # Display each audio device availabe in PyAudio
      for i in range (audio.get_device_count()):
          print(str(i) + " " + audio.get_device_info_by_index(i).get('name'))
  
      # Open PyAudio stream
      form_1 = pyaudio.paInt16 # 16-bit resolution
      chans = 1 # 1 channel
      samp_rate = 44100 # 44.1kHz sampling rate
      chunk = 4096 # q2^12 samples for buffer
      record_secs = 10 # seconds to record
      dev_index = 0 # device index found by p.get_device_info_by_index(ii)
      wav_output_filename = 'test1.wav' # name of .wav file
      stream = audio.open(format = form_1,rate = samp_rate,channels = chans, \
                      input_device_index = dev_index,input = True, \
                      frames_per_buffer=chunk)
  
      frames = []
      for i in range(0, int((samp_rate/chunk)*record_secs)):
          data = stream.read(chunk)
          dataInt = [int(x) for x in data]
          frames.extend(dataInt)
      print(sum(frames) / len(frames))
      # stop the stream, close it, and terminate the pyaudio instantiation
      stream.stop_stream()
      stream.close()
      audio.terminate()
  
      # save the audio frames as .wav file
      wavefile = wave.open(wav_output_filename,'wb')
      wavefile.setnchannels(chans)
      wavefile.setsampwidth(audio.get_sample_size(form_1))
      wavefile.setframerate(samp_rate)
      wavefile.writeframes(b''.join(frames))
      wavefile.close()
  
      print ('Press Ctrl-C to quit.')
      if not args.clear:
          print('Use "-c" argument to clear LEDs on exit')
  
      try:
          while True:
              print ('Color wipe animations.')
              colorWipe(strip, Color(255, 0, 0))  # Red wipe
              colorWipe(strip, Color(0, 255, 0))  # Blue wipe
              colorWipe(strip, Color(0, 0, 255))  # Green wipe
      except KeyboardInterrupt:
          if args.clear:
              colorWipe(strip, Color(0,0,0), 10)
  