Using esp32's PWM to creat an audio ex "hello world"

I am trying to use an ESP32. I want to control a speaker to say 'hello world' without any additional electronics involved, and I am using the Arduino IDE. I found the xT DAC_Audio library, which uses the DAC to play audio, but it still requires building an amplifier, and its quality is terrible.

In theory, you can use PWM to play audio by loading a different duty cycle on every pulse. With a PIC, you would load a new value into the PWM's buffer using an interrupt. Can you do this with the ESP32?

I've done that with an ATMega328, but still had to build an amplifier to output the sound.
If you want to make your life easier, get one of those cheap i2s DAC modules which already come with an amplifier and a speaker, and use an i2s library to push data out to it.

This seems to be like a comprehensive article about it