PEMF Lessons: Bidule – Direct Cabling & Your Default Layout from Primus Luta on Vimeo.

The DJ Booth at Bily Kun where Bidule was first conceived.

The DJ Booth at Bily Kun where Bidule was first conceived.

Ed.: Music creation is all about the special relationship we have with certain, powerful tools. And one app that gets very little attention is unquestionably the deep but elegant modular patching environment Plogue Bidule. CDM turns to power user Primus Luta to kick off a series on learning this tool, starting with an exclusive interview with Bidule’s creators. And if the interview sounds, at times, more than a little pro-Plogue in bias, make no mistake: this is love. Primus Luta takes it away, as we look forward to his upcoming how-to series. -PK

In the modular future, the Bily Kun will be a leading tourist attraction for Montreal. Patrons will come with laptops tucked under their arms sporting fork bomb t-shirts. The bartenders by then will be used to answering the question only tourists ask with a slight wave of the hand toward seats on the other side of the bar. The tourists will follow that wave to the ultimate destination of their pilgrimage, open their laptop, and broadcast their location to bidulers everywhere, before reenacting some sort of virtual cabling ritual to mark their presence at the conception place of Plogue.

“It all started what seems a long time ago,” Sebastien Beaulieu, Plogue co-founder tells me. “David (Viens of Plogue) was coding a few VST plugins to add new toys to Ross Bencina’s AudioMulch. We would meet up one evening a week to code a few cool bits then head up for beer afterwards at the minimal techno pub in Montreal called Bily Kun, where most of the ideas for the future came into place.”

It was the late 1990′s. Modular audio was just coming out of a clumsy adolescence. Miller Puckette rewrote his then decade old MAX software in a new open source format to create Pd. David Zicarelli founded Cycling ’74 to continue development of the original MAX codebase beginning with a new audio processing engine – MSP. Ross Bencina released the first of thirty six public beta versions of AudioMulch. It was a developing frontier, still early enough that the horizon couldn’t completely be made out. And while working on what would be the first Plogue product, the VST plugin ReBuilder, what would become the Plogue team started envisioning a horizon they could paint themselves.

“Once we had one completed VST,” Sebastien continues, “we decided we needed some kind of entity to release them. We ditched our temporary name while(1)fork();, used to provide a ‘label’ name for our various IDM/Minimal DJ sets. Found a Quebec anglicism/slang word for ‘plug’, some nice chaps to design our logo, and so Plogue was born.

Plogue Bidule

Plogue Bidule

We did another VST plugin (MixedGrains) and then started on Bidule, which, at the start, was to be an app that would improve on both AudioMulch and MAX/MSP, in terms of providing the user with a smaller learning curve to do more. An application that could both be used as an easy modular application, because of high-level objects, and a more advanced one with low-level objects that, depending on your usage, interest or knowledge, you might never need to even look at to get you going making sounds.”

An ambitious endeavor to say the least, starting from scratch in an attempt to improve on a technology while decreasing the learning curve. All of this with a core team that in the decade since founding would only grow to four members, only three of whom are coders, and of those three only Sebastien spends 100% of his time on Bidule.

“Bidule was coded from the start with portability in mind,” he explains, “so the code is mostly C++ and STL. It uses OpenGL for the patchbay rendering. The ‘graph traversal code’ is optimized for various connection types and feedback paths. XML is used to ‘mirror’ the processing graph for serialization.”

Simple, but quite powerful. Powerful enough to attract the attention of some of the bigger names in audio software, such as Garritan and Sibelius, who came to Plogue looking for licensing opportunities. When asked if this was always a part of the Plogue business plan Sebastien firmly states, “Definitely not, but once the opportunity presented itself we thought of it has a good way to sustain and grow. The ARIA Project is a different case because we are developing that in collaboration, which means it’s something we can also use for our own products. This explains why it was developed as a sample playback/synth hybrid engine rather than a straight sample playback one.”

