Ну, это зависит от того, как вы делаете свои звуки: я не уверен, возможно ли это с Pygame, но SDL (на котором основана Pygame) позволяет вам иметь обратный вызов для извлечения данных для звукового буфера и можно изменить частоту синусоидальной волны (или любую другую) для получения разных тонов в обратном вызове, учитывая, что вы генерируете там звук.
Если вы используете предварительно обработанный тон или звуковой файл, вам, вероятно, придется повторно сэмплировать его, чтобы заставить его воспроизводиться на разных частотах, хотя было бы трудно сохранить одинаковую длину. Если вы говорите об изменении тембра звука, то это совсем другой пример ...
Кроме того, это зависит от того, насколько быстро должен измениться звук: если вы можете принять небольшую задержку в ответ, вы, вероятно, можете генерировать несколько коротких звуков и воспроизводить / зацикливать их по мере необходимости. Я не уверен, как постоянное воспроизведение звуков повлияет на производительность / общее качество звука: вам нужно убедиться, что концы всех концов сигнала плавно переходят в начало следующего (возможно).