I'm using an I2S microphone in the video which I've set up to use DMA to collect the samples. These are streamed straight to the SD Card and we create the WAV file header so that it's a valid file.
For playback, I'm using an I2S 3W amplifier board from Adafruit. This is connected to a 4ohm speaker. Once again we use DMA to transfer the samples which are streamed from the SD Card.
You should be able to modify the code to use the built-in ADC and an analogue microphone board, and you can modify the code to output using the DAC which would let you wire this up to headphones or an analogue amplifier.
[0:55] SD Card to SPI Wiring Diagram [1:11] Soldering up an SD Card adaptor [1:30] Getting it working [2:27] Demo [2:50] Looking at the WAV file on our PC [3:22] Conclusions and wrap up