If you need help with installation, see the installation guide.
After installing MSDP, launch the program. You will begin at the Project Loader Window. This window allows you to create and load projects built in MSDP.
To start a new project, click the “New Project” button near the top of the window.
On the “Save Project As…” screen, select a location on your computer to save your first project.
Select an appopriate location, give your project a name, and hit the “Save” button.
With a new project created, you should see a full-screen window with a dark background, an empty pedal board, and the System Console. Let’s quickly check our audio settings here.
Check the top left corner of the console to make sure that the Audio Engine is turned on (the power button on the top left should be white instead of grey), and check that the Master Volume slider is up reasonably high (the mint-colored slider immediately below the power button) - the default should be fine.
Finally, check that the correct audio driver, input, and output are selected for your device (immediately to the right of the power button).
Next, let’s look over the empty Pedal Board that was created with the new project.
A new pedal board contains a single blank module. Above the module is a set of drop-down menus with the words “Sound”, “Data”, and “Video”. Open the “Sound” menu, navigate to the “Instruments” section of the list, and select “Wavetable Synth”. Instruments are sound generators, so anything from the instrument section can be used to make music. Click a key on the keyboard to play a note, then click again to turn the note off. Try turning the scale and smooth knobs, and selecting various options from the waveform menu to hear how you can shape the sound.
Below the module is a set of three down arrows. Click the down arrows to generate a new module below the first. In the “Sound” drop-down menu for this module, go to “Filters” and select “Stereo Echo”. In order to delay the sound of the Wavetable Synthesizer, we need to send it’s signal into the stereo echo module.
To route audio from one module to another, we use the Input and Output (I/O) pairs. In the bottom of the Wavetable module is a set of output pairs as a combination of dropdown menus. The first pair sends the signal to the Master Volume out, and on to your speakers. The second pair can be used for routing. Select “A” and “1” as the two values in the second dropdown output pair.
Next, in the Stereo Echo module, select “A” and “1” as the combination for your input pair. With the pairs matching, the signal will now come into the Stereo Echo module from the Wavetable Synth. Now play some more notes in the wavetable synthesizer. The signal should go out to your speakers AND to the echo module. The delayed signal should also be going to your speakers, so that you hear the sound multiple times.
In the Stereo Echo, the delay time is determined by the BPM of the metronome on the console. For each channel in the stereo signal, you can select a beat division from the dropdown menu, and then select the number of those divisions for the duration of the echo. The default is set to a delay of four eighth notes. Try turning the “Delay” dial in the Echo module, which will change the length of the time between delays by increasing or decreasing the number of eighth notes.
Click on any spot on the dial to immediately jump to that value, then rotate your mouse left and right in a circular fashion to turn the dials. If a note is going through the echo pedal when this dial is turned, you should hear a fun effect as the delay times change.
Now let’s build something to control the notes of the synthesizer. To the right of the wavetable synthesizer is another series of arrows. Click on these right-facing arrows to make a new module to the right of the synthesizer, and use the “Data” dropdown menu to select “MIDI Sequencer” in the “Note Generator” section. This is a more complex module, but it allows us to generate notes that we can use to play in the Wavetable Synthesizer.
To route control messages (like note messages or parameter automation), we use the module’s unique ID. We can find the ID directly above every module, to the right of the Module Selection menus, and an ID is automatically created when a new effect is loaded.
To connect these modules, we need to send data from the MIDI Sequencer to the Wavetable Synthesizer using the Synthesizer’s ID. First, copy the module ID from the wavetable synthesizer. In the middle of the Sequencer module we can find a strip of text that says “2 Type Module Name Here”. Replace that text with the ID that you copied from the wavetable synthesizer and hit ‘enter’ on your keyboard.
The sequencer should already be switched ‘on’, but, by default, the sequencer progresses only when the metronome on the console is turned on. Navigate to the console and press the play button on the bottom left to start the metronome. This, in turn, starts the sequencer, which controls the wavetable synth. At this point, notes should begin to play on their own as data flows from the MIDI Sequencer into the Synthesizer. Since the stereo echo pedal delay time is connected to the metronome, everything should happen in synchronization with all of the other events on the board.
Now we have an instrument that is being controlled by a sequencer and delayed by an echo effect. Finally, let’s save this board. At the top of the pedal board, click the “Save Board” button. In the “Save Board As…” window, give the board an appropriate name, like “Synth Test”.
Next let’s create some video processes. We could add video modules to the current board, but let’s build a new board instead.
On the top center of the Console is a big button that says ‘New Board’. Clicking it will generate a second board for our project. Near the right side of the console is a section titled ‘Video Size’. These values will be used to determine the size of any video that we synthesize. The larger the video, the more detailed the output, but the more intensive the results will be on the GPU. Let’s create a moderately sized video - we can set the width to 720px and the height to 540px.
On the new board, let’s add one of the VSynth Modules - use the ‘Video’ dropdown menu above the first module to select ‘VS-WFG-Shapes’ This is a video synthesis module, and it will generate waves of black and white shapes that we can control.
Let’s begin our work in this module by turning on the ‘Preview’ toggle. This will allow us to see the synthesis inside of the module. Note that using the preview function in too many modules can slow down all video generation, so it is recommended that you only use previews when necessary.
Next, let’s try making some tweaks. Change the waveform to a square wave, and we’ll change the shape to a diamond. Then we’ll turn up the frequency dial to around 500hz. All of these changes should be immediately visible in the preview.
This looks nice, so let’s project it onto a separate window. This will allow us to see the image nice and clearly, and will allow us to full-screen the image or place it on a second monitor.
We’ll make a new module below the VS-WFG-Shapes, and, using the video menu, look all the way at the bottom of the list for the ‘Projector’ module.
To send a video signal from one module to another, we use a system very similar to audio signals. The bottom of each video module includes a pair of number boxes that are black with mint text. This is the video output address. Most video modules can take a signal in from other places, and this is done with the mint colored video in addresses.
In the video out addresses on the bottom of the VS-WFG module, we’ll just set the output to V1. Then, near the top of the Projector module, we’ll set the input to V1. Once these are set (press enter on your keyboard or click outside of the box), the synthesized video should appear in the new floating window. This window can be resized to be larger or wider, but we’ll leave this default for now.
At this point we don’t need the preview in the VS-WFG-Shapes module, as the preview is the same as the output of the Projector. We’ll turn this off now to conserve GPU resources. Let’s save this new board under any name that feels appropriate, like ‘VSynth 1’
Finally, let’s use the wavetable Synth to control the frequency of the VSynth-WFG-Shapes module.
Back on our first board, the one titled ‘Synth Test’, let’s make a fourth module in the bottom right corner. This time we’ll open the ‘Data’ menu and load the ‘Signal Automator’ into the new module.
The Signal Automator allows us to take anywhere from 1 to 3 signals and map the volume of the signals onto parameters like dials and number boxes. In other words, we can use signals from one part of the project to control parameters in another part of the project!
We’ll use the same signal output that we used to send the sound from the wavetable synth to the chorus pedal - A 1, for the first signal input. The signal values should appear in the display on the bottom left of the module. If the synthesizer isn’t playing, make sure that the metronome is turned on.
Next, still in the Signal Automator module, click the ‘Control’ tab to view the parameter routing options. You’ll be presented with five strips of options that can be used to map the parameters from the signal to another module.
In the first strip, let’s copy/paste the module ID of the VS synthesizer. We’re going to map the audio signal onto the ‘freq’ parameter in the VS module, which happens to be parameter 3, so we’ll leave the parameter value at it’s default. Let’s set the low value to 0 and the high value to 1000. Finally, let’s go to the drop-down menu at the beginning of the strip and select signal 1. If everything is setup properly, the Video synthesis should start to move in reaction to the wavetable synthesizer!
Voila! Audio-Reactive Synthesis! This might be a good time to save your project - click the ‘Save Project’ button on either of the boards, hit ‘CTRL+S’ (on windows) or ‘CMND+S’ (on MacOS), or go to the dropdown menu at the top of the program and select “Save”.
Now we know how to create sound, route signal to other modules, control a module using it’s ID, create video and audio reactive video, and we know how to save your progress and syncronize time values across the project. Try making new modules, new boards, and routing effects and control across multiple places. Experiment with familiar and unfamiliar sounds and see what sort of wild and interesting things you can create. Finally, enjoy exploring MSDP!