обычно все буззеры имеют очень неоднородную зависимость громкости от частоты. Чтобы на слух разные кнопки издавали звуки одинаковой громкости, нужно будет уменьшить громкость некоторых частот, а для этого и потребуется ШИМ. Ну, я бы именно так и сделал.