Play Instructions
Sound Overview
To make sound with your receiving device or computer, you will need to enable it to receive MIDI input and then create an instrument which turns the MIDI messages into sound.
It is possible to make sound with just about any MIDI enabled app. In this tutorial, we will discuss a few popular apps.
GarageBand
GarageBand is a fun app to make music with and it’s easy to connect with ShakeMidi because it automatically receives MIDI messages without any configuration. You can get GarageBand as part of the iLife bundle of applications.
After setting up your Wi-Fi and MIDI connection in the previous lesson, all you have to do is launch the GarageBand application and click the Create New Music Project button:

GarageBand will start with a grand piano instrument. Start shaking or tapping your device with ShakeMidi and GarageBand will make noise with the piano:

Please note: to enable or disable an instrument’s MIDI input, just click the red record icon next to the instrument’s name.
Now that you’ve tried a melodic instrument, how about some rhythm? Let’s create a drum. Choose the plus (+) icon from the bottom left of the window and create a new software instrument:

Next, choose one of the Drum Kit instruments from the Track Info pane:

That’s it. Now you can play ShakeMidi rhythmically.
Ableton Live
Ableton Live is awesome. It’s powerful, reliable and professional. It features a multi-track editing mode that you might already be familiar with called the Arrangement view and a unique mode of operation that works particularly well for live performance called the Session view. You can download a free trial of Ableton to get started.

Launch the Live application and choose the Preferences… item from the Live menu, then choose the MIDI Sync tab.

The next step is to enable Ableton to receive MIDI messages from your Core MIDI Network session and/or DS Midi Wifi, depending on how you set up your connection in the previous lesson.
Turn the Track and Remote buttons on for Input: Network (Session 1) and/or Input: DSMIDIWiFi-out. This will enable Ableton to receive MIDI input from ShakeMidi.
Next, turn the Sync button on for Output: Network (Session 1) and/or Output: DSMIDIWiFi-in. This will enable Ableton to send MIDI clock messages to ShakeMidi when you hit the Play button. When ShakeMidi is receiving MIDI clock messages, the Quantize feature will be enabled.
Your MIDI Sync preferences will look something like this:

You can tell if Ableton is sending and/or receiving MIDI messages because the tiny squares in the top right and left of the Ableton window will light up.
Rhythm
Now that Ableton is receiving and sending MIDI messages, let’s create a rhythm instrument. Click the triangle icon near the top-left of the window and click the square window-like icon below it to show the Live Devices pane:

Next, open the Instruments folder, then open the Impulse subfolder. Drag one of the drum kits onto the track labeled 2 MIDI. The track’s label will change to the name of the drum kit you just chose.
Last, click the track’s red record icon to enable the track to receive the MIDI input. Start playing ShakeMidi and Ableton will handle creating the sound. Your MIDI track will look something like this:

If you aren’t hearing anything, then make sure you are playing one of these MIDI notes from ShakeMidi: C3, D3, E3, F3, G3, A3, B3 and C4. These are the notes that the Impulse instrument responds to. ShakeMidi’s default pattern 1 is good for this.
If you need more help, check out this tutorial video from Ableton.
Other Ableton Uses
It’s possible to use ShakeMidi as a wireless, shakeable MIDI controller for Ableton Live in many ways. Here are just a few:
- Rhythm instrument (like a drum kit)
- Melodic instrument (like a bass or piano)
- Sampler
- Synthesizer
- Beat Masher
- Clip Launcher
- Scene Launcher
- DJ Mixer
Have fun controlling Ableton with ShakeMidi!
Reaper
Reaper is another music application you can use to make sound. It handles all audio with 64-bit precision and is available for Mac or Windows. You can download a free trial from Reaper’s website.
Launch the Reaper application, choose the Preferences… item from the Reaper menu, and select MIDI Devices from the Audio section:

Now, double click Session 1 from the MIDI inputs to make available list, check all the boxes and click OK:

Next, double click Session 1 from the MIDI outputs to make available list, check all the boxes and click OK:

Click the OK button to close the Preferences window and choose Insert virtual instrument on new track… from the Track menu:

Choose VSTi: ReaSynth (Cockos) from the Instruments list and hit OK to add the new instrument track.

It will automatically start with input from your Core MIDI Network session. Just start playing ShakeMidi and Reaper will generate the sound.

Other Music Apps
Once again, you can use ShakeMidi to control just about any Digital Audio Workstation (DAW) that can receive MIDI messages. Setting up your particular DAW ought to be somewhat similar to the above examples. Just make sure the DAW is set up to receive MIDI input from your Core MIDI Network session and/or DS Midi Wifi, then create an instrument. That’s all.
Also, keep in mind there are a myriad of iOS music apps which respond to the Core MIDI protocol. You can launch one of these apps on one of your devices and control it with another device that is running ShakeMidi.
The Two Views
ShakeMidi has two primary views. If you hold your device in portrait mode, you’ll see a dancer. You can shake your device and the dancer responds by sending MIDI notes from the current pattern.
If you hold your device in landscape mode you will see touch controls for editing the current pattern. You can tap or shake which MIDI notes you want sent.
Dancer View (Portrait)
The purpose of the dancer view is for you to be able to shake out some notes without touching the screen. Each consecutive shake will play the next note in the current pattern.
You can use the dancer view completely hands-free. Throw ShakeMidi in your back pocket, for example, and shake your butt. Put ShakeMidi in your boot and start stomping.

