This PIC10F322-based Doorbell replaces your loud and boring Doorbell with playing your desired tunes in wave format. The project need I2C EEPROM chip to store the WAV files since PIC10F322 only has 512 bytes of flash and 64 bytes of RAM. If you have PIC chip with bigger memory then you can skip the EEPROM.
Two I/O pins of PIC10F322 is connected to I2C EEPROM while 1 left I/O pins is used for triggering sound. Once button is pressed, it will trigger the chip to starts reading WAV data from EEPROM and produces PWM wave to RC filter network which connected to simple transistor based amplifier. For better output, you can connect PWM output to MCP6002 dual operational Microchip as low-pass filter with attenuation of 12dB/octave. The opamp A is used to create a virtual ground halfway between Vdd and Vss and opamp B is configured filter Butterworth. Finally, LM386 IC is used to amplify the sound before sent to speaker.