With a reliable buisiness to business revenue stream one can’t help but wonder what influence that has in the development of Bidule. “Our licensing work does not have much influence on what is Bidule,” Sebastien explains. “Licensing work is usually started from our base components/libraries, some Bidule-borrowed code and our knowledge from doing audio plugins and applications. There are way too many things in Bidule to use that as the basis of a licensable audio engine without ending up with either an awful amount of #ifdef or too much code separation in different files.”

On the business end of things he states, “While the added income enables us to pay ourselves and employees it also takes time to do and that time is taken away from our own projects. There’s no way to know what would have happened if we strictly worked on our stuff, would we be at the same point we are now with a physical office and employees? Would we still be working from home? Or would we have given up on doing much more interesting work for less money and gone back to your typical programmer job full time and code the fun stuff evenings and weekends?”

There’s a constantly growing community of bidulers who are thankful not to have to worry about those possibilities. Congregating in the forums, the community in many ways acts as the additional staff for Plogue. It’s an interesting model, because while bidule is proprietary the communal nature of development is reminiscent of open source. One only need look at the Feature Request section of the forums to realize the high percentage of requests that end up in future releases of the software.

“There are several possible way to use Bidule,” Sebastien explains, “and we obviously cannot think of all of them. That is where the community input is important. We can’t even count the number of times forum posts, discussions and emails have led to new features in Bidule or changed the way we were going to approach a specific feature.” As such, you can find Seb (as he’s known in the community) in the forums regularly logging bugs, discussing problems, and ensuring user needs are met. Three years ago those user needs resulted in an SDK. “The SDK came up as a quick way to add new modules. There are times when users need something totally specific to their use or setup and it doesn’t make sense to add it inside Bidule. With the SDK, anyone having some basic code skills can add their own module.”

The true testament to the power of Bidule are what the users are able to do with it. When asked for example use cases Sebastien replies, “Building a setup for an art gallery installation where control comes from external sources. DSP companies using Bidule for quick prototyping of larger algorithms and systems through building blocks and SDK-built modules. People playing live in all sorts of music styles from experimental to jazz and even faith gatherings!

“Some things have just surprised us to find out that they were even possible with Bidule,” he continues. “For example Bram de Jong made a basic time-stretching algorithm out of basic bidules. Someone else made some noise reduction algorithm out of side effects of Bidule’s FFT algorithms. There’s also what you’re doing, which we found interesting because you’re basically building a complete instrument within Bidule and documenting the process.”

All of this with a software still in beta. Easily surpassing the thirty six beta versions of Audio Mulch and going into its seventh year of public beta, perhaps the Guiness Book of Records should be contacted. When asked whether the 1.0 version of Bidule would see release this year, Sebastian navigates his web browser to a virtual Magic 8 Ball site and types the question. The answer is: Very Doubtful.

“Bidule 1.0,” he explains, “has been a long standing internal debate in here. If you made a list of programmers that can’t let go until it’s perfect, you would find us in the upper portion. Lets just say we especially dislike ‘version 6.x’ applications that crash when you just look at them and the endless cycle of pay the yearly (or so) update fee to get a few bugs fixed.” Strangely enough for active bidulers, 1.0 may not be that important. The communal style of development is perhaps the most valuable part of Bidule. Would that come to an end if it were to come out of beta?

“I don’t see why it would stop because we think it has served us very well so far. More importantly, everyone at Plogue uses Bidule as their main development/test tool for everything else they do (like ARIA and chipsounds for instance). It’s our pen, if you will. With that mindset, as long as Plogue is alive, so will Bidule.”

An Alpha Version of Bidule Running on Linux Circa 2001

An Alpha Version of Bidule Running on Linux Circa 2001

If Bidule has any limitations, it is perhaps the lack of a Linux version. When asked what’s keeping the software from being ported to the open OS, Sebastien quickly responds, “A time machine might help!” As it would seem back in 2001 there was an alpha version of Bidule which did run on Linux, development on which has since ceased. “I think our main concern is that we are not yet totally convinced of the viability and welcomeness of closed-source applications to Linux. Pretty much every thing else would fall into the lack of time category (most of our other concerns would probably be answered by research and testing), chasing two major platforms is already a time-consuming task, we’re not yet ready to add a third major one.” That shouldn’t be read as the end of the conversation for Linux users. If there’s anything which cannot be overstated about the Plogue team it is that community demand moves them.

