Completely new to using the API, where to start?!

Hi all,
I want to try the convolution reverb, and generatively produce sounds, and use live microphone input, etc. I have only used the FMOD Studio interface program and have no experience at all using the API, I wouldn’t even know where to start. If I am correct what I want to do is not possible in FMOD Studio environment without digging into the API?
I have some experience with Supercollider in generating and processing sounds. Where do I start to learn from here?

Also more specifically, we want to use the microphone live input and play it back to someone who is in VR. Is this doable and if so, is it easy to keep the latency under 20ms? We’re also aiming to add some convolution reverb, where it is probably okay to have some latency for the “wet” signal.

Thanks for reading and hopefully, your response.
Jorick

The best place to start would be the recording examples, which can be found in the API download.

There is also some information in the Core API guide.
https://fmod.com/resources/documentation-api?version=2.0&page=core-guide.html#recording-record-to-a-sound-from-microphone-or-line-in

Hi, thanks for your reply.
I saw the examples, which is how I roughly learned that it was possible to do the things I need, but I need one or maybe two steps further back. I have no idea what to do with this code, where to put it, how to make it work together with the Studio environment or basically how to make it benefit me. I couldn’t find info on how to use the API in general.

The example mentions an introduced 50ms delay between recording the sound and playing it back. What is the smallest delay time possible and to what extent is this dependent on hardware context?

There is a lot of information in our docs, it’s just a matter of finding what you need:

https://fmod.com/resources/documentation-api?version=2.0&page=white-papers-getting-started.html
https://fmod.com/resources/documentation-api?version=2.0&page=core-guide.html
https://fmod.com/resources/documentation-api?version=2.0&page=studio-guide.html

It can be very small, with ASIO you can get it down to a few ms. It all depends on the machine and the driver, you can make it as low as you like on a specific machine but it won;t work on all machines. This is why we use 50ms, to make it work on more machines.

Thanks for taking the time to respond. I think, however, that I have not been able to get my current problem across.
I’ve found and the read documents you’ve linked to, however I already get stuck on initialisation. I feel slightly embarrassed at this point, because I need to go even one more step back.
All this displayed code, starting with System::init, what to do with it? Do I make a new script in Unity and start there? How do I incorporate this into my workflow?

I’m obviously not much of a programmer, but I have some experience scripting and I’m willing to learn more if it means I can incorporate these functions in my work. I just literary have no idea where to actually start.

If you are using Unity, you can use our Unity Integration, this can take care of most of the work for you:
https://www.fmod.com/resources/documentation-unity?version=2.0&page=welcome.html