MPA-RLS with Martin Robinson | JUCE++, Crossplatfrom audio development

picture of coding in JUCE

The next Music and Performing Arts Lecture is on the 23 May in Cambridge, Music Therapy Centre. Our guest is Martin Robinson from University of West England, Bristol.

Introduction to JUCE and Plonk|Plink|Plank — frameworks for audio software development

https://www.juce.com/

JUCE is a widely-used framework for audio application and plug-in development. In particular it:

  •      Enables cross-platform development on Mac, Windows, Linux, iOS, and Android
  •      Makes it easy to build versatile user interfaces
  •      Allows the creation of Audio Unit and VST plug-ins using the same codebase
  •      Handles MIDI and OSC and the new MPE standard

https://github.com/0x4d52/pl-nk/

Plonk|Plink|Plank is a C/C++ framework for audio software development by Martin Robinson in the Department of Computer Science and Creative Technologies at the University of the West of England, Bristol. The framework was designed to help other projects by the author, support teaching and research activities at the university, but is available to the wider community using a permissive open source license. The initial drive of the design for Plonk|Plink|Plank was to be:
·      easy to use in the first instance;
·      usable for rapid prototyping; and
·      scalable for audio application development (including mobile apps, audio for games and so on).

The Plonk|Plink|Plank framework is divided into its thee parts:
·      Plank: A C API to underlying supporting libraries (file access, threads, atomic operations, lock-free data structures, FFT processing, SIMD processing).
·      Plink: A C API for audio processing unit generators for 32-bit floating-point audio.
·      Plonk: A C++ API for writing object oriented audio applications. This comprises oscillators, filters, delays, audio file players and so on. It also includes audio processing graph management and C++ data structures for many of the fundamental operations provided by Plank.

The framework is multi-platform, currently running on Mac OS X, iOS, Linux (including the Raspberry Pi) and Windows. For convenience, the framework is available as a JUCE (http://juce.com) module. But JUCE is not a dependency and is not necessary, although it makes setting up cross-platform GUIs very straightforward.

This demo will:
·      Introduce JUCE and Plonk|Plink|Plank and the core concepts
·      Give usage examples: from simple examples, rapid prototyping, and showing how prototypes can be developed into full applications.

Bio

Martin Robinson is a lecturer at University of the West of England, Bristol where he is the Programme Leader for the Audio and Music Technology degree. Martin is also the author of the ‘Getting Starting with JUCE’ book, and continues to develop the tutorial content for JUCE for ROLI Ltd. He also develops audio applications and plug-ins.

Martin trained in music composition and electronic music before becoming increasingly interested in developing custom audio and music systems. He developed the UGen++ C++ library for developing audio applications that was based on the look-and-feel of the SuperCollider audio programming language. More recently he developed the Plonk|Plink|Plank C/C++ libraries, also for audio application development.

Links

Twitter: @0x4d52
https://github.com/0x4d52
https://www.linkedin.com/in/0x4d52