# Channel::set3DLevel seems incorrect with 5.1 sounds

**URL:** https://qa.fmod.com/t/channel-set3dlevel-seems-incorrect-with-5-1-sounds/13583
**Category:** FMOD Engine
**Created:** [December 8, 2017, 10:06pm UTC](https://qa.fmod.com/t/channel-set3dlevel-seems-incorrect-with-5-1-sounds/13583 "2017-12-08T22:06:19Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![araid](https://avatars.discourse-cdn.com/v4/letter/a/3be4f8/32.png) [@araid](https://qa.fmod.com/u/araid)
#### Post date: [December 8, 2017, 10:06pm UTC](https://qa.fmod.com/t/channel-set3dlevel-seems-incorrect-with-5-1-sounds/13583/1 "2017-12-08T22:06:19Z")

</div>

If I load a 5.1 sound file with FMOD\_2D, it plays over the 6 channels of my surround system, as it should.

If I load it with FMOD\_3D and position it in 3D space, it only plays over 2 speakers depending on the position.

The behavior I’d expect when using Channel::set3DLevel is to blend between those 2 modes. The sound would play over all 6 speakers, but mostly in the 2 corresponding to its position in space. Instead, it blends between the 3D sound and some sort of stereo mode where it only plays in the front-left and front-right speakers.

To be clear: playing a 5.1 sound loaded with FMOD\_3D with set3DLevel(0.0) only plays over 2 speakers, as opposed to the 6 channels you’d get by loading it with FMOD\_2D.

Is this a bug? Is there any workaround that I could use?

---

<div class="post-metadata">

### Author: ![brett](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/brett/32/261_2.png) [@brett](https://qa.fmod.com/u/brett)
#### Post date: [December 11, 2017, 3:07am UTC](https://qa.fmod.com/t/channel-set3dlevel-seems-incorrect-with-5-1-sounds/13583/2 "2017-12-11T03:07:13Z")

</div>

Hi Adria,  
Thanks for looking into this. It does look like the 3d panner sets up a 2d matrix differently to the way a 2d sound would normally be set up. I’ve submitted a change which should be in the next point release.

A work around now is quite simple, on your channel, just use Channel::setMixLevelsOutput,  
ie  
channel-\>setMixLevelsOutput(1,1,1,1,1,1,0,0);

regards,
