Getting Microphone Data in Blueprint

Hello FMOD Team.

I am really new to FMOD in Unreal, I am creating a game where the player needs to use their microphone to move around. Are there any options to get the volume/db of the microphone as data in Blueprint?

Thank you in advance!

FMOD allows you to get metering data for your signal, but there’s currently no way to do so using just the blueprint - you’ll need to use code, either instead of or alongside blueprints.

This has two components - the “record” example included with ther FMOD Engine installer at ./api/core/examples shows how you can record your microphone into an FMOD sounds. If you want to combine this with FMOD Studio functionality, you’ll need to use a programmer instrument, and pass this sound to your event instance using the appropriate callback - see the “programmer sound” example in ./api/studio/examples for an example of this.

Then, to get the metering data, you’ll need to enable metering and grab the info from a DSP that the audio signal is passing through, which involves the following:

  1. Get a channel or channel group - if you’re using the Studio API, you can get this from an event instance or bus using the appropriate function, such as Studio::EventInstance::getChannelGroup
  2. Get a DSP from that channel/channel group i.e. ChannelControl::getDSP
  3. Enable metering for that DSP with DSP::setMeteringEnabled
  4. Get the metering info with DSP::getMeteringInfo

I’m unsure as to the specifics of what you need, but this is a topic that other users have asked about, so I would recommend using the forum search to see what you can find that helps in your specific case - i.e. Search results for 'metering unreal' - FMOD Forums

For example, here’s some psuedocode that gets the metering info of the entire system output can be found in this forum post: Loudness meter Unreal 4 Integration? - #3 by cameron-fmod