Most Minimalist Sound Only Explanation of Juce

This is a question from a mere beginner to you guys,

I was wondering if I could get anywhere an explanation of Juce at it’s core (UI Less) workings?
The Library is awesome when you use it to create Juce UI based application based on the sound engine … But I still have some difficulties understanding what is happening under the hood … *audio-wise …

Is there a Audio Only, console application tutorial, for generating a blip, or a sine, or random noise somewhere? Or better, a tutorial on using Juce as a DLL
From what I understood, the “AudioApplication” Class becomes useless in those cases … And I would like to understand the correct way to use Juce when not dealing with a Juce app scenario.

Tutorials for those probably don’t exist because those are not common use cases for Juce. (Especially the dll one would be tricky because then a tutorial would likely need to get into nasty details like C++ ABI compatibility and how to create a plain C interface for the dll…)

Basically the Juce classes you need to use your audio hardware are AudioDeviceManager and AudioIODeviceCallback.

I wrote a simple command line program that outputs a sine wave and lets you type on the console to change the frequency :

There are helper classes like AudioSourcePlayer that inherit AudioIODeviceCallback and the Juce tutorials use those. However, since you wanted the lowest level example, I inherited AudioIODeviceCallback directly instead in my example.

Here’s another example that uses the Juce provided classes so you don’t need to inherit AudioIODeviceCallback and implement the sine generation :

4 Likes

You are amazing, thanks to your examples I managed to reproduce these simple steps … But also integrate it in a Dll …
This example should be in the learn section of the website … :slight_smile: