feature of the week

MIDI: Piano

| feature of the week

In our fifth and final post exploring the various ways forScore can connect to MIDI devices and provide some unique capabilities, we’ll be looking at one last feature that exposes a fundamental detail of MIDI: the ability to produce sound.

MIDI messages describe musical events like when you’ve pressed a note and how hard, but these messages don’t transmit any actual sounds. That’s why many MIDI devices are called “controllers” and only describe how you’ve played, not what it sounds like. A synthesizer is the piece of equipment or software that actually produces notes based on those instructions.

Since forScore already includes a software instrument, the piano keyboard, it can fulfill that role and play notes as you use your MIDI device. Of course, your device may already produce sounds or you may have a different synthesizer you’d prefer to use. In that case, just open the MIDI section of forScore’s settings panel and uncheck the “Synthesizer” option. You can also disable the ability to send commands or receive shortcuts here if needed.

That wraps up our exploration of forScore’s MIDI integration. As we said way back in part one, MIDI is much more than a single feature, it’s a full language that can be used to enable a whole lot of interesting capabilities. If we missed one, let us know so we can keep building useful features! Thanks for reading, and we’ll be back next week with a completely unrelated Feature of the Week.

MIDI: Presets

| feature of the week

In our previous posts exploring forScore’s MIDI integration, we’ve seen how you can send a series of MIDI messages automatically when you open a score, or you can choose to send them at a specific time by pressing a button. Often times, the messages you’re sending configure your devices and you’ll be reusing the same ones frequently. For those sets of messages, we created Presets.

To create a preset, open the Metadata panel and choose “Presets” at the bottom of the MIDI section. Tap the + button to create a new preset with the name you supply, then tap the circled “i” button to add some messages. The interface here works just like it does when you’re adding MIDI messages to a score or button. You can add a program change or song select message, type in raw hexadecimal codes, or let forScore listen for incoming signals and save them automatically. Tap the “Done” button or close the MIDI panel to save your changes.

If you’ve already set up outgoing MIDI messages for the current score or bookmark, creating a new preset will prompt you to do one of two things: you can either create a new blank preset and add messages from scratch, or you can turn those messages you’ve already set up into a new preset. If you choose the latter, forScore will remove all outgoing messages for the current score or bookmark and replace them with the new preset instead.

One last detail—MIDI presets are referenced, not copied, so if you change which messages a preset sends you’ll be changing them for every score or button that uses that preset.

Next week we’re wrapping up our discussion of MIDI features with one last post, so don’t miss out!

MIDI: Buttons

| feature of the week

Over the past few weeks we’ve been exploring how forScore uses MIDI in all sorts of different ways. First, we detailed the process for setting up shortcuts so you can trigger any of forScore’s most popular functions from your MIDI device. Then, we discussed using an incoming message to open a particular score. Finally, we showed you how to set up MIDI messages to be sent automatically when you open a score. That last example is particularly powerful, but it has one drawback: as soon as you change songs your MIDI setup will change. That can be a problem if you’re using a setlist and you accidentally flip over to the next song, or if you’d just like to take a look at the next piece before the current one is finished.

That’s why we introduced Buttons in forScore 9. Buttons can do a lot (if you haven’t had a chance to use them yet be sure to check out the user guide for complete instructions), but today we’ll focus on their MIDI capabilities. Just like scores can send messages immediately when they’re opened, buttons can send messages when they’re tapped. They can be set up to send program change messages, song select messages, or raw hexadecimal codes, and they can even memorize incoming commands or add a delay between messages.

Since Buttons wait to send their messages until they’re tapped, you can even use them to change your settings partway through a piece. They’re incredibly flexible, and next week we’ll be discussing Presets which make sending common MIDI messages even easier, so be sure to check back next Friday for even more!

MIDI: Scores

| feature of the week

As we discussed last week, MIDI is much more like a language than a single-purpose tool. It can be used in a variety of situations to convey a lot of information, and for this Feature of the Week we’ll be looking at the most flexible application of MIDI in forScore: score-specific MIDI commands.

