# Mixer block length vs platforms

**URL:** <https://qa.fmod.com/t/mixer-block-length-vs-platforms/15102>\
**Category:** FMOD Studio\
**Created:** [October 4, 2019, 7:30am UTC](https://qa.fmod.com/t/mixer-block-length-vs-platforms/15102 "2019-10-04T07:30:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Skaven252](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/skaven252/32/63_2.png) [@Skaven252](https://qa.fmod.com/u/Skaven252)\
**Post date:** [October 4, 2019, 7:30am UTC](https://qa.fmod.com/t/mixer-block-length-vs-platforms/15102/1 "2019-10-04T07:30:20Z")

</div>

Technical question: is the FMOD mixer block length the same between all platforms? Does it change if the buffering length is changed from the API settings?

I’m using a Transceiver that sends from a mixer group back into an event to make a “sound portal”. However there was a flanging drone whenever the portal sound overlapped with the mixer group output, due to the mixer block length delay. I found I could compensate this by placing a delay DSP right _after_ the Transceiver send, to delay the group’s output by one block length so that it matches the phase of the Transceiver event’s output in another mixer bus. (the mixer bus is just for ambience, so the delay does not matter sync wise)

It happens to work with the current setup, but it’s an approximation: I don’t know what the exact block length is, nor if it may be different between platforms or change if buffering etc is changed.

Would authoring a custom “delay signal by exactly 1 block length under any setting” DSP be technically feasible for this purpose?

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [October 10, 2019, 1:06am UTC](https://qa.fmod.com/t/mixer-block-length-vs-platforms/15102/2 "2019-10-10T01:06:27Z")

</div>

The block length is configurable via system::setDSPBufferSize, the default does vary between platforms (512-1024).

The transceiver will delay its signal by one mix block, as you have discovered, you could author a delay by one DSP but a simple solution would be to use a send. Each send delays by one mix block.

---

<div class="post-metadata">

**Author:** ![Skaven252](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/skaven252/32/63_2.png) [@Skaven252](https://qa.fmod.com/u/Skaven252)\
**Post date:** [October 10, 2019, 5:15am UTC](https://qa.fmod.com/t/mixer-block-length-vs-platforms/15102/3 "2019-10-10T05:15:55Z")

</div>

> [@cameron-fmod](#):
>
> a simple solution would be to use a send. Each send delays by one mix block.

Thank you for the response, and good to know. How should this send be arranged? Should I send the signal to another, new mixer group and mute the original group to delay it? The Send would have to be after the sending Transceiver so that the signal is delayed after it to match phase. So I reckon I need to create a new mixer return for the purpose of delaying and mute the group with a Gain after the Send?

---

<div class="post-metadata">

**Author:** ![Skaven252](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/skaven252/32/63_2.png) [@Skaven252](https://qa.fmod.com/u/Skaven252)\
**Post date:** [October 10, 2019, 8:13am UTC](https://qa.fmod.com/t/mixer-block-length-vs-platforms/15102/4 "2019-10-10T08:13:08Z")

</div>

Just tested the solution: the ambience mixer bus sends to a newly created return, and is muted after the send. It matches the delay caused by the Transceiver-to-event, and everything’s working great. Thank you for the tip!

---

<div class="post-metadata">

**Author:** ![deHaan](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/dehaan/32/68_2.png) [@deHaan](https://qa.fmod.com/u/deHaan)\
**Post date:** [December 2, 2024, 3:10pm UTC](https://qa.fmod.com/t/mixer-block-length-vs-platforms/15102/5 "2024-12-02T15:10:43Z")

</div>

Resurrecting this old post to ask if anyone can hep me calculate what 1 mix block is in terms of ms?

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [December 5, 2024, 3:24am UTC](https://qa.fmod.com/t/mixer-block-length-vs-platforms/15102/6 "2024-12-05T03:24:52Z")

</div>

To calculate the block length in ms, you need to know the block size (from `get/setDSPBufferSize`) and the systems sample rate (from `get/setSoftwareFormat`).

block length (ms) = block size / sample rate

eg.  
1024 / 48,000 = 21.3 ms
