12 plugins for live keyboard playing

Discussion about the Bidule SDK, post your questions, feature request and plugins here.

Moderators: davidv, seb@plogue

Posts: 58
Joined: Mon Aug 27, 2007 10:28 pm
Location: Montréal

12 plugins for live keyboard playing

Postby pcournoyer » Mon Oct 08, 2007 2:45 pm

I have been using Bidule for a couple of months now to build a setup for live keyboard playing based on the ideas of 1) managing a virtual instrument rack and 2) the capability to pack a complete song set in a single project file (to avoid potentially long loading time between songs). So far, it has been a lot of fun thanks to Bidule's fast loading time, the flexibility of its modular environment and the capability to design custom modules with the SDK.

At first, I experimented with the building blocks provided with Bidule (e.g. list, arithmetics, PC extractor / Creator, etc...) but I soon realised that CPU overhead for these modules did not allow enough scalability to pack several songs into a single project file and several instruments in the rack. I saw that others were confronted with a similar CPU efficiency problem trying to design control logic with audio building blocks (e.g. http://www.plogue.com/phpBB2/viewtopic.php?t=2653&highlight=performance+polyphony).

So this led me to the SDK and to this first series of 8 plugins. Up to now I have tackled 2 major "themes" with 4 bidules for each theme:

Song and preset organization: SongList1, SegmentList1, ChannelPresetList1 and SongInfo1.

Disabling instruments and effects to conserve CPU: PcToModeModulation1, AudioTerminator1, AudioSource1, AudioSource2.

I thought others might have a similar need and might be interested in giving them a try... Some of the plugins, I think in particular about SegmentList1 and ChannelPresetLIst1, can probably be used for other types of project.

The compiled library (Windows) and a Word document providing a reference section on each plugin as well as an exemple on how they can be used together is available here:
Last edited by pcournoyer on Tue Nov 25, 2008 9:02 pm, edited 1 time in total.

Site Admin
Posts: 9638
Joined: Tue Mar 02, 2004 7:23 pm
Location: Montreal

Postby seb@plogue » Tue Oct 09, 2007 12:16 pm

Nice documentation, if only the one for Bidule was that good...

Posts: 409
Joined: Thu Jun 08, 2006 2:13 pm

Postby sondod » Wed Oct 10, 2007 12:01 pm

do these need a separate mac version?

Posts: 27
Joined: Tue Oct 03, 2006 2:54 pm

well done

Postby itchyhead » Thu Oct 11, 2007 4:05 am

Very Happy
i fiorst godda put the studio back together, but really wann give this a try. seems interesting. are there any other custom built bidules out there?

Posts: 58
Joined: Mon Aug 27, 2007 10:28 pm
Location: Montréal

Postby pcournoyer » Thu Oct 11, 2007 6:53 pm

do these need a separate mac version?

The library provided was compiled using Visual Studio C++ 2005 on Windows XP. I do not know much about mac but I would assume a separate build would be required to run on mac...

Posts: 167
Joined: Sat Apr 23, 2005 11:01 pm
Location: Ontario, Canada

Postby GregH » Fri Oct 12, 2007 1:14 am

I get this message in the bidule.log:

C:\Program Files\Plogue\Bidule\plugins\LivePCbidules.dll is not a Bidule plugin1!

And the plugins do not show up in the palette. Perhaps I'm missing a DLL or something?
Greg Holmes
Dealer of AccuGroove, Acoustic Image, BassLab, Eminence, Muse Receptor, MIDIjet, Rayzoon, and more...
Used gear for sale at http://www.ghservices.com/products/used/

Posts: 31
Joined: Fri Jun 30, 2006 2:40 pm
Location: Montréal

Postby pascal » Fri Oct 12, 2007 8:58 am

I think pcournoyer built his plugin in debug instead of release because it is linked to certain VC8(Visual C++ 8.0 in Visual Studio 2005) debug DLL.

I had not noticed this before because I have MS Visual Studio 2005 installed and so the debugs DLL.

Site Admin
Posts: 1574
Joined: Tue Mar 02, 2004 7:23 pm

Postby davidv » Fri Oct 12, 2007 11:12 am


Even if they were linked against the release DLLs, users would still have to
run the VC2005 redistributable assemblies vcredist_x86.exe

Our x64 build of bidule, since its made using vc2005 installs vcredist_x64.exe (from vc2005 Sp1) automatically. its a bit of a pain, but there are some advantages in using dynamic c++ runtime (no time for details).

The redist for 32 bit VC2005 SP1 is available here:
http://www.microsoft.com/downloads/deta ... laylang=en
And the non sp1 version:
http://www.microsoft.com/downloads/deta ... laylang=en
David Viens,
Plogue Art et Technologie Inc. Montreal.

Posts: 58
Joined: Mon Aug 27, 2007 10:28 pm
Location: Montréal

Postby pcournoyer » Fri Oct 12, 2007 11:11 pm

Sorry everyone for the inconvenience due to the posting of a debug build, and thank you guys at Plogue for your help on this.

I now posted a new release build: http://public.box.net/pcournoyer

I also added the need to install the redistributable package in the installation section of the document. I am using Visual C++ 2005 SP1 to compile the library so the SP1 version of the redistributable should be used.


Posts: 58
Joined: Mon Aug 27, 2007 10:28 pm
Location: Montréal

Postby pcournoyer » Sun Nov 11, 2007 4:07 pm

A second release (LiverPCBidulesV02.zip) with 4 additional bidules is available, targeting mainly convenience and volume control.

MidiCombo1: Provides for common MIDI operations when setting up split keyboard arrangements in one convenient place. Somewhat equivalent to the combination of Note Filter (range), Note Transposer, Note Velocity Filter (Note On only), a list of CC Remapper + CC Value Scaler + CC Inverter (optional), CC Filter, Channel Remapper.

ChannelPresetList2: Adds volume control to ChannelPresetList1.

SegmentPresetList1: Alternate way to configure preset & volume list within each song, organized by segments instead of channel.

CcToMixerModulation1: Modulate mixer channel volume from CC messages, supports jump and pickup operations.

This time I made sure it was a release build :roll:

As before, Windows only and you need to install Microsoft VC2005 SP1 redistributable as explained above in this thread and in the accompanying document: http://public.box.net/pcournoyer

Posts: 58
Joined: Mon Aug 27, 2007 10:28 pm
Location: Montréal

Postby pcournoyer » Tue Nov 25, 2008 9:07 pm

It has been a little bit more than a year now since I started to use Bidule and I went through a couple of iterations, adding features and treamlining the approach. Since I have a little break this week, I thought it was time to post an update...

Major changes since last post include structural improvements:
- Merge of all necessary logic into custom switchers is much simpler to setup and configure.
- Preset, volume, song and segment informations are now wireless for a cleaner project.
- The wireless information transfer also means that the song groups are now complete in themselves for easy copy & paste.

There are also new features:
- Song capacity increase to 128.
- Image display control for each segment.
- New "dual linear segment" volume modulation curve to optimize MIDI control over the top 20 dB or so for live performance.
- Capability to switch segment while keeping an instrument playing.
- Monophonic1: typical monophonic building block with lower / upper / last note priority that can be turn on / off on the fly using MIDI.
- Audio-audio and MIDI-audio latency measurements.
- Longer fade out / in possible on segment changes for more "musical" transitions.

There is also a fix with the MidiCombo1 to correctly handle the alternative Note Off message made up with a Note On with zero velocity. This message is generated for example by Bidule's MIDI switcher and would previously cause a problem with the velocity rescale fonction.

Most of the stuff has been working for several months except for the latency measurement which is a quite recent addition. Nevertheless, as always use at your own risk.

Most of the problems I encountered with VSTi seem to be around All Notes Off and All Sound Off messages. For exemple, I had to add a timing parameter to separate the program change and All Note Off messages because some synths would exhibit strange behavior. On top of that, different synths from the same company would behave differently! And there is always the AAS problem with the All Notes Off / All Sound Off messages injected automatically on processing mode change...

All in all, working with Bidule is still a lot of fun. I keep adding to the projects and I sometimes think something will break...but so far so good, Bidule rocks!

As before, Windows only and you need to install Microsoft VC2005 SP1 redistributable: http://public.box.net/pcournoyer

Posts: 1537
Joined: Thu Jan 15, 2009 1:18 pm

Latency Monitor (Samples) Parameter

Postby dts350z » Tue Apr 07, 2009 10:10 am

I want to use the results of the included Latency Test to set a variable that feeds a delay line.

However when I link the LatensyTestMonitor.Latency (samples) to a variable the variable contains some number (some how related to samples?) that is not samples.

Any ideas?

Posts: 58
Joined: Mon Aug 27, 2007 10:28 pm
Location: Montréal

Postby pcournoyer » Tue Apr 07, 2009 10:09 pm

Hi dts350z, to get back the delay in samples at the output of the variable, you need to match the range of the LatencyTestMonitor.Latency(samples) parameter with that of the linked Variable.

Looking at the parameter properties window for the LatencyTestMonitor it seems the range for Latency(samples) is 0..192000 (if I remember correctly, I think I wanted to support 1 second at the highest sample rate).

So, simply double click the linked Variable bidule and set its Max parameter to 192000. You should now get the latency value in samples.

Let me know if that works for you.

Posts: 1537
Joined: Thu Jan 15, 2009 1:18 pm

Postby dts350z » Tue Apr 07, 2009 11:28 pm

pcournoyer wrote:Let me know if that works for you.

Perfect. Thanks!

Guess I've always set my variable ranges the same as the parameters I was linking from. Didn't realize it was required to get the same result!

Posts: 259
Joined: Thu Apr 30, 2009 11:22 am
Location: denmark

Postby S-N-S » Mon May 11, 2009 9:17 am

i cant get these to show up?

Scandinavian Noize Syndicate

hear some of my tracks

my new side-project

Return to “Bidule SDK”

Who is online

Users browsing this forum: No registered users and 1 guest