Воспроизведение звуков с Python и изменение их тона во время воспроизведения? - PullRequest
1 голос
/ 13 октября 2009

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

Обновление:

Мне нужно сделать что-то вроде шума ускоряющейся машины. Я действительно не знаю, тембр это или тон.

1 Ответ

1 голос
/ 13 октября 2009

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

Если вы используете предварительно обработанный тон или звуковой файл, вам, вероятно, придется повторно сэмплировать его, чтобы заставить его воспроизводиться на разных частотах, хотя было бы трудно сохранить одинаковую длину. Если вы говорите об изменении тембра звука, то это совсем другой пример ...

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

...