For my NES emulator project I needed to implement the APU. I'm a complete noob when it comes to anything audio related, so I procrastinated on it for a long while because it was too confusing. I powered through it in last 2 days, and I learned a lot.