unity – FMOD can’t enable metering

I’m trying to enable metering, but I keep getting this error. Here’s my code.

    protected void Start() => StartCoroutine(EnableMeteringRoutine());
    private IEnumerator EnableMeteringRoutine()
    {
        yield return new WaitUntil(() => FMODUnity.RuntimeManager.IsInitialized);
        FMOD.Studio.Bus bus = FMODUnity.RuntimeManager.GetBus("bus:/Voice");
        FMOD.RESULT result = bus.lockChannelGroup(); // Forces bus to be created
        if (result != FMOD.RESULT.OK)
        {
            Debug.LogError($"Failed to create bus to enable metering {result}");
            yield break;
        }
        FMOD.ChannelGroup channelGroup;
        result = bus.getChannelGroup(out channelGroup);
        if (result != FMOD.RESULT.OK)
        {
            Debug.LogError($"Failed to fetch channel group to enable metering for voice {result}");
            bus.unlockChannelGroup();
            yield break;
        }
        FMOD.DSP dsp;
        if (channelGroup.getDSP(0, out dsp) != FMOD.RESULT.OK)
        {
            Debug.LogError($"Failed to fetch dsp to enable metering for voice {result}");
            bus.unlockChannelGroup();
            yield break;
        }
        dsp.setMeteringEnabled(false, true);
        bus.unlockChannelGroup();
    }

This code results in an error when I try to fetch the channel group:
ERR_STUDIO_NOT_LOADED

I thought locking the channel group was supposed to force creation. How do I know when it’s safe to enable metering for a channel. Also, is this setting persistent or do I need to do it every time a sound is played?

I’ve been able to make this work by waiting a random number of frames after fetching to bus and locking the channel group, but it’s non-deterministic.

I can’t find the answer in documentation and the FMOD forum is as unresponsive as ever.