This week Plogue launches the latest public version of Bidule 0.9685. As with all public releases it comes with a three month trial period for users to demo the software. To coincide with this, I’ve been given a space over on CDM’s NoisePages where I will be providing a series of introductory and advanced tutorials in Bidule, using the instruments created for my Heads Project as examples. You can read all about the latest Bidule release and after you’ve downloaded you’re copy make your way through the first tutorial. If you’ve ever wanted to have a look at what Bidule is all about, now is the perfect time.

In the modular present, Plogue Bidule has achieved much of what it set out to do – smaller learning curve, doing more. The modular future is bright.

“Total freedom to experiment, and try ideas fast.”

  • http://www.covops.org Bjorn

    Ahh Bidule. That takes me back.

    I used to use one of the earlier beta's to add MIDI sequencing and LFO's to Live 3.

    Can't say I really agree with their general motto though. You're not so much learning faster as you're learning less.

    Don't get me wrong. I loved the application at one point, but I have (had) the same problem with externals in Max/MSP.

    If you don't know what is going on inside the objects, then what have you learned?

    I'm not sure what eventually made me switch over to Max, but I think pluggo, Live 4 and the help files in Max had a lot to do with it.

    That bidule bridge never was stable for me and I essentially needed to pre-order 1.0 to continue testing. But that was in 2004 I think.

    Still. Can't complain about the addition of OSC. The more modular environments, the merrier.

  • http://avanturb.com Primus Luta

    With regard to knowing what's going on inside the objects, that's possibly best understood as a documentation problem, no? There definitely is room for more detailed explanation for the workings of many of the base objects. You aren't suggesting that users need to know how to build those objects themselves? If that is what you're saying, theoretically with the SDK you have all the tools available to do even that.

    That said I don't think you are learning less though, or faster for that matter. But I do think the learning curve is less steep. With a general understanding of what you are trying to create and a preliminary understanding of what objects you need to do it, you can. There are no externals or prerequisites to making that happen. It may require a bit of trial and error, but there's also a very nice community of folk always willing to help out when they can. They are also very helpful when it comes to understanding exactly what is going on inside of those modules.

  • http://www.covops.org Bjorn

    Yeah I'm referring to documentation. But I can't really comment on how it is now. I used one of the 0.9 versions many years ago. Hard to tell how many versions have passed since.

    I'm not sure what to think about all this learning curve stuff. Having no programming background, I got further with Max than I did with Bidule. Despite this high learning curve which people refer to. And starting out with Bidule as my first modular environment.

    I guess a learning curve is subjective to the goals of the person learning.

  • lematt

    bidule was my first modular environment, with audiomulch.

    the community is really helpful and the plogue staff is always there, watching the forum.

    the big problem in bidule is the lack of real GUI

    the big advantage in max (or even PD) over Bidule (which i still use though) is that you have Sliders + values + GUI elements on directly on the patch, on bidule you have to click on a module to open a window with the GUI

    don't know about the learning curve on bidule… i wouldn't say it's easy because it's really specific.

  • http://relivethefuture.com/choronzon/tutorials/ Martin

    Did someone say Bidule Tutorials?

    its not often i get a chance to toot my bidule horn but if you're looking for tutorials click my name.

    toot! toot!

  • Pingback: The story behind Plogue Bidule » Sibelius Blog

  • Pingback: #plpheads Update: Mixing the Album, Bidule Tutorials, Interviews & More | AvantUrb

  • Pingback: Create Digital Music » Cycling ‘74 Ditches Plug-in Development Support; Free + Commercial Alternatives

  • Pingback: Create Digital Music » Snow Leopard Watch: Changes, Compatibility, Caution, Native Instruments, Plogue

  • Pingback: Snow Leopard Watch: Changes, Compatibility, Caution, Native Instruments, Plogue | uptownboogiedown