In 2014 ROLI set itself the challenge of creating a software synthesiser that partnered perfectly with the Seaboard GRAND. A new type of multidimensional instrument, the Seaboard is engineered to be very expressive but also very intuitively arranged, so that people new to it will feel neither intimidated nor confused but rather inspired, wondering why other instruments are not designed in this way.
That approach guided ROLI’s development of the Seaboard’s hardware, and its approach to software followed suit. Equator, ROLI’s custom-built soft synth and sound engine, required sophisticated audio frameworks to enable multidimensional polyphonic expression, and it also required a complete rethink of soft synth user interfaces. Equator’s needed to be as elegantly accessible as the Seaboard itself. ROLI gave a small team of software developers four months to develop a version of Equator that was on par with the Seaboard. As a fast-growing music startup, ROLI did not have the time or resources of established music companies.
JUCE at ROLI
JUCE was instrumental in getting the job done on time and to a high standard, said Ted Wood, Equator’s project manager. “JUCE gave us the building blocks to do the audio processing and develop a good-looking user interface at the same time and very, very quickly,” he said.
The Equator team based the synth’s sound generation and sound modulation functions on the synthesiser class that JUCE provided, and it found that the JUCE library supported most of the elements of the graphical interface – dials, graphs, envelopes – that Equator’s user-experience experts was redrawing. “We could create what we wanted with JUCE,” Ted said. This was all the more important with Equator because the team built it from the ground up, using other soft synths on the market almost as anti-patterns.
The JUCE library was not only responsive to the needs of an innovative synth like Equator; it almost uncannily anticipated the developers’ needs.
“Other libraries like QT and Boost tend to have audio elements,” Ted said. “But JUCE is focused on audio. It’s been developed by somebody who’s a practitioner of the making of audio software. Jules Storer developed JUCE while he was developing Tracktion, his DAW. So JUCE is remarkable in that it’s almost like it knows what you want already. The questions you might ask yourself when developing a sophisticated piece of audio software have been answered by someone who’s been there before.”
Now with multiple versions either launched or in the works, Equator has progressed since those intensive months in 2014. Equator’s development also cross-pollinated the development of JUCE. ROLI agreed to acquire JUCE in 2014, and Jules Storer and his team worked alongside the Equator team and confronted the practical challenges of building a cutting-edge soft synth. JUCE’s coding solutions to some of these challenges have migrated to the JUCE library. For example, JUCE now contains an implementation of Multidimensional Polyphonic Expression (MPE).
Equator and JUCE
Equator is the result of so many decisions of the development team about user interaction and audio processing, and it would be impossible to recreate with JUCE alone. The JUCE library was so fit for the purpose of building Equator, however, that the software team could focus its attention on higher-level design issues rather than coding from scratch or adapting a less suitable framework.
“The business reason for JUCE is always going to be speed to market,” Ted said. “We went from a standing start to an alpha release of a fairly sophisticated product in four months, and that’s extraordinary.”
“Almost every software project I’ve ever been a part of has run over time, over budget, and not met its initial requirements,” said Ted, who has worked in software development for over 30 years. “Equator came in more or less on time, under-budget, and significantly exceeded the original requirements. That is so unusual in software development that to me it’s almost a unique experience in a working life.” The whole Equator team was responsible for this achievement, he added, but “JUCE certainly helped a lot. It was not a small part.”
He recommends JUCE to anyone building audio software. JUCE is so foundational and so flexible, he said, that another synth would probably look very different from Equator. “I’m not sure how good an analogy this is, but JUCE is almost like the bricks of a house. What a house looks like is very much conditioned on the bricks you use, but the bricks don’t determine the design of the house. Actually JUCE is more than bricks. It’s more like the doors, the window frames – things that are in every house, and things that it would be nice to buy off the shelf so you don’t need to make it yourself.”
As a product manager and leader of a growing team, Ted does not spend much time coding anymore. Being so near to Jules and the JUCE team, however, lets him cast his professional eye on the team’s work. “If you look at the source code of JUCE, it’s just beautiful,” he said. “It’s simple, it’s clean, it’s beautifully laid out. I’m an experienced software developer, and I can tell how polished it is. It’s like a collection of small, polished jewels. And let me tell you – most code is not like that.”