Multi processing of microphone playback in real time?

Hello everyone!

*This is my first message on Epic Forum (I used answerhub since some years, but not forum).
Also, I’m french, I don’t speak English very well, so please excuse me if the turns of my sentences are not skillful.
I’m MatLab, initially Game Designer and also main Dev at Concrete Games.

Beware, the following sentence will surely scare most of developers here: I am a “Blueprint only” developer. Indeed, to make all our games since 4 years (Hyperun, Matter…), I only use Blueprint! I never learned C++ and when I have too much technical problems, I tend to call more experienced coders to help me out…*

In short, today I’m looking for a new playful video experience. The idea for now is to make a game that can only be played by voice.
But of course before making any long-term plans, I need to test all the system’s limits and find out what’s possible with audio in UE4 (for Windows only for now, I’ll see later for other platforms, although Android would be really nice, because the microphone is integrated, so no hardware problem of “not having a mic”. Whereas a game with a microphone on Steam is immediately public limiting… but not the point for now).

So, My first try is rather simple on the paper, but technically I can’t find any functionality in Unreal to do it (I watched many YT tutorials). I’ve been looking for plugins but I haven’t found what I’m looking for yet…

First test objective: I want the player to be able to sing with a virtual choir, made of “clones” of himself.

Strange? Here’s a drawing of the idea :

Often in the tutorials, they explain how to remove the playback from the microphone… but me, on the contrary, I want to use it!

I tried the plugin “Audio Analyser” : which allows to record the voice and analyze it (to know the tone of the player’s voice. Result: it works really well!), in order to calculate what pitch I need to apply on the player’s voice to create a choir that sounds musically right (I’m ok with music theory). A little bit like in this google experiment (but with player’s voice!): Blob Opera — Google Arts & Culture

But I’m still looking for another plugin or an unknown (by me) functionality already present in UE4, that allows me to :
1- duplicate the voice
2- to pitch each voice differently
3- hear these playback voices live (if there’s a little latency, it’s not a problem)

My associate “Tomavatars” who is a brilliant Sound Designer uses Fmod, so if some things are only possible with Fmod, he can help me for that (for example I’m thinking about pitch, which is limited in Unreal Engine, if I don’t say stupid things : between 0.125 and 2.5… whereas I’d like to break those limits).

I recently watched @dan.reynolds 2018 video (https://youtu.be/LFSxLaSNttQ), but if I’m not being silly, no source code has been posted on the internet since then (because in this video he pitches up to x3 and he even pitches in negative, which just reverse the sound… I want that so much !!! :D).

Do you please know how I can achieve these 3 steps?

I’ve also tried using Audio Capture component, but when I change the pitch, the voice is completely glitchy,

  • there is this limit of 0.125 and 2,
  • I don’t know how to duplicate the voice.

The best thing would be if I could edit the voice live like @dan.reynolds did with the recorded sounds (there are so many possibilities with his granular effects!), either with Unreal or with Fmod.

I hope I’ve been clear enough, don’t hesitate to ask me questions.
I also hope that I explained my problem correctly according to the rules of the forum.

Thank you very much!
Long life to UE!
Health and fun for all!

1 Like