While editing information for a score or bookmark in your library, the bottom portion of the metadata panel splits up a lot of valuable options into a few different sections. One of those sections is called “MIDI”, and that’s what we’ll be talking about today. The MIDI section of the metadata panel gives you access to three different features: Open, Send, and Presets. We’ll save Presets for another day, but lets start with a quick overview of the first two.


Last week we showed you how to use incoming MIDI messages as shortcuts to forScore’s most popular functions. In the “Open” section of the metadata panel, you can set up a similar shortcut but instead of triggering a tool or menu, the MIDI message you use here will always open that particular score or bookmark.


In the “Send” section, you can set up one or more MIDI messages to be broadcast immediately when you open an item. This can be useful if you need to change some of your MIDI device’s settings for a particular piece.


On a technical level, MIDI messages consist of hexadecimal codes. These codes use numbers (0-9) and letters (A-F), pairing any two for a total of 128 combinations. Fortunately, you don’t generally need to know what they mean, just what they do. And, since you’ll usually be working with one of two common message types, forScore makes entering this information a little easier.

The first type of message is a Program Change. This message tells your MIDI device which instrument or voice to use. It’s specific to one device, so you’ll need to specify which channel to use to send the message. The rest of the message must consist of at least one single number between 0 and 127, and it may also allow for additional MSB or LSB values in order to provide a wider range of possible sounds.

The other type of message you may need to use is called a Song Select message. This message consists of a single value between 0 and 127, and is sent to all connected devices so no channel number is required.

For everything else, you can type in actual hexadecimal codes for complete control.

Adding Codes

Tap the “+” button in the lower right-hand corner of the metadata panel to add a message to the current score (one incoming “Open” message, and as many outgoing “Send” messages as you need). You can choose from the three message types we’ve already discussed—Program Change, Song Select, or Hex Codes—or you can use the “Learn…” option to listen for incoming commands and save them automatically. For sent messages, you can also add a delay in case your device needs a moment to process incoming signals.

So that’s an overview of forScore’s ability to use MIDI messages in score-specific ways. If you missed last week’s introduction to MIDI and app-wide shortcuts, be sure to check it out, and stay tuned as we continue our exploration of forScore’s MIDI integration next week!

MIDI: Shortcuts

| feature of the week

MIDI, the ubiquitous musical language, has been around for decades. It has proven to be remarkably resilient despite numerous attempts to replace it with more modern alternatives. While MIDI may be almost everywhere, it’s not very approachable and most people only understand part of what it can do. For years, we got requests from our customers to add MIDI features to forScore. The problem was that every customer wanted something different, so finding ways to weave MIDI functions into forScore required balancing technical capability with practical usability.

Instead of creating a single MIDI panel that would duplicate a lot of forScore’s existing functions, we chose to reverse it and supplement some of our existing features with advanced MIDI functionality. Today, we’ll be looking at just one of those cases, with more to follow in the coming weeks.

As we discussed in our previous Devices Feature of the Week, the “Page turners & shortcuts” section of the Settings panel lets you trigger many of forScore’s functions with an external device. If you tap on a function, forScore listens for incoming signals from a variety of sources and can associate anything it hears with the selected function. When you’re using a keyboard or a keyboard-based page turner, it works just like shortcuts on a computer complete with support for modifiers like shift, alt, command, or control. If you’re using a Bluetooth Smart stylus like FiftyThree’s Pencil or an accessory like the iRig Blueboard, you can either press or press and hold a button to set up two different functions per physical control.

The process is similar for a MIDI device: tap your function, then use your device to send a signal (press a button, flip a switch—it depends on your device). If forScore recognizes and can use that signal, you should see your MIDI command appear to the right of the selected function. Now, any time you send that exact same signal, forScore will respond by initiating the corresponding feature.

There is one caveat to watch out for, however. Since forScore listens for the exact same signal, some kinds of MIDI controls won’t work reliably. Anything that senses levels of pressure, like a piano key for instance, will include a velocity value. Unless you hit that key with exactly the same amount of force each time, forScore won’t react. Other switches use a range of values, like a volume knob, and will have the same problem. Otherwise, any simple on/off control should work fine. If you’re not sure how a specific control works, consult your device’s manual.

That’s just the start, though, so be sure to check back over the next few weeks as we explore the entirety of forScore’s MIDI functionality.

Page 21 of 27« First...10...1920212223...Last »