exactly.
the loop() is called continuously from (hidden) main. Every direct call to set the volume can generate a glitch. So, put all one-time settings into setup().
If you need to modify volume during replay, you...
Are you sure? It is easy to verify.
AFAIK, I2S input allocates 4 blocks for input and you have only 5. You need IMO at least 6 to allow allocation of new blocks while data are still written to USB.
Keep in mind that...
If you have access to GND (e.g. battery) then behind the hole needs to be only a contact that is connected to program pin. A grounded needle / wire will put teensy into programming mode.
or have two nails (GND and...
Even without button, you still have the Program Pin, you can use to start programming by touching GND.
It is fairly common for systems that are enclosed to have program pin accessible.
No, connect I2S MEMS directly to Teensy replacing the Audio shield.
Run the following program
#include <Audio.h>
#include <Wire.h>
#include <SPI.h>
#include <SD.h>
#include <SerialFlash.h>
// GUItool: begin...