Thanks for the reply Lenard, I tried your suggestion and the pitch is still
not changing as the frequency increments with the loop.
This is a strange issue. if I manually change the value if frequency before
I run it, the sound changes. it is as if the pygame.mixer's parameters are
"Stuck"and can't be changed during runtime. Is there a way I can verify that
the pygame.mixer and the sound objects are unloaded before I restart the
loop?
Is there anything else I can try? Any links or snippet of code would be
greatly appreciated.
Here is the updated program
---------------------------------------------
import pygame
from pygame.locals import *
from sys import exit
#pgyame.display.set_mode must also come after the pygame.init. The display
is not necessary for mixer though. -Lenard
#screen = pygame.display.set_mode((800, 600), 0, 32)
frequency = 44100
while True:
frequency = frequency + 2000
print frequency
pygame.mixer.pre_init(frequency, 16, 2, 4096)
pygame.init()
test_sound = pygame.mixer.Sound("check.wav")
mychannel = test_sound.play()
while pygame.mixer.get_busy() == True:
pass
pygame.quit # "do a pygame.quit rather than pygame.mixer.quit for each
loop -Lenard
-------------------------------------------------------------------------------------------
On Wed, Jul 8, 2009 at 2:26 AM, Lenard Lindstrom <[email protected]> wrote:
> Hi Brian,
>
> You would probably have to do a pygame.quit rather than pygame.mixer.quit
> for each pass of the loop. The pgyame.display.set_mode must also come after
> the pygame.init. The display is not necessary for mixer though.
>
> Lenard
>
>
> Brian Gryder wrote:
>
>> '''
>> How do I change the frequency of the Pygame.mixer by incrementing the
>> frequency value in a loop?
>>
>> Please see the example below where I am trying to initialize the frequency
>> at 44100 and then add 2000 to the frequency each time it loops. In this
>> example below the pitch does not change, I really want it to change.
>>
>> Any links or snippet of code would be greatly appreciated, Thanks!
>> '''
>>
>> import pygame
>> from pygame.locals import *
>> from sys import exit
>>
>> screen = pygame.display.set_mode((800, 600), 0, 32)
>> frequency = 44100
>>
>> while True:
>>
>> frequency = frequency + 2000
>> print frequency
>>
>> pygame.mixer.pre_init(frequency, 16, 2, 4096)
>> pygame.init()
>> test_sound = ""
>> test_sound = pygame.mixer.Sound("check.wav")
>> mychannel = test_sound.play()
>>
>> while pygame.mixer.get_busy() == True:
>> pass
>> #"passing"
>>
>> pygame.mixer.quit
>>
>>
>>
>