Take a look at this quickstart tutorial to see XotoPad in action! Please note: Newer versions include an expression mode symbol in the top left corner. Apart from that XotoPad still works the same way.
XotoPad is a MIDI multitouch controller software for Windows laptops and tablets like the Microsoft Surface. You can connect the app to other music software and hardware with a virtual MIDI cable (e.g. the free LoopBe1).
XotoPad's main interface consists of a grid of MIDI pads. Each pad can either send MIDI notes or MIDI continuous controller values (CCs). This flexibility allows you to build your own banks with chords, scales, faders, sliders, buttons, and x/y-controllers within minutes.
Four banks are available to manage different setups (click on the buttons 1, 2, 3, and 4). Special setup wizards help you to create scale keyboards, chord pages, and other helpful controllers easily (click on "Load/Save" and take a look at "Load special pages").
You need some kind of "Virtual MIDI cable" to connect XotoPad to other software products. Unfortunately Windows doesn't ship with such a utility, so you have to download a third party software. I recommend LoopBe1.
Please follow these steps:
1. Download LoopBe1 from nerds.de.
2. Install it. It will register itself as a virtual MIDI driver.
3. Open the settings of XotoPad and select "LoopBe Internal MIDI".
4. Open the settings of your DAW / other MIDI software and choose LoopBe as MIDI input.
5. Now it should be possible to send MIDI data from XotoPad to your other software.
It is also possible to connect XotoPad to another PC (or Mac) via WiFi or a network cable.
There is a specialized network-MIDI-driver called rtpMIDI:
Download rtpMIDI, then do this:
XotoPad contains a number of specialized wizards that will help you to create pages with chords, scales, faders, and sliders. Simply click on the "Load/Save" button in the main view and you will see a section called "Load special pages". If you click on one of these buttons, XotoPad will ask you a couple of questions in order to fill the current page with new pads. The following wizards are available:
Scale: Fills the current page with a scale keyboard. Over 300 scales are available, including Major, Minor, church modes, etc. You can decide on which octave the scale keyboard will start and how many octaves per row are available.
Chords: Choose a scale and XotoPad will calculate the most important triads and four note chords for you.
GM drums: This will create a page that contains all the drum sounds of the General MIDI standard. All drums will send their notes on MIDI channel 10 (standard drum channel).
Keyboard: Fills the current page with a chromatic keyboard.
Program changes: This wizard will create a page with instrument changes. You can click on each pad to change the instrument of this MIDI channel. Very useful in conjunction with other pages like scale keyboards or chords.
CC grid: Generates a grid with CC pads. Each pad sends a continuous controller (CC) value when you touch it.
XY grid: Creates a grid with X/Y MIDI pads. X/Y pads send MIDI data on both the horizontal and the vertical axis. Very interesting to control cutoff and resonance at once.
Sliders: This wizard will create a page with horizontal sliders for you. Interesting for controlling the panorama of several instruments simultaneously.
Faders: Creates a page with vertical faders. Very handy to control the volume of multiple instruments.
Sliders and faders: This one creates a "mixer" view that can be used to control both volume and panorama of several instruments at once.
Blank page: Creates a blank page with grey pads for you.
Isomorphic / Iso 1-5 / Iso 2-5 / Iso 3-1: Create different isomorphic keyboard layouts. Find out more about this here.
Click on "Edit" and you can change the settings of each pad individually (the "Edit pad" button has to be active for that). A rectangular frame will mark the pad that is currently active. The following properties can be changed:
Basic Settings: Select whether the pad sends note or controller data. You can assign a colour and a label to the pad. Use "Copy" and "Paste" to transfer pad settings from one pad to the other.
The "Text" Setting: Type in a text to put a label on that pad. There are two special key sequences:
Use "!!!" to create a line break.
Use "!data!" to fill the space with mode specific data. Example: If the "Note" mode is used, then "!data!" will be replaced by the note name of that pad. If "X/Y-Controller" is used, then "!data!" will be replaced by the CC number(s).
Note Settings: Will be used when "Mode: Note" is set. Change the MIDI channel, the instrument number (tip: set this to "Off" if you don't want to work with instruments), and the notes. Use "Bank MSB" and "Bank LSB" if you work with larger sound collections (more about this here). "Velocity: Y-Pos" means that the note will be played louder the further up you hit the pad. Use other values to bind the pad to a specific velocity strength - wherever you hit the pad. "Toggle: Yes" turns on the pad the first time you hit it; hit it a second time and it will turn off again (useful for loops etc; please take a look at the "Toggle groups" section below, too).
X/Y-Controller: These settings are used when "Mode: X/Y-Controller" is set. Channel X and CC X affect horizontal pad movements, Channel Y and CC Y affect vertical movements. Set "CC X" to "Off" if you want to create a vertical fader - only "CC Y" will be used then. Set "CC Y" to "Off" to create a horizontal slider.
Faders and sliders: There are no dedicated fader and slider modes. Please read the section about X/Y-Controllers to learn more.
CC-Pad: These settings are used when "Mode: CC-Pad" is set. The pad will send controller data on the chosen channel. You can define which controller values are sent on pad press and pad release. "CC Release: Off" means that no CC value will be sent when the pad is released. "Toggle: Yes" turns on the pad the first time you hit it; hit it a second time and it will turn off again.
Toggle groups: Both note-pads and CC-pads can work in toggle group mode. Click on the "Toggle" setting button and choose either "Group A", "Group B", "Group C", or "Group D". A toggle group works like this: Only one pad in each group can be active at any given time. Whenever you touch a pad, XotoPad will first deactivate all other pads of this group and then activate the new pad. The groups work per page.
Click on "Edit" -> "Edit page" and you can change the number of rows and columns for each page. You can also change the properties of several pads at once here.
Change pad properties..: Use this button to change the properties of all pads of this page at once. You will be asked for the property you want to change and the new value you want to set. Very useful to set all MIDI channels to a specific channel for example.
Change page text..: Edit the text that is displayed on the page button.
Note actions..: The actions here will only affect "Note" pads. You can choose between different actions:
"Add the lowest note one octave below as well": This will take the lowest note and add an additional note one octave below. Example: Let's say you have a pad with a C Major chord (C3 - E3 - G3). After the action the pad will consist of the following notes: C2 - C3 - E3 - G3.
"Open chord: Move second note one octave up": Example: C3 - E3 - G3 will become C3 - G3 - E4 and thus sound more "open".
"Clear all notes": Clears all notes.
"Remove lowest note": Example: C2 - C3 - E3 - G3 will become C3 - E3 - G3.
Copy and paste: "Copy" copies the pads of the current page. With "Paste" you can overwrite the pads of the page or decide to put the copied pads on the left, right, top, or bottom side of the current grid.
Grid size: You can add and remove columns and rows here.
Transpose: Click on the buttons to transpose the notes of all "Note" pads at once.
Click on "Edit" -> "Edit size" to decide for each page which columns and rows should be bigger than other columns and rows.
XotoPad will show you additional buttons with small circles on them. Click on a button to make the associated column/row bigger. If you click for a few times, the column/row will snap back to its original size.
In the upper left corner you can find a special symbol. Touch it to activate the expression mode. As long as this mode is active, XotoPad will behave differently when a note pad is pressed. It will allow you to play instruments more expressively.
Please take a look at the settings. You will find a special "Expression settings" section. Depending on your choices the expression mode will change its behaviour.
When "Use pitch" is on, you can press a pad and move your finger left and right to alter the pitch of that note. A circle on the pad will indicate the amount of pitch that is currently active.
Click on "Pitch area size" to change the distance that your finger needs to move to reach the maximum value.
Click on "Pitch anchor" to change the way how pitching works: "Outside pad" = the pitch changes only when you leave the pad left or right. "Pad center" = the further you are away from the center of the pad, the stronger the pitch. "First touch" = when you touch the pad for the first time, the position is stored as the base position. Move your finger left and right to alter the pitch at once. "Outside pad" (default) and "Pad center" are the recommended modes.
Activate "Use CC" if you want to send controller data as well. The standard "CC number" is set to 1. According to the MIDI standard this is the same as the mod wheel on most keyboards. Move your finger up and down on the pad to change the CC value.
Warning for LoopBe users: The amount of CC data that is generated when you play on many pads at once can be rather high. LoopBe might wrongly detect a feedback loop in this case. Please unmute LoopBe by right-clicking the tray icon then (LoopBe won't generate any new MIDI notes while it is muted).
Polyphony: Unfortunately the MIDI standard was never meant to be used in such an expressive way. Here's the problem: Pitch and controller data are always sent per channel, not per note! This means that all the notes that are playing on the same MIDI channel will get pitched together. As long as you play monophonic melodies this is not an issue. But as soon as you play multiple notes at once, you will run into problems. Let's say you pitch one note up and one note down. XotoPad will send both an "up message" and a "down message" on the same channel then. And this will certainly cause some strange sounds when your synth / sampler tries to work with that...
A solution: Some manufacturers came up with a workaround / hack to solve this problem (and a new standard called "MPE" will probably work exactly this way). If you play each note on a different channel, you can send independent pitch and CC messages to each of them. However, this will only work with certain hosts and synths! Roger Linn maintains a fantastic site where he explains different setups: http://www.rogerlinndesign.com/recommended-sound-generators.html. If you want to try this trick on your own, you will have to activate "Use MIDI channel round robin" in the settings. XotoPad will send the notes on different channels then. Another hint: Most MPE compatible hosts/synths will react to CC 74 instead of CC 1 to alter their expression. You may want to change the CC in the settings to work with that.
Setup guides for different DAWs:
Ableton Live: Take a look at Roger Linn's page, click on "Mac/Win Noteable One Chan", and follow the instructions there. The screenshot he mentions is very helpful.
Bitwig: Download the XotoPad controller script and copy it to the controller section of your Bitwig installation (more info here). Then choose the XotoPad controller in the Bitwig preferences and use the same virtual MIDI cable that you use in XotoPad as well.
Other DAWs: Please understand that I don't have access to each and every DAW myself. A multi-channel MIDI setup is a comparatively advanced topic, and in most cases I don't know the DAWs deep enough to help you there. My advice: Take a look at Roger Linn's page first. If you cannot find it there, search for "[DAW name] MPE" or "[DAW name] expressive MIDI" or "[DAW name] Linnstrument".
You can see the expression mode in action in this video:
XotoPad contains four different setup wizards for so called "isomorphic layouts". The pads of isomorphic layouts are organized in such a way that the interval from one pad to the next one always remains the same.
This has some advantages. Chord shapes will always look the same no matter which root note you use. If you know how to play a C Major chord, you instantly know how to play an A Major chord for example: Just keep your fingers in the same position and move them to the A. The same applies to other chord types and scales. If you know the shape of the C Major scale, you can use that knowledge for D Major, E Major etc. as well.
There are four different iso wizards available. The "Isomorphic" wizard is the most flexible solution. It allows you to specify both horizontal and vertical semitone intervals, adjust the matrix size, and choose the lowest octave. "Iso 1-5" (1 semitone horizontal, 5 semitones vertical; the same layout as the LinnStrument), "Iso 2-5", and "Iso 3-1" are wizards for popular layouts. Personally I prefer the 3-1 solution, as it allows me to play major and minor chords rather effortlessly.
The concept is explained in this video as well:
Use Q / W / E / R to switch between banks. Hit 1 to 0 to play on the first ten pads.
Hit ESC to toggle the fullscreen mode. Use X to hide the settings/load/save buttons (press X twice to hide the page buttons as well. A third press will show everything again). Ctrl + C will copy a pad, Ctrl + V will paste it.
Click on the cog wheel button to call the settings page.
Select MIDI Output Device: Choose the MIDI device that will receive the MIDI data from XotoPad. It is also possible to select "XotoPad Audio Engine" here. XotoPad will generate audio data on its own then and not work as a MIDI controller anymore. If you want to change the "XotoPad Audio Engine" soundset, you can open the "core" folder of the installation directory, remove all soundfont files (*.sf2), and insert an own soundfont file in the folder. Restart XotoPad now.
Choose theme: XotoPad includes four different user interface themes: Dark, Mixed, Light, and Studio (the default). The first three use higher contrast values, the latter is suited for normal studio lighting conditions. Choose wisely ;).
Space between pads: You can adjust the gap space between the pads. "Small", "Medium", and "Large" are available, "Small" is the default.
Font size on pads: The size of the font. "M" is the default.
Windows visibility: Change the XotoPad window transparency. Useful to watch your DAW or other windows.
Always on top: Turn this on to keep XotoPad your topmost window. You will need to restart the software to apply the "Always on top" settings.
Expression settings: Please take a look at the expression mode section of this manual. The different options are explained in detail there.
Use alternative multi-touch detection: In rare cases it might happen that XotoPad cannot receive multi-touch events from your device. If you experience such a problem, please activate this checkbox and restart the software.
The most effective method to give a chord more weight is to emphasize its root note by adding it one octave below as well. To do this go on "Edit" -> "Edit page" -> "Note actions.." -> "Add the lowest note one octave below as well". You will have the opportunity to choose whether you want to apply the change only to the current pad or to all pads.
Typical major/minor/etc chords are often played in a so-called "closed" position. The notes of these chords lie very close to each other. This is why such chords sound rather dense and focused.
If you want to make chords more airy, you can simply take the second note and transpose it one octave up. Quick solution: Go on "Edit" -> "Edit page" -> "Note actions.." -> "Open chord: Move second note one octave up". You will have the opportunity to choose whether you want to apply the change only to the current pad or to all pads.
If you do this step twice, you can open up the chord even further. It's also interesting to double the root note (see quick solution above) after you finished your work. This technique is especially common in many trance and EDM songs.
In many cases, the background chords don't need much rhythmic variation. Let's take strings or pads for example: You hold the chord notes down as soon as the chord changes. Then you keep them pressed until the next chord change happens.
You can use toggle groups to make your life easier here:
If you want your chords to cover two full octaves you can simply take these steps:
Note pads contain two options called "Bank MSB" and "Bank LSB". You can use these options to send bank select messages to your other gear. Bank select messages are important if your instrument contains many hundreds of presets or sound patches.
First, take a look at the documentation of your instrument which MSB and LSB settings are needed. In many cases it is enough to set the MSB to a value between 0 and the amount of banks your instrument provides. Many VSTs for example come with several banks full of presets. Each bank contains up to 128 presets. You can switch between these presets with the "Instrument" option of the note pad then (but first choose the right bank).
Important: XotoPad tries to send as few messages as possible when you play on scale keyboards, chord pages etc. Let's say you have two pads that both work on channel 1, instrument 20, and bank MSB 2. Pad 1 uses note "C-5", pad 2 uses note "E-5". When you touch pad 1 for the first time, XotoPad will first send a bank select message (MSB 2), then an instrument message (instr. 20), then a note message (note C-5). When you touch pad 2 after pad 1, XotoPad will detect that you still use instrument 20 and MSB 2 on channel 1. This means that it will only send a note message (note E-5), not the other messages.
Please keep this in mind when you work with your other gear. If you switch a preset manually in your DAW for example, XotoPad cannot detect this change and will continue to send simple note-on-messages. However, after a restart, XotoPad will send bank + instrument messages the first time a pad is used. This will cause a program change in your instrument.
Create a note pad that contains no notes to send bank select messages and instrument messages each time the pad is pressed. This is useful if you want to create pads that switch between presets of your gear, but don't play any notes. Use the settings "Instr.: Off", "Bank MSB: None", and "Bank LSB: None" for your other note pads to play on the chosen preset then.
Simply call "Edit" -> "Edit page" -> "Note: Velocity" -> "Y-Pos". Now all pads are velocity sensitive (depending on the vertical position of your finger).
Call "Edit" -> "Edit page" and use "Add row", "Sub row", "Add col", and "Sub col".
Screen size should be 1024 x 700 or above. Windows 8, 8.1, or 10 and a touch screen are highly recommended. Windows RT is not supported, Windows 7 might work in some cases (please test XotoPad with your setup).
Simply download the current version. The installer will autodetect your license key if you install to the same folder as before.
Please take a look at this list.
You will get all updates for free, forever.
All orders are processed by share-it, a specialized and secure payment provider for software products. Please use their Customer Care Center if you have any questions about orders and payments. Tech support is done by me, though.
Bummers. Please contact me and tell me what happened. This will make both you and me very happy, as I can only fix issues that I am aware of ;). Thanks in advance for reporting!
You can use Wine to run XotoPad. Take a look at the Wine Database for more hints. Thanks go out to Denis Comtesse for testing and the instructions!
Please join the Share-it affiliate program for XotoPad.