Electret Microphone with LM358 gives weird analog reads combined with WS2812

ok so here's what I've got now;

Simplified the code so it only puts on the LEDS in one color, with the audio input mapped to the brightness. I removed all the millis() functions and LED animations (other than brightness).

#include <Adafruit_NeoPixel.h>
#define analogIn 1
#define PIN 4
#define NUM_LEDS 19


uint16_t input=0;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);


void setup() {
  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}


void loop() {
plainColor();
}

void readSens(){

    input = analogRead(analogIn); 

 //   if (input>maxInput){
 //     maxInput=input;
 //   }

    input=map(input,0,1023,10,255);
    // Serial.println(input);
    delay(50);
  
}
void plainColor(){
  readSens();
  for (int i=0;i<NUM_LEDS;i++){
  strip.setPixelColor(i,0, input, 0); // input at 'green' channel, ranging from 10-255
  }
  strip.show();
  delay(10);
}

This also gives the the glitchy signal, basically the same as before, but when I change NUM_LEDS in the for-loop into 5 or less, it works perfect. At 8 active LED's it kind of works, but it give's a few pulses after I make a loud noise.

@Hackscribble
Thanks! those we're some sloppy things in my code, thanks for pointing at them!

@polymorph
Its an LM358, indeed another difference. It sounds like a logic explanation that it would go into oscillation... but then why would it only do so at higher amount of active LED's in the circuit? The 100pF cap only made things worse... But I did lower the value of R5 to 470k, which does make it work! It has a drastic effect on the range though, but I guess I cant have it all. It's still complete rubbish when I try to use more than just the green LED's.

------ UPDATE -----
Also tried my original code - with changing some of the uint8 errors and limits - with a slider instead of the volume sensor, and it works perfect... thats why I am more tempted to say its a hardware thing in the opamp circuit. Is there a way to split up the two power lines (to the strip and sensor/uC) even more, by adding another component for example?.