Portrait Orientation Lock
If you want, you can lock ShakeMidi in this portrait view by enabling portrait orientation lock. Just launch ShakeMidi, hold your device in portrait mode, double tap the Home button, slide one screen to the left, tap the Portrait Orientation Lock icon and then tap back on the ShakeMidi screen:

With portrait orientation locked, you can shake away without accidentally tapping anything on the screen.
Pattern View (Landscape)
Disable the portrait orientation lock and hold the device in landscape orientation. You’ll see the pattern editor:

The pattern editor has slider controls for changing pitch and velocity. It also has buttons for changing the note duration, changing the current pattern number and customizing the MIDI notes to be sent in the pattern.
Patterns
The notes in the current pattern are arrayed on the screen from left to right. There are eight possible notes per pattern and nine patterns to customize.
Each vertical column represents a beat. Each beat has a currently selected note:

Tapping one of the unselected notes in the vertical column will change the beat’s MIDI note and immediately send it. Tapping the currently selected note in the beat will re-send the note.
Tapping and holding anywhere in the beat will disable it.
Use the up and down arrows above and below the beat to change the octave.
Instead of tapping, you can also shake your device. Each time you shake, the next note in the current pattern will be highlighted and MIDI messages will be sent.
Note Durations
In the top left of the view you have buttons to increase or decrease the note duration:

Changing the note duration, in essence, controls when the MIDI note off message is sent for the current note.
The choices for note duration are:
- Auto: note off messages are sent when the next note in the pattern is triggered
- 32nd, 16th, 8th, quarter, half and whole notes: these send a note off message after the specified note length
- Infinite: note off messages are never sent
Sliders
On the left and right of the view, you have slider controls:

Slide the pitch bend slider up or down to affect the current MIDI note’s pitch. Releasing the pitch bend slider will snap it back to the middle, which represents zero pitch bend.
Slide the velocity slider up or down to change the next MIDI note’s velocity. Sliding this all the way down will represent zero velocity. Slide it all the way up to send maximum velocity. Note that when shaking the device, a little bit of how much you are “snapping” each shake will be factored into the current MIDI note’s velocity.
Pattern Number
In the top right of the view you have buttons to change the current pattern:

Using these buttons you can flip through your current list of patterns. ShakeMidi can also automatically change the current pattern for you with the Pattern Cycling setting.
Settings and Customization
Tap the Settings icon to bring up ShakeMidi’s preferences:

Quantize
Turning the Quantize switch on will quantize the MIDI note on and off messages based on the current note duration. For example, when the note duration is set to quarter notes, each MIDI note on message will be timed so that it occurs on the next quarter note.
When using the Auto and Infinite note durations, MIDI notes will be quantized to next sixteenth note.
Please note that using the quantize feature requires the Core MIDI connection type to be enabled. In addition, the receiving device or computer must be sending MIDI clock messages to ShakeMidi. In Ableton, for example, you turn on the Sync button on the output MIDI port in your MIDI Sync preferences, then hit the Play button and MIDI clock messages will begin to be sent.
To quickly tell whether ShakeMidi is receiving MIDI clock messages, switch to dancer view and shake the device a few times. If MIDI clock messages are being received, you will see the current song position in the format “bar.beat”. Otherwise, it will show just the current beat.
You can use the quantize feature to keep your shakes and taps perfectly in sync with your current music project.
You can also use quantization to achieve zero millisecond (0ms) wireless latency. Because ShakeMidi can hand off MIDI packets to Core MIDI up to 200ms early, these packets can be delivered to your receiving device early and then turned into MIDI at a precise moment.
Pattern Cycling
The Pattern Cycling setting affects what happens when incrementing the current beat would trigger the next bar (in other words, there are no more beats left in the current pattern).

The options are:
- Off: the current pattern remains the same and the current beat is set to the first in the pattern.
- Sequential: the current pattern is increased by one. If the new pattern is blank or goes beyond the amount of total patterns, then the current pattern is set to the first pattern in the current group of patterns, where a group of patterns is bounded above and below by blank patterns.
- Shuffle Patterns: the new pattern is selected at random. The current beat returns to the first beat of the pattern.
- Shuffle Beats: the new pattern and beat are selected at random every time the beat is incremented.
Using the pattern cycling setting allows you to create more complex melodies, rhythms and MIDI patterns.
Shake Sensitivity
Setting the shake sensitivity, you can customize how much you have to “snap” the device to trigger a note. Setting the sensitivity lower will make it more difficult to trigger notes. Setting it higher will make it easier to trigger notes.
The sensitivity can also be set to Off to disable shaking. This essentially turns ShakeMidi into a regular wireless MIDI controller. You can still tap the notes and slide the sliders, it just won’t trigger any notes by shaking or other movement.
That’s All
That’s all for how to use ShakeMidi.