Inspiration

Sometimes, tracks with sparse elements need something else to give them movement. We wanted to help musicians by creating a plugin that adds stereo width and adds depth across the octave band. By taking samples / grains of the artist's track we figured we could recapitulate elements in this field make the track more full rather than just adding reverb or delay.

What it does

This effect is a granular effect that spreads grains across the stereo field. These grains are small windows, or grains, of audio sampled randomly from a set history of audio the plugin has heard. These user can choose the size and density of the grains, as well as how far back in the audio to listen, how spread out the grains should be (in the stereo image) as well as a dry wet mix.

How we built it

This project uses entirely JUCE (and C++, of course). The history is stored in a large circular buffer, which each grain reads it's data from. These grains read random points from the history the plugin remembers. The grains also pass through random panning and windowing stages, as well as an envelope follower tracking the input audio.

Challenges we ran into

  • Choice of windowing
  • Phase issues between grains
  • General C++ debugging problems...

Accomplishments that we're proud of

  • Completing it

What we learned

This plugin was built with C++ and Juce, our team members had different levels of experience with this framework and we learnt a lot form collaborating with each other. We had many white boarding discussions in planning our approach and debugging where we learnt from each others knowledge. We learnt to implement DSP elements such as: Windowing Envelope follower implementation Ring buffer implementation

What's next for Ambiful

We aim to spend more time polishing the UI and DSP before submitting to MuseHub later in the week.

Built With

Share this project:

Updates