2 minute read

CONCLUSION

Figure 12. 1/8, 1/4, and 1/2 Note Delay 100bpm C++ Render (Left Channel)

Advertisement

Figure 13. 1/8, 1/4, and 1/2 Note Delay 100bpm C++ Render (Right Channel)

CONCLUSION

This paper has documented the prototyping, implementation and testing of a ping pong delay VST3 plugin written in JUCE/C++. This project has introduced the theory of memory-using audio effects and use of delay lines to store previous values of an audio signal.

Limitations of tempo sync in terms of time signature

The modification to the base case ping pong delay algorithm saw the implementation of rhythmic delay lengths based on the input bpm and user defined note length. It is important to clarify here that this implementation is limited to 4/4-time signatures (Tarr, 2019) and has the potential to be extended in further work to support multiple time signatures.

Bad access error when running in standalone

The final C++/JUCE plugin builds successfully without errors as a VST3 plugin deployed with Studio One DAW, however,there have been complicationsbuildingin standalone. The build is successful until a string related (char*) BAD ACCESS error occurs.

The origin of this error has been ultimately unclear, though it might suggest that a JUCE object that uses strings had passed out of scope and is being called incorrectly.

Future work

To make the delay effect more interesting and customizable further development could include modulation of the delay time, more specifically, modulation of rate, depth and shape (Case, 2007). This could look like:

• Rate – To give a user control over how fast or slow the delay time changes over time

Figure 14. Modulation Rate for Delay time as a Function of Time (Case, 2007)

• Depth – To allow a user to specify the amount in which the delay time is modulated

Figure 15. Modulation Depth for Delay time as a Function of Time (Case, 2007)

• Shape – Allows the user to choose the shape of the delay time modulation (i.e. sine, square, randomised)

Figure 16. Modulation Shape for Delay time as a Function of Time (Case, 2007)

These three parameters combined add another layer of user-controllable creative expression to the ping pong delay effect.

This article is from: