Hi im not using plogue bidule anymore,so if anyone can find good use for. Clean, ghost the machines, reinstall, and always use the same key.
Plogue Art et Technologie Inc. in Multimedia Music Composers
Is this a familiar picture? Cables lead from a microphone input into a small digital effect. More cables connect the effect to a mixer. Elsewhere, a MIDI cable links a MIDI input to a synthesizer, which is in turn connected to a mixer ..
Is this a familiar picture? Cables lead from a microphone input into a small digital effect. More cables connect the effect to a mixer. Elsewhere, a MIDI cable links a MIDI input to a synthesizer, which is in turn connected to a mixer. Old hat, right? Now, imagine this: the same single output socket sprouting no less than eight different cables connecting eight different effects.
It gets better: A sound is broken down into 256 individual bands, then each is tweaked one at a time in a unique way. As he performs, a musician decides to add an LFO to a synth's filter cutoff knob, where no LFO existed before. Sound crazy? Not anymore. The new paradigm of computer audio can be summed up in two words: 'real-time' and 'modular' ? both of which are embodied by one application..
Plogue Bidule application was designed by the Plogue audio/DSP programmers and is intented to be an audio mixer/syntesizer
Some features:
· Realtime Audio/MIDI/Spectral processing
· Completely modular architecture
· Runs as VST/AU plugin or standalone
· Runs as ReWire mixer or device
· Runs as OSC client and server
· VST/AU instruments and effects hosting
· Building blocks for FX/inst creation
· More than a 100 ready-to-use modules
· Supports multiple tempos at once
· Inter-module parameter linking
· Zoomable OpenGL-based canvas
· Multi-channel audio file streaming
· ASIO/CoreAudio low-latency support
· Offline mode (rendering) available
· Uses 32-bit precision throughout
· Online catalog of ready-made groups
Plogue Bidule x64 0.9715 Music Composers software developed by Plogue Art et Technologie Inc. The license of this music composers software is shareware$, the price is 75.00, you can free download and get a free trial before you buy a registration or license. Do not use illegal warez version, crack, serial numbers, registration codes, pirate key for this music composers software Plogue Bidule x64. If you want to get a full and unlimited version of Plogue Bidule x64, you should buy from original publisher Plogue Art et Technologie Inc.
File Size: 8.81MB License: SharewarePrice: $75.00
Related:Audio Spectral Process - Vst Plugin - Audio Mixer - SyntesizerVst Audio - Audio Mixer - Audio Dj Mixer - Windows Audio Mixer - Audio Mixer Software - Audio Mixer Sound - Audio Dj Mixer Online - Video Audio Mixer - Audio Video Mixer - Audio Plugin -
Platform: WinXP, Windows Vista x64, Windows 7 x64
Downloads: 14 Category: Multimedia Music Composers
Creating a simple synthesizer in Plogue Bidule
Conventions
All numbers are written in the UK style. So if you see 10,000 that means ten thousand. If you see 10.500 that means ten and a half.
If there is any terminology that you find without a suitable explanation then please let me know and i’ll fix it.
Getting started.
First lets check that everything is working and you can hear some audio.
Open bidule in standalone mode and you will see the normal bidule canvas with some default devices.
The first thing I do is to change the audio device for my soundcard, if you are using the default windows sound device then you can skip this bit.
Delete the default output module, mine says ‘Microsoft Sound Mapper – Output (out)’. You can either select it and hit delete, or use the context menu for the module.
Now, open the palette and expand the ‘audio devices’ section, In here you will probably see ‘duplex’ and ‘output’. Even though we are only using audio output, you might have to use a duplex device because your card may not be listed in just ‘Output’.
In ‘Duplex’ im going to choose ‘ASIO’ and then my driver ‘MOTU Firewire Audio’. Hopefully you will know what your audio device is and can choose the right one. On windows direct sound is preferable to MME. You can add the device by double clicking the entry in the palette or you can drag it onto the canvas.
Next we wire it up to the mixer, it always wise to use a mixer before the sound card so you can adjust the volume easily.
We want stereo output, so while dragging a line from the left mixer output to your audio device, hold down the control key and it will attach both cables.
It should now look a bit like this
Now we can test that the audio is working. To do this we’re going to add a simple oscillator and connect that to the mixer.
You’ll find the oscillators in Building Blocks -> Oscillators. Add the ‘Basic Oscillator’ module to the canvas.
The basic oscillator has 4 audio rate inputs and 1 output. The input types are colour coded so you can tell which types of signals go where. White for midi, blue for audio rate (audio rate means that the signal is sampled at the audio rate, it doesnt have to be an audio signal). The two other types are Yellow and Orange for spectral frequencies and magnitudes.
For a basic oscillator the four inputs are
For this tutorial we’ll deal with just the frequency and amplitude, we can mess about with the phase reset and phase offset later.
Now connect the output of the oscillator to the mixer. There wont be any sound just yet though.we have to set the frequency and amplitude first.
Just to be safe make sure that your volume level isnt set too high or you might get a nasty suprise
For the frequency control we will use a ‘Variable’, basically a number that we can change using a simple slider control. Go to ‘Building Blocks -> Math’ and add a Variable block to the canvas. It only has one output, the number we set.
Lets configure this variable before we connect it, double click the block (probably called Variable_0) to open the panel, which looks like this Applied acoustics chromaphone.
In there we have minimum and maximum values and a slider to set the value.
Lets put minimum to 50 and maximum to 1000. You’ll notice that you have to set the maximum first, move the slider above where we want the minimum and then set the minimum level. Once those are set, leave the slider somewhere around 200.
Now connect the output of this block to the first oscillator input.
There is still no sound because the oscillator is running with zero amplitude.
To set the amplitude we will use a different block, this time a ‘Constant’. This is just a fixed number, theres no slider to change the value.
Its in the same group in the palette as variable so add one to the canvas. Double click this to open its panel.
In this panel you’ll see theres a drop down list which contains settings for some handy numbers that will come in useful later on.
We wont use any of those options now so leave it at ‘Value’, enter 1 into the text box and close the panel.
You’ll see that the name of the constant has changed to show what its value is, very handy.Now connect this box to the second input of the oscillator.
Bingo! You should now hear a steady sine wave tone and the layout should look like this :
However, we can get much more useful information from the Monte Carlo simulation by looking at ranges and percentiles.To begin with, we can look at the minimum and maximum values identified during the simulation using the SimulationMin and SimulationMax functions. Step 3: Analyzing DataAs noted above, the average return given by the Monte Carlo simulation is close to the original, fixed model. Monte carlo simulation financial software. If that were the only thing we could learn from the simulation, it wouldn’t have much use.
If you dont, first check the mixer panel (double click it) and see if the level meters on the right show some signal. If they dont check the wiring is correct.
Once you are sure there is a signal in the mixer you will need to check that your volume is ok for your sound card and that you are using the right output module.
You can open up the Variable_0 box and try changing the value and you will hear the tone change frequency.
Now would be a good time to label the variable box so you know what its for. In the panel, click the rename button and enter ‘Frequency’ then close the panel.
You can download the layout so far from here :
Now its time to move onto building something a bit more like a standard monosynth.
Basic Mono Synth Layout
The audio signal flow for a basic mono synth generally goes like this :
Oscillator -> Filter -> Amplitude Control -> Output
And to control the sound you will often find a couple of envelopes and an LFO. For our simple synth we will use an envelope and lfo for the filter, and one envelope for the amplitude control. But we’ll start with the absolute basics and build up as we go along.
First, the filter. There are a few types of filter available with bidule, each useful for different types of signal filtering. I wont go into details here, but you can read more about filter types in these great articles from Sound on Sound
(The whole series is definitely worth reading.)
Open the palette, and again we’ll be looking in the Building Blocks section. Open the ‘filters’ group and add the
‘Basic Filter’ to the canvas. Now you should see the filter block with 2 inputs and 1 output. If you move your mouse over each input you can read what it is in the status bar.
We’re going to control the filter frequency using a variable, like we did with the oscillator frequency. In fact, we’ll just copy and paste the ‘Frequency’ block we made earlier. So select it and make a copy, then connect its output to the *second* input of the filter block. Open the panel for the variable and change the high limit to 10,000.
Now we need to run the oscillator output into the filter’s audio input. To do this we’ll re-use the existing output wire from the oscillator. If you move your mouse over the cable connecting the oscillator to the mixer, it should highlight. Click on it to select it, then drag the handle which goes into the mixer to the first input of the filter. You should end up with something looking like this :
Then connect the output of the filter to the mixer and you should again hear the signal. Before you try changing the filter frequency, open the oscillator panel and change the wave type to ‘Saw’ This is because filtering a sine wave has no effect on the harmonic content of the wave, because, well, its just a pure sine wave there are no harmonics. All the other wave types have harmonics which will be affected by the filter setting.
Now, open the panel for the filter and set its type to One-Pole LP. This is a low-pass filter which means that it will let through frequencies lower than the cutoff frequency (i.e. the number we choose from the filter frequency variable panel). Try playing around with the filter frequency variable and you should hear the sound change in brightness.
Heres a complete picture of the current setup
Now before we add the envelope we need to consider how we can control the start and stopping of the sound. Ideally we might want to play the synth via midi. Fortunately using bidule we dont even need a midi keyboard to do this, theres some handy MIDI contraptions included that we can put to use without worrying about if external hardware is working or configured correctly.
So lets start with a really simple sequencer, something that will just play a different note after some time passes. Go into the palette and open up the MIDI section. (The main MIDI section, not the MIDI section within Building Blocks…there are a lot of different pieces available in bidule and it will take some time to get used to what they are and where they live.but dont worry, you’ll soon be speeding around creating all types of weird and wonderful things.) In the MIDI section you should see a block called ’16 Steps Seq’ right at the top. Add this to the canvas.
The first thing you will notice is that it has a white coloured output. This means it outputs MIDI data, not just raw numbers like the blue connections. So we cant just connect the output of this to the input of the oscillator, we will need something else to extract the information from the MIDI messages to give us the numbers we use to connect to the blue inputs. Again, bidule comes ready with the perfect solution, its called the ‘Note Extractor’, and this one you will find in the MIDI section under Building Blocks. So navigate your way there and add the Note Extractor to the canvas.
The Note Extractor has 1 input and 4 outputs. The input as you can see is MIDI and the 4 outputs are number outputs. They are as follows :
The great thing about this extractor is that it converts midi note messages into Hz frequencies, ready to control the oscillator, and it converts midi velocities into the amplitude range (0 – 1) that also can control the oscillator. The other 2 outputs are what i would call ‘logic signals’. They are either 0 or 1, nothing inbetween. The ‘gate’ is 0 (or low) when there is no note being played. The gate is 1 (or high) during a note, i.e. from the moment of note on, to the moment of note off it is continuously at 1. The trigger on the other hand just changes to 1 when the note on occurs, and then goes back to 0 as soon as possible (i.e. at the next sample).
If you are already used to how synthesizers work then you will no doubt realise that these two signals are perfect for controlling the envelopes we will be using
to shape the sound. But first, lets get the sequencer wired up to the oscillator and listen to the results. Connect the sequencer output to the input of the note extractor. (white -> white)
Now, we can either replace the current inputs to the oscillator with the outputs from the note extractor or we can combine them. Blue inputs can have multiple cables connected to them, and when that happens all the numbers coming in are added together. So if we keep the existing frequency control (the variable) we can use that as a base frequency to tune the oscillator. Currently we are using a constant to control the amplitude of the oscillator, but we wont use this anymore so go ahead and delete it.
You should now have something like this for the oscillator section :
Lets wire up the note extractor to the oscillator, we wont use the control key while wiring the note extractor because we dont want to wire up all 4 outputs to all 4 inputs. So connect the first two outputs to the first 2 inputs. You should hear something that sounds like a computer sound effect from the 1970’s.
Try playing around with the oscillator frequency variable and the filter to see how the sound changes.
You can also open the panel for the 16 Steps Seq and play around in there. Although there are 18 sliders its quite simple. The first, BPM, just controls how fast the sequence plays. The second, called value, is the amplitude control and the rest control the individual frequencies of the sequence.
Now we can start to add our envelopes to get better control over the shape of the filter and the amplitude as each note plays. Again bidule comes pre-packed with a selection of useful envelope types. You’ll find them in Building Blocks -> Envelopes. You might recognise some of them. We’ll start from the top with the ADSR envelope.
ADSR stands for
Attack : The time it takes for the envelope to grow to a maximum value
Decay : The time it takes for the envelope to go down to the sustain level
Sustain : The level at which the envelope holds while it receives a gate signal.
Release : The time it takes to go down from the sustain level to zero.
As you can see A, D and R are all times, whereas S is a level (just a number).
Add this envelope to your layout and you’ll see it has 2 inputs and 2 outputs:
Inputs:
Outputs :
The gate and trigger are logic inputs as we saw earlier when looking at the note extractor. The output value is what we will use to shape the sound, and the activity gate is another logic signal which is 1 when the envelope is doing something, i.e. from the initial trigger until the end of the release time.
Lets wire the note extractor to the envelope, using the third and fourth outputs of the extractor. This time we can hold down control when making the first connection because we want to connect both cables.
Our layout should now look like this at the top :
Now we are going to use the envelope to control the filter cutoff of each note as it plays. This will require a little bit of maths, but its nothing scary, just multiplication.
What we will do is take the output of the envelope and multiply it with the output of our existing cutoff frequency variable. We do this because the output of the ADSR ranges between zero and one, but the cutoff input to the filter requires a range from 0 -> 22050. So, if we multiply the two together we will get a range from 0 to the value of the frequency variable.
Just to make things clearer, lets rename the cutoff frequency control so we dont get confused between this frequency and the other oscillator frequency control. Right click the cutoff frequency control and call it ‘Filter Env Amount’.
Now we need a module which will multiply two values, you’ll find this in Building Blocks -> Math and its called ‘Binary Operator’. This name may be confusing at first because you might think that its for working with binary data, not normal numbers, but in this case the binary means ‘2 inputs’. This module provides all the common mathematical operations you will need for working with 2 inputs, multiplication, addition, subtraction etc.
Add the binary operator block to the layout, open its panel and select ‘*’, this is the multiplication operation.
Next rewire the ‘Filter Env Amount’ variable so its output goes into the left input of the * block, then connect the first output of the ASDR to the second input of the *. The output of the * block will now be the two inputs multiplied together. All thats left is to connect the output of the * to the second input of the filter (the cutoff frequency). The sound should come back and you will hear the sequence again.
The complete layout should look like this :
It probably doesnt sound any different to how it sounded before, thats because the default envelope settings use a high sustain level and very low times for the ADR parts.
Open the ADSR panel and reduce the sustain to about 4. The sequence will probably now sound like little chirping sounds.
Try these settings for the ADSR :
A: 0.2
D: 100
S: 4
R: 10
hopefully you’ll start to notice how the each note is now more defined, with a sharper hit at the start.
Open the sequencer panel and reduce the BPM to about 50 and play with the envelope settings (you can leave R for now as it wont make any difference)
Play around with the Filter Env Amount as well to see how that affects the sound.
Great, you’re well on your way to a playable monosynth.
You can download this layout here
Next we’ll add envelope control to the amplitude of the signal, this will be easy, we’ll just follow what we did for the filter envelope.
The really quick way of doing this is to make a copy of everything we need, so select the two cables going from the extractor to the adsr, the adsr itself, the cable from the adsr to the * and the * module itself. Do a copy and paste and you should have almost everything ready to go. All we need to do now is rewire the output of the filter to the unconnected first input of the new * and the output of the * to the mixer.
Easy.
Also now is a good time to relabel the adsrs, i’ll call mine ‘Filter Env’ and ‘Amp Env’ It should look something like this (you might want to re-arrange some of the modules to see whats going on more clearly).
This layout is here
From mono to poly
If you have a midi keyboard, you probably want to try playing your new synth using that. Again, this is easy (as long as your midi is setup correctly.im afraid i cant help you with that) Your layout might already have your midi input device available, if its there then you can just connect it to the note extractor and delete the sequencer. If its not already on the layout you can right click the sequencer and navigate to Replace -> Midi Devices -> Input -> YOUR MIDI INPUT DEVICE.
Now try playing your midi keyboard…hmm, well it works but it sounds kind of out of tune. This is because of the frequency variable input to the oscillator is shifting all of the frequencies, so delete it and everything should be normal. Feel free to play around with the settings of the envelopes, the oscillator wave type and the filter type. You’ll also be able to hear the effects of the release stage of the envelopes on the sound when you let go of the key (just increase both releases to about 400 and you should notice the tail of the sound playing after you let go)
Ok, so what if you want to start playing some chords?
Bidule makes this really easy, but we have to do a little bit of preparation first.
We’re going to take most of these modules and combine them into just one module (or as bidule calls it a ‘group’) This group will be one ‘synth voice’. To make a synth voice for bidule we have to give it one midi input and 2 audio outputs. The 2 outputs arent for stereo sound, they are 1 : the audio output, 2 : the envelope activity gate.
When making a polyphonic synth, bidule uses the 2nd output to determine when a voice has finished playing. This is used by the ‘polyphonic adapter’ feature of bidule. The manual explains this as follows :
The Polyphonic Adapter is a special bidule that only appears in the right mouse menu of a voice group. (Basically any group that has at least one midi input, and at least two audio ouputs qualifies as a voice group.) Its purpose is to transparently create cloned copies of your monophonic voice group, and to literally transform it into a polyphonic group. Its job is to listen for all notes that enter it and dynamically dispatch each and every note it receives to one of the clones. It is very customiseable, as you can even specify the maximum polyphony, and both the note stealing and note protection algorithms you need for your specific synth. And that’s not all! Some polyphonic synths on the market are plain CPU drains as each and every voice consumes resources all of the time. The Polyphonic Adapter in Bidule takes care of that. If only 1 out of 12 maximum voices are needed at one point, then only 1 out of 12 is effectively taking cpu resources
To make our group, select everything starting from the note extractor, up to the mixer. Dont include the midi input device or the mixer in your selection.
Now, right click on one of the selected modules and navigate to Group -> Group Selected Objects. A panel will appear with all manner of different options. This panel is for setting up the inputs, outputs and the name of the group. We want 1 midi input, so reduce the ‘Samples’ (a.k.a. blue inputs) to 0 and reduce the midi outputs to 0. In the name field im going to use ‘Basic Synth Voice’ and set the author field to my name.
The settings will look like this :
Hit ok, and all your modules will be collapsed into 1 box with 1 white input and 2 blue outputs.
Building groups like this is a powerful way to start building your own collection of useful modules that you can reuse over and over again
in all sorts of combinations.
Now we need to go into the group and wire it up. Right click on the new module and navigate to Group -> Expand.
You should see all your modules again on screen, also notice at the bottom the display says
/ Basic Synth Voice
this tells us we are currently inside the Basic Synth Voice group, so we know what we are editing.
At the top of the screen will be a lone white box, and at the bottom 2 blue boxes. These are the connections to the outside world. So, lets wire them up, connect the white input to the note extractor, then connect the output of the final * to the first blue output. This is the audio output, then we will use the activity gate from the Amp Env to tell bidule when a voice is playing (not the filter, because the filter may finish before the envelope).
You should have a layout that looks like this :
Before we go back up to the main layout, its always wise to label the connectors, so that when you roll your mouse over them you know what they are for.
The top midi input is fine, so leave that. Now double click the first blue output box, and enter ‘Audio’ in the rename panel. Then double click the second output and call it ‘Activity Gate’. The final piece in the puzzle is to create the user interface for controlling the synth voice. This is the panel that will appear when you double click on the ‘Basic Synth Voice’ block.
Right click on a blank part of the canvas and navigate to Group -> Parameters. This window shows you a list on the left of all the blocks inside the group and which parameters from those blocks we can display on our UI.
Add them in this order :
Oscillator
Wave Type
Basic Filter
Type
Amp Env
Attack, Decay, Sustain, Release
Filter Env Amount
Value
Filter Env
Attack, Decay, Sustain, Release
Now we will rename some of them so its clear what they do. Select the Filter type entry, hit rename and call it ‘Filter Type’ Then select Filter Env Amount : Value and call it ‘Filter Env Amount’
Your list should look like this :
Click ok, then from the toolbar at the top of the window click ‘Parent’ to take you back to the main layout.
To check your ui, just double click on the ‘Basic Synth Voice’ module, it should be like this :
Now to get back to where we were before, reconnect the midi from the midi device to the new module and connect just the first output to the mixer (remember the second is the activity gate, its a logic signal, not an audio output). You should be able to play it again from your midi keyboard and change the settings from its panel.
Finally to turn this mono synth into a poly synth just right click on the module and select ‘Polyphonic Adapter’. Here is where we can configure how many voices we want the synth to have and how it chooses what to do when it runs out of voices. Set the number of voices to 6 and leave the rest as they are for now and hit ok.
A progress dialog will appear to inform you that its creating the necessary voices. Once thats done, time to play. You’ll also notice that next to the module a green ‘p(6)’ has appeared to let you know that its a polyphonic synth with 6 voices.
You can download this layout here
Finishing Up
Just a couple of things to finish up and you’re well on your way to bidule mastery. If you open up the panel for the synth and look at the buttons at the top you’ll see :Presets, params, lock, random and mutate. First is the presets menu which is for, well, creating and managing presets. When using this, remember that if you select ‘Add’, it will add a new preset but wont keep your current settings, so if you have a sound you like and want to make it into a preset, select ‘Add Copy’. So first change the settings for a sound you like, then do ‘Add Copy’. A new entry called ‘Preset 1’ should be added to the list. I always like to give things names, so I always go back to the preset menu, select rename and try to think of something appropriate. The other thing to be aware of, is that a preset is ‘live’, i.e. if you recall a preset and change the sliders, the next time you open it in this session it will have the last settings, so if you are building a bank of presets you might want to always ‘Add Copy’ and work with that new one until its right, then move onto the next.
Next along is the ‘params’ button. This opens a window where you can control the range of the controls within the ui and also set a ‘mutation factor’ for use with the mutate button. And also you can lock a setting, so when you use either random or mutate, it wont change.
The last 2, random and mutate and great for generating new sounds and variations. Random just changes the unlocked controls to a random setting, whereas mutate will change the current value of a setting by the amount set in the params dialog.
Have a play around and see what sounds turn up, its always good for a bit of inspiration for new presets.
Martin.
Hi im not using plogue bidule anymore,so if anyone can find good use for. Clean, ghost the machines, reinstall, and always use the same key.
Plogue Art et Technologie Inc. in Multimedia Music Composers
Is this a familiar picture? Cables lead from a microphone input into a small digital effect. More cables connect the effect to a mixer. Elsewhere, a MIDI cable links a MIDI input to a synthesizer, which is in turn connected to a mixer ..
Is this a familiar picture? Cables lead from a microphone input into a small digital effect. More cables connect the effect to a mixer. Elsewhere, a MIDI cable links a MIDI input to a synthesizer, which is in turn connected to a mixer. Old hat, right? Now, imagine this: the same single output socket sprouting no less than eight different cables connecting eight different effects.
It gets better: A sound is broken down into 256 individual bands, then each is tweaked one at a time in a unique way. As he performs, a musician decides to add an LFO to a synth's filter cutoff knob, where no LFO existed before. Sound crazy? Not anymore. The new paradigm of computer audio can be summed up in two words: 'real-time' and 'modular' ? both of which are embodied by one application..
Plogue Bidule application was designed by the Plogue audio/DSP programmers and is intented to be an audio mixer/syntesizer
Some features:
· Realtime Audio/MIDI/Spectral processing
· Completely modular architecture
· Runs as VST/AU plugin or standalone
· Runs as ReWire mixer or device
· Runs as OSC client and server
· VST/AU instruments and effects hosting
· Building blocks for FX/inst creation
· More than a 100 ready-to-use modules
· Supports multiple tempos at once
· Inter-module parameter linking
· Zoomable OpenGL-based canvas
· Multi-channel audio file streaming
· ASIO/CoreAudio low-latency support
· Offline mode (rendering) available
· Uses 32-bit precision throughout
· Online catalog of ready-made groups
Plogue Bidule x64 0.9715 Music Composers software developed by Plogue Art et Technologie Inc. The license of this music composers software is shareware$, the price is 75.00, you can free download and get a free trial before you buy a registration or license. Do not use illegal warez version, crack, serial numbers, registration codes, pirate key for this music composers software Plogue Bidule x64. If you want to get a full and unlimited version of Plogue Bidule x64, you should buy from original publisher Plogue Art et Technologie Inc.
File Size: 8.81MB License: SharewarePrice: $75.00
Related:Audio Spectral Process - Vst Plugin - Audio Mixer - SyntesizerVst Audio - Audio Mixer - Audio Dj Mixer - Windows Audio Mixer - Audio Mixer Software - Audio Mixer Sound - Audio Dj Mixer Online - Video Audio Mixer - Audio Video Mixer - Audio Plugin -
Platform: WinXP, Windows Vista x64, Windows 7 x64
Downloads: 14 Category: Multimedia Music Composers
Creating a simple synthesizer in Plogue Bidule
Conventions
All numbers are written in the UK style. So if you see 10,000 that means ten thousand. If you see 10.500 that means ten and a half.
If there is any terminology that you find without a suitable explanation then please let me know and i’ll fix it.
Getting started.
First lets check that everything is working and you can hear some audio.
Open bidule in standalone mode and you will see the normal bidule canvas with some default devices.
The first thing I do is to change the audio device for my soundcard, if you are using the default windows sound device then you can skip this bit.
Delete the default output module, mine says ‘Microsoft Sound Mapper – Output (out)’. You can either select it and hit delete, or use the context menu for the module.
Now, open the palette and expand the ‘audio devices’ section, In here you will probably see ‘duplex’ and ‘output’. Even though we are only using audio output, you might have to use a duplex device because your card may not be listed in just ‘Output’.
In ‘Duplex’ im going to choose ‘ASIO’ and then my driver ‘MOTU Firewire Audio’. Hopefully you will know what your audio device is and can choose the right one. On windows direct sound is preferable to MME. You can add the device by double clicking the entry in the palette or you can drag it onto the canvas.
Next we wire it up to the mixer, it always wise to use a mixer before the sound card so you can adjust the volume easily.
We want stereo output, so while dragging a line from the left mixer output to your audio device, hold down the control key and it will attach both cables.
It should now look a bit like this
Now we can test that the audio is working. To do this we’re going to add a simple oscillator and connect that to the mixer.
You’ll find the oscillators in Building Blocks -> Oscillators. Add the ‘Basic Oscillator’ module to the canvas.
The basic oscillator has 4 audio rate inputs and 1 output. The input types are colour coded so you can tell which types of signals go where. White for midi, blue for audio rate (audio rate means that the signal is sampled at the audio rate, it doesnt have to be an audio signal). The two other types are Yellow and Orange for spectral frequencies and magnitudes.
For a basic oscillator the four inputs are
For this tutorial we’ll deal with just the frequency and amplitude, we can mess about with the phase reset and phase offset later.
Now connect the output of the oscillator to the mixer. There wont be any sound just yet though.we have to set the frequency and amplitude first.
Just to be safe make sure that your volume level isnt set too high or you might get a nasty suprise
For the frequency control we will use a ‘Variable’, basically a number that we can change using a simple slider control. Go to ‘Building Blocks -> Math’ and add a Variable block to the canvas. It only has one output, the number we set.
Lets configure this variable before we connect it, double click the block (probably called Variable_0) to open the panel, which looks like this Applied acoustics chromaphone.
In there we have minimum and maximum values and a slider to set the value.
Lets put minimum to 50 and maximum to 1000. You’ll notice that you have to set the maximum first, move the slider above where we want the minimum and then set the minimum level. Once those are set, leave the slider somewhere around 200.
Now connect the output of this block to the first oscillator input.
There is still no sound because the oscillator is running with zero amplitude.
To set the amplitude we will use a different block, this time a ‘Constant’. This is just a fixed number, theres no slider to change the value.
Its in the same group in the palette as variable so add one to the canvas. Double click this to open its panel.
In this panel you’ll see theres a drop down list which contains settings for some handy numbers that will come in useful later on.
We wont use any of those options now so leave it at ‘Value’, enter 1 into the text box and close the panel.
You’ll see that the name of the constant has changed to show what its value is, very handy.Now connect this box to the second input of the oscillator.
Bingo! You should now hear a steady sine wave tone and the layout should look like this :
However, we can get much more useful information from the Monte Carlo simulation by looking at ranges and percentiles.To begin with, we can look at the minimum and maximum values identified during the simulation using the SimulationMin and SimulationMax functions. Step 3: Analyzing DataAs noted above, the average return given by the Monte Carlo simulation is close to the original, fixed model. Monte carlo simulation financial software. If that were the only thing we could learn from the simulation, it wouldn’t have much use.
If you dont, first check the mixer panel (double click it) and see if the level meters on the right show some signal. If they dont check the wiring is correct.
Once you are sure there is a signal in the mixer you will need to check that your volume is ok for your sound card and that you are using the right output module.
You can open up the Variable_0 box and try changing the value and you will hear the tone change frequency.
Now would be a good time to label the variable box so you know what its for. In the panel, click the rename button and enter ‘Frequency’ then close the panel.
You can download the layout so far from here :
Now its time to move onto building something a bit more like a standard monosynth.
Basic Mono Synth Layout
The audio signal flow for a basic mono synth generally goes like this :
Oscillator -> Filter -> Amplitude Control -> Output
And to control the sound you will often find a couple of envelopes and an LFO. For our simple synth we will use an envelope and lfo for the filter, and one envelope for the amplitude control. But we’ll start with the absolute basics and build up as we go along.
First, the filter. There are a few types of filter available with bidule, each useful for different types of signal filtering. I wont go into details here, but you can read more about filter types in these great articles from Sound on Sound
(The whole series is definitely worth reading.)
Open the palette, and again we’ll be looking in the Building Blocks section. Open the ‘filters’ group and add the
‘Basic Filter’ to the canvas. Now you should see the filter block with 2 inputs and 1 output. If you move your mouse over each input you can read what it is in the status bar.
We’re going to control the filter frequency using a variable, like we did with the oscillator frequency. In fact, we’ll just copy and paste the ‘Frequency’ block we made earlier. So select it and make a copy, then connect its output to the *second* input of the filter block. Open the panel for the variable and change the high limit to 10,000.
Now we need to run the oscillator output into the filter’s audio input. To do this we’ll re-use the existing output wire from the oscillator. If you move your mouse over the cable connecting the oscillator to the mixer, it should highlight. Click on it to select it, then drag the handle which goes into the mixer to the first input of the filter. You should end up with something looking like this :
Then connect the output of the filter to the mixer and you should again hear the signal. Before you try changing the filter frequency, open the oscillator panel and change the wave type to ‘Saw’ This is because filtering a sine wave has no effect on the harmonic content of the wave, because, well, its just a pure sine wave there are no harmonics. All the other wave types have harmonics which will be affected by the filter setting.
Now, open the panel for the filter and set its type to One-Pole LP. This is a low-pass filter which means that it will let through frequencies lower than the cutoff frequency (i.e. the number we choose from the filter frequency variable panel). Try playing around with the filter frequency variable and you should hear the sound change in brightness.
Heres a complete picture of the current setup
Now before we add the envelope we need to consider how we can control the start and stopping of the sound. Ideally we might want to play the synth via midi. Fortunately using bidule we dont even need a midi keyboard to do this, theres some handy MIDI contraptions included that we can put to use without worrying about if external hardware is working or configured correctly.
So lets start with a really simple sequencer, something that will just play a different note after some time passes. Go into the palette and open up the MIDI section. (The main MIDI section, not the MIDI section within Building Blocks…there are a lot of different pieces available in bidule and it will take some time to get used to what they are and where they live.but dont worry, you’ll soon be speeding around creating all types of weird and wonderful things.) In the MIDI section you should see a block called ’16 Steps Seq’ right at the top. Add this to the canvas.
The first thing you will notice is that it has a white coloured output. This means it outputs MIDI data, not just raw numbers like the blue connections. So we cant just connect the output of this to the input of the oscillator, we will need something else to extract the information from the MIDI messages to give us the numbers we use to connect to the blue inputs. Again, bidule comes ready with the perfect solution, its called the ‘Note Extractor’, and this one you will find in the MIDI section under Building Blocks. So navigate your way there and add the Note Extractor to the canvas.
The Note Extractor has 1 input and 4 outputs. The input as you can see is MIDI and the 4 outputs are number outputs. They are as follows :
The great thing about this extractor is that it converts midi note messages into Hz frequencies, ready to control the oscillator, and it converts midi velocities into the amplitude range (0 – 1) that also can control the oscillator. The other 2 outputs are what i would call ‘logic signals’. They are either 0 or 1, nothing inbetween. The ‘gate’ is 0 (or low) when there is no note being played. The gate is 1 (or high) during a note, i.e. from the moment of note on, to the moment of note off it is continuously at 1. The trigger on the other hand just changes to 1 when the note on occurs, and then goes back to 0 as soon as possible (i.e. at the next sample).
If you are already used to how synthesizers work then you will no doubt realise that these two signals are perfect for controlling the envelopes we will be using
to shape the sound. But first, lets get the sequencer wired up to the oscillator and listen to the results. Connect the sequencer output to the input of the note extractor. (white -> white)
Now, we can either replace the current inputs to the oscillator with the outputs from the note extractor or we can combine them. Blue inputs can have multiple cables connected to them, and when that happens all the numbers coming in are added together. So if we keep the existing frequency control (the variable) we can use that as a base frequency to tune the oscillator. Currently we are using a constant to control the amplitude of the oscillator, but we wont use this anymore so go ahead and delete it.
You should now have something like this for the oscillator section :
Lets wire up the note extractor to the oscillator, we wont use the control key while wiring the note extractor because we dont want to wire up all 4 outputs to all 4 inputs. So connect the first two outputs to the first 2 inputs. You should hear something that sounds like a computer sound effect from the 1970’s.
Try playing around with the oscillator frequency variable and the filter to see how the sound changes.
You can also open the panel for the 16 Steps Seq and play around in there. Although there are 18 sliders its quite simple. The first, BPM, just controls how fast the sequence plays. The second, called value, is the amplitude control and the rest control the individual frequencies of the sequence.
Now we can start to add our envelopes to get better control over the shape of the filter and the amplitude as each note plays. Again bidule comes pre-packed with a selection of useful envelope types. You’ll find them in Building Blocks -> Envelopes. You might recognise some of them. We’ll start from the top with the ADSR envelope.
ADSR stands for
Attack : The time it takes for the envelope to grow to a maximum value
Decay : The time it takes for the envelope to go down to the sustain level
Sustain : The level at which the envelope holds while it receives a gate signal.
Release : The time it takes to go down from the sustain level to zero.
As you can see A, D and R are all times, whereas S is a level (just a number).
Add this envelope to your layout and you’ll see it has 2 inputs and 2 outputs:
Inputs:
Outputs :
The gate and trigger are logic inputs as we saw earlier when looking at the note extractor. The output value is what we will use to shape the sound, and the activity gate is another logic signal which is 1 when the envelope is doing something, i.e. from the initial trigger until the end of the release time.
Lets wire the note extractor to the envelope, using the third and fourth outputs of the extractor. This time we can hold down control when making the first connection because we want to connect both cables.
Our layout should now look like this at the top :
Now we are going to use the envelope to control the filter cutoff of each note as it plays. This will require a little bit of maths, but its nothing scary, just multiplication.
What we will do is take the output of the envelope and multiply it with the output of our existing cutoff frequency variable. We do this because the output of the ADSR ranges between zero and one, but the cutoff input to the filter requires a range from 0 -> 22050. So, if we multiply the two together we will get a range from 0 to the value of the frequency variable.
Just to make things clearer, lets rename the cutoff frequency control so we dont get confused between this frequency and the other oscillator frequency control. Right click the cutoff frequency control and call it ‘Filter Env Amount’.
Now we need a module which will multiply two values, you’ll find this in Building Blocks -> Math and its called ‘Binary Operator’. This name may be confusing at first because you might think that its for working with binary data, not normal numbers, but in this case the binary means ‘2 inputs’. This module provides all the common mathematical operations you will need for working with 2 inputs, multiplication, addition, subtraction etc.
Add the binary operator block to the layout, open its panel and select ‘*’, this is the multiplication operation.
Next rewire the ‘Filter Env Amount’ variable so its output goes into the left input of the * block, then connect the first output of the ASDR to the second input of the *. The output of the * block will now be the two inputs multiplied together. All thats left is to connect the output of the * to the second input of the filter (the cutoff frequency). The sound should come back and you will hear the sequence again.
The complete layout should look like this :
It probably doesnt sound any different to how it sounded before, thats because the default envelope settings use a high sustain level and very low times for the ADR parts.
Open the ADSR panel and reduce the sustain to about 4. The sequence will probably now sound like little chirping sounds.
Try these settings for the ADSR :
A: 0.2
D: 100
S: 4
R: 10
hopefully you’ll start to notice how the each note is now more defined, with a sharper hit at the start.
Open the sequencer panel and reduce the BPM to about 50 and play with the envelope settings (you can leave R for now as it wont make any difference)
Play around with the Filter Env Amount as well to see how that affects the sound.
Great, you’re well on your way to a playable monosynth.
You can download this layout here
Next we’ll add envelope control to the amplitude of the signal, this will be easy, we’ll just follow what we did for the filter envelope.
The really quick way of doing this is to make a copy of everything we need, so select the two cables going from the extractor to the adsr, the adsr itself, the cable from the adsr to the * and the * module itself. Do a copy and paste and you should have almost everything ready to go. All we need to do now is rewire the output of the filter to the unconnected first input of the new * and the output of the * to the mixer.
Easy.
Also now is a good time to relabel the adsrs, i’ll call mine ‘Filter Env’ and ‘Amp Env’ It should look something like this (you might want to re-arrange some of the modules to see whats going on more clearly).
This layout is here
From mono to poly
If you have a midi keyboard, you probably want to try playing your new synth using that. Again, this is easy (as long as your midi is setup correctly.im afraid i cant help you with that) Your layout might already have your midi input device available, if its there then you can just connect it to the note extractor and delete the sequencer. If its not already on the layout you can right click the sequencer and navigate to Replace -> Midi Devices -> Input -> YOUR MIDI INPUT DEVICE.
Now try playing your midi keyboard…hmm, well it works but it sounds kind of out of tune. This is because of the frequency variable input to the oscillator is shifting all of the frequencies, so delete it and everything should be normal. Feel free to play around with the settings of the envelopes, the oscillator wave type and the filter type. You’ll also be able to hear the effects of the release stage of the envelopes on the sound when you let go of the key (just increase both releases to about 400 and you should notice the tail of the sound playing after you let go)
Ok, so what if you want to start playing some chords?
Bidule makes this really easy, but we have to do a little bit of preparation first.
We’re going to take most of these modules and combine them into just one module (or as bidule calls it a ‘group’) This group will be one ‘synth voice’. To make a synth voice for bidule we have to give it one midi input and 2 audio outputs. The 2 outputs arent for stereo sound, they are 1 : the audio output, 2 : the envelope activity gate.
When making a polyphonic synth, bidule uses the 2nd output to determine when a voice has finished playing. This is used by the ‘polyphonic adapter’ feature of bidule. The manual explains this as follows :
The Polyphonic Adapter is a special bidule that only appears in the right mouse menu of a voice group. (Basically any group that has at least one midi input, and at least two audio ouputs qualifies as a voice group.) Its purpose is to transparently create cloned copies of your monophonic voice group, and to literally transform it into a polyphonic group. Its job is to listen for all notes that enter it and dynamically dispatch each and every note it receives to one of the clones. It is very customiseable, as you can even specify the maximum polyphony, and both the note stealing and note protection algorithms you need for your specific synth. And that’s not all! Some polyphonic synths on the market are plain CPU drains as each and every voice consumes resources all of the time. The Polyphonic Adapter in Bidule takes care of that. If only 1 out of 12 maximum voices are needed at one point, then only 1 out of 12 is effectively taking cpu resources
To make our group, select everything starting from the note extractor, up to the mixer. Dont include the midi input device or the mixer in your selection.
Now, right click on one of the selected modules and navigate to Group -> Group Selected Objects. A panel will appear with all manner of different options. This panel is for setting up the inputs, outputs and the name of the group. We want 1 midi input, so reduce the ‘Samples’ (a.k.a. blue inputs) to 0 and reduce the midi outputs to 0. In the name field im going to use ‘Basic Synth Voice’ and set the author field to my name.
The settings will look like this :
Hit ok, and all your modules will be collapsed into 1 box with 1 white input and 2 blue outputs.
Building groups like this is a powerful way to start building your own collection of useful modules that you can reuse over and over again
in all sorts of combinations.
Now we need to go into the group and wire it up. Right click on the new module and navigate to Group -> Expand.
You should see all your modules again on screen, also notice at the bottom the display says
/ Basic Synth Voice
this tells us we are currently inside the Basic Synth Voice group, so we know what we are editing.
At the top of the screen will be a lone white box, and at the bottom 2 blue boxes. These are the connections to the outside world. So, lets wire them up, connect the white input to the note extractor, then connect the output of the final * to the first blue output. This is the audio output, then we will use the activity gate from the Amp Env to tell bidule when a voice is playing (not the filter, because the filter may finish before the envelope).
You should have a layout that looks like this :
Before we go back up to the main layout, its always wise to label the connectors, so that when you roll your mouse over them you know what they are for.
The top midi input is fine, so leave that. Now double click the first blue output box, and enter ‘Audio’ in the rename panel. Then double click the second output and call it ‘Activity Gate’. The final piece in the puzzle is to create the user interface for controlling the synth voice. This is the panel that will appear when you double click on the ‘Basic Synth Voice’ block.
Right click on a blank part of the canvas and navigate to Group -> Parameters. This window shows you a list on the left of all the blocks inside the group and which parameters from those blocks we can display on our UI.
Add them in this order :
Oscillator
Wave Type
Basic Filter
Type
Amp Env
Attack, Decay, Sustain, Release
Filter Env Amount
Value
Filter Env
Attack, Decay, Sustain, Release
Now we will rename some of them so its clear what they do. Select the Filter type entry, hit rename and call it ‘Filter Type’ Then select Filter Env Amount : Value and call it ‘Filter Env Amount’
Your list should look like this :
Click ok, then from the toolbar at the top of the window click ‘Parent’ to take you back to the main layout.
To check your ui, just double click on the ‘Basic Synth Voice’ module, it should be like this :
Now to get back to where we were before, reconnect the midi from the midi device to the new module and connect just the first output to the mixer (remember the second is the activity gate, its a logic signal, not an audio output). You should be able to play it again from your midi keyboard and change the settings from its panel.
Finally to turn this mono synth into a poly synth just right click on the module and select ‘Polyphonic Adapter’. Here is where we can configure how many voices we want the synth to have and how it chooses what to do when it runs out of voices. Set the number of voices to 6 and leave the rest as they are for now and hit ok.
A progress dialog will appear to inform you that its creating the necessary voices. Once thats done, time to play. You’ll also notice that next to the module a green ‘p(6)’ has appeared to let you know that its a polyphonic synth with 6 voices.
You can download this layout here
Finishing Up
Just a couple of things to finish up and you’re well on your way to bidule mastery. If you open up the panel for the synth and look at the buttons at the top you’ll see :Presets, params, lock, random and mutate. First is the presets menu which is for, well, creating and managing presets. When using this, remember that if you select ‘Add’, it will add a new preset but wont keep your current settings, so if you have a sound you like and want to make it into a preset, select ‘Add Copy’. So first change the settings for a sound you like, then do ‘Add Copy’. A new entry called ‘Preset 1’ should be added to the list. I always like to give things names, so I always go back to the preset menu, select rename and try to think of something appropriate. The other thing to be aware of, is that a preset is ‘live’, i.e. if you recall a preset and change the sliders, the next time you open it in this session it will have the last settings, so if you are building a bank of presets you might want to always ‘Add Copy’ and work with that new one until its right, then move onto the next.
Next along is the ‘params’ button. This opens a window where you can control the range of the controls within the ui and also set a ‘mutation factor’ for use with the mutate button. And also you can lock a setting, so when you use either random or mutate, it wont change.
The last 2, random and mutate and great for generating new sounds and variations. Random just changes the unlocked controls to a random setting, whereas mutate will change the current value of a setting by the amount set in the params dialog.
Have a play around and see what sounds turn up, its always good for a bit of inspiration for new presets.
Martin.