The following code is a demo which demonstrates some of the 3d capabilities of fmod ex and python access to them.
import time import pyfmodex as pf system = pf.System() system.threed_settings.doppler_scale = 0 #Turn off doppler effect for this demo system.init() sound = system.create_sound("sounds/beep.wav") sound.min_distance = 600 #Set the minimum distance, where the volume is at full channel = sound.play(paused=True) channel.mode = pf.constants.FMOD_LOOP_NORMAL poslist = [-10000, 0, 0] #A list which represents the position in 3d space. channel.position = poslist #Poslist can be everything that can be indexed and has at least 3 numeric items (0, 1 and 2). channel.paused = False for xcoord in range(-9999,10000, 250): poslist = xcoord channel.position = poslist system.update() #At least for now, you mustn't forgot to call this method which tells fmod ex to update the underliing structures and calculate the 3d position time.sleep(0.2) #Wait a while, so you can hear the sound moving.
Note that the velocity property is set like the position property e.g. sound.velocity = [2, 0, 0] and you have to update it manually.