This is my I2S config:
const i2s_driver_config_t i2s_config = {
.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX),
.sample_rate = SAMPLE_RATE,
.bits_per_sample = (i2s_bits_per_sample_t)BITS_PER_SAMPLE,
.channel_format = I2S_CHANNEL_FMT_ONLY_LEFT, // ALL_LEFT or RIGHT_LEFT gives loud mush
.communication_format = (i2s_comm_format_t)(I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB),
.intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,
.dma_buf_count = 4,
.dma_buf_len = 1024
};
BITS_PER_SAMPLE is 16
I've tried many sample rates, which give basically the same result, although the dark band where the two arcs cross becomes more pronounced at lower rates.
I've spent a fair amount of time looking at examples on the web and this is the result. There are more parameters available that I have no idea what they do