About MIDI connections: Identifying the Midi pin numbers

A short article to help identify MIDI pin numbers in all those circuit drawings  and photos on the internet. Continue reading

Posted in Electronics | Tagged | 8 Comments

My ultimate versatile MIDI connection board: Versatility is the key

My Ultimate Versatile Midi Connection Board

I work with Midi, a lot. I often have to plug equipment for testing instruments, circuits and interfaces. I often need to connect more than one device to a computer or micro-controller. So I decided to build the ultimate versatile MIDI connection board that I could modify, tweak, and install permanently if needed.

MIDI-Board-assembled Continue reading

Posted in Electronics, Music equipment | Tagged | 3 Comments

Akai MPK261 (MPK2 series): Controlling the controller with SysEx

In this (very) technical post, I explain a method that will give you better control over the behavior of your Akai MPK2 series keyboard (tested on an MPK261). The goal is to be able to select one of the 30 “presets” stored in the keyboard on demand, without touching a button on the controller. A side benefit is that you can create an infinite number of presets and store them on your computer, and reload them in the MPK as needed.

  • Part 1: What needs to be sent to the MPK2 series?
  • Part 2: How to send a SysEx Message to the MPK2 Series?
  • Part 3: Going further
    • Part 3.1: Creating more Presets
    • Part 3.2: Managing SysEx libraries
  • Conclusion

Continue reading

Posted in Music equipment | Tagged , , | 10 Comments

Review: Alyseum AL-88c Midi Interface

UPDATE : 2016/10 Alyseum, the makers of this hardware product, have discontinued its manufacturing. They have a new product out, the U3-88c. It’s a USB 3 interface that provides similar functionalities, minus the Copperlan interface.

The Alyseum AL-88c is a midi interface with 8×8 Midi ports (8 Midi IN and 8 Midi OUT). If you have many midi devices, there will be times when you wish you could connect them all to you midi circuit… without having to channel it through a computer or connect the devices in series! That’s what the AL-88c allows you to do. It also connects to the rest of your Midi network using a UTP cable (Unshielded Twisted Pair (UTP) (just a standard Ethernet network patch cable).

Alyseum AL-88c

The Alyseum.com AL-88c Midi connection manager

The advantage of using this device for midi is that it greatly increases the flexibility of midi communication links between Front-Of-House (FOH) instruments and Workstation/DAW (W/D) midi processing. As an added benefit, the AL-88c takes care of midi merge, split, transfer to/from FOH to/from W/D on a per-channel basis for each device/port.

When you connect midi devices in series in a classic midi configuration, they share a single midi port/cable made of 16 channels. The AL-88c actually multiplexes each midi port/channel combination. Everything works in parallel. For this, the AL-88c relies on the Copperlan communications protocol for its internal and external configuration and to exchange information with the rest of your setup.

In fact, the Copperlan Ethernet protocol allows multiple AL-88c to be connected to the same network. They can then be configured independently: two AL-88c offers a 16×16 midi patchbay, and four will give you 32×32! At the same time, each standard midi port has 16 midi channels. You end up with a truly gigantic midi patchbay!

Continue reading

Posted in AL-88c, Music equipment | Tagged , | 11 Comments

REVIEW: Akai mpk261 keyboard

AKAI MPK261

This is a review of the Akai MPK261 Midi Keyboard. You can find the detailed specifications on the Akai website. I only explain the particularities that are not obvious on the web site. Most of the information here applies to MPK249 and MPK261. Some of it applies to the MPK225.

akai mpk261

 

 

Continue reading

Posted in MPK261, Music equipment | Tagged , , | 13 Comments

REVIEW: iConnectivity iConnectMIDI4+ — Part 1 – Hardware

I just received the iConnectivity iConnectMIDI4+. This is a hardware review.

gallery_icm4plusfrontangle

You know me: take it apart first, and then review it.

gallery_icm4plusfrontgallery_icm4plusrear

So this post is about hardware. The next post will be a software and application review.

In the mean time, you can take a look at MusicInclusive’s Derek Jones series of review/how to videos. The first one is available here: http://www.musicinclusive.com/blog/iconnectmidi4_preliminary_review_part_1/

As usual, click on any image to see a bigger version.

If you’re too busy to read the rest of this article, let me just say this: Buy one! It’s fantastic!

Continue reading

Posted in Electronics, Music equipment | Tagged , , | 10 Comments

REVIEW: IKMultimedia iRig Blueboard

The iRig Blueboard is a small pedal board that uses bluetooth to connect to a computer or a mobile device and sends Midi commands to any application listening for it.

The Hardware

Blueboard with computerThe idea is that a compact pedal makes a lot of sense when you, as a musician, want to be as mobile as possible. Continue reading

Posted in Music equipment | Tagged | 2 Comments

Alesis Vortex: Modify the Ribbon Controller behavior

Some Keytar players use both hands on the keyboard part to play more complex notes arrangements. When I need to do that, I use a regular keyboard. As explained in a previous post, “I have seen keytar players “cross-under” the support strap to use their left hand on the (small) keyboard part. I have tried and it’s really uncomfortable because it puts the left wrist at a very odd angle. Since the keyboard part of the Vortex is only three octave long, my left wrist starts hurting as soon as I try that. Plus it looks dorky…” Continue reading

Posted in Music equipment, Vortex | Tagged , | 11 Comments

Alesis Vortex: Testing remote Patch switch

The Alesis Vortex, using firmware 1.20, can now receive and act upon Program Change requests. This means that you can select a Vortex Patch remotely.

I tested the new feature using my M-Audio Oxygen keyboard, but this will work with any Midi input that can send Program Change Request (PC). I am also using a Mac, as I have the tools readily available.

In order for the Vortex to receive Midi commands, you will have to connect it to a computer using the USB connection. The Vortex’s Midi connection is output only. So your other equipment will also have to connect using USB. My M-Audio is strictly USB.

On the Mac, you need a way to tell the PC generating equipment to send the command to the Vortex. I use MIDI Patchbay, a simple open source program. Here’s a screen shot of the setup:

Screen Shot 2013-11-09 at 11.14.31I specify “Block all notes” to restrain Midi traffic.

That’s it! Sending a PC from the Oxygen 49 will trigger a Patch change on the Vortex. Of course, the Vortex is limited to 24 patches, so it will not react to values outside of the 1-14 range. Here’s an example of the Midi command exchange:

Screen Shot 2013-11-09 at 11.21.37

This will load Patch 04 on the Vortex. I know, I know, it should be Patch 03, but Vortex is counting from 1, not zero. Also, the last 3 commands are sent by the Vortex since it is programmed to send a PC itself (which can be removed). The Vortex will receive the PC command, change to the Patch, and may send a different PC command if that Patch is programmed to do it. I explain how to program this here. What you have to understand is the difference between the Vortex receiving a PC and the Vortex sending a PC. They have very different meanings. For example, even after receiving a PC to switch to Patch 12, pressing the Program Up button on the Vortex will send a PC out in sequence, which could very well be any 0-127 number. Also, if you have assigned a Pad to send a PC in a Patch, Vortex will just send that PC. It’s pretty obvious when you look at the display: the Vortex will show an incoming Patch selection as “P03” for example, and an outgoing PC as “03”.

I then tested this using a Behringer FCB1010, connected to a Midi-to-USB device (like the M-Audio Uno) and routed that through the Midi Patchbay. It worked like a charm!

Screen Shot 2013-11-09 at 12.00.04

Of course, Vortex switched to Patch 17, but you get it.

Posted in FCB1010, Music equipment, Vortex | Leave a comment

Alesis Vortex: Direct Patch programming using SysEx

In the previous post, I did a quick review of the new Vyzex Vortex software program. I also put in some details about the new features in firmware 1.20. I also updated the detailed user guide that I wrote a while ago to reflect the changes in the firmware, (even some undocumented ones).

The main feature in the new firmware is the ability to access and modify the Vortex Patches on a computer. The software (psicraft.com/Vizex)(these guys are pretty funny: there are a few puns in the code and the comments!) is even well done!

Now, because Alesis decided to issue software to let the users program the Vortex from a computer AND store presets on said computer AND retrieve the stored patches from the Vortex, they had to modify the firmware to let the computer access the data (bidirectional). Since the Vortex has a single standard Midi port (5 pin DIN) and it is used for output (from the Vortex) it cannot be used for bidirectional communications. The USB port is used instead. I know that the USB port can be switched to non-midi mode (by pressing C2 and E2flat while powering on, for example…) but generally, the USB port acts as a standard USB Midi port (Core Midi compliant on a Mac). It is detected as such by the computer (and iPad, iPhone). So , when the Vizex software talks to the Vortex, it uses Midi commands. Actually, it uses SysEx commands to exchange information.

Let’s see what the data exchange is:

(I started with the Vortex connected to the computer)(a Mac in this case, but it should work similarly on a PC, although the Vortex is using the standard Windows Midi Port driver that has a bug that prevents sharing a port between two programs. This is why I did all the data sniffing research on a Mac)

1- When you start the Vizex program, it will send a standard Dump Request (Universal Non-Real Time message type) which is just a short 6 bytes Sysex containing “F0 7E 00 06 01 F7”, also known as a General Midi Device Inquiry. It will send this message on each Midi port defined on the computer waiting a (short) while for a response. Standard midi equipment (if it is polite!) will send a Sysex back identifying itself.

2- The Vortex (with firmware 1.20) reacts (politely) and replies with a 37 byte Sysex messages: “F0 7E 00 06 02 00 00 0E 35 00 19 30 31 32 30 01 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F F7”. Ignore the “F0 7E 00 06 02” (it identifies the string as a Sysex response to a device inquiry). The next part is “00 00 0E” which is the manufacturer ID (“alesis”, of course) followed by “35”. That byte is the ID of the Vortex. The rest is unknown data, but I’m guessing that the “30 31 32 30”, which corresponds to characters 0120, is the firmware version number (confirmed by looking at the string from the previous version of the firmware (0103)).

3- Having found its mate, Vyzex sends “F0 00 00 0E 01 35 63 00  01 01 F7” to the Vortex. This is an 11 byte SysEx that contains the Vortex ID string “00 00 0E 01 35” followed by what I guess is a command to tell the Vortex to send the content of a Patch (“63 00 01”). Patch 01 in this case. That’s the 01 just before the F7, which marks the end of the SysEx string (always).

4- The Vortex complies and sends a nice 127 byte SysEx that starts with “F0 00 00 0E 01 35 61 00  75 01” followed by what I think is every parameter in that patch. The key here is the “01” that follows the “75”. That’s the patch number. So there are 116 bytes used to store the parameters for that patch.

Steps 3 and 4 are repeated 22 times, retrieving each and every Patch stored in the Vortex. Why not 24, since the Vortex has 24 patches? Patch 23 is reserved for the Sonivox Synth software available for the Vortex (free for every buyer) and Patch 24 is reserved for Alesis (in particular to work with Ableton Live).

If you load a set file in Vyzex, it will tell you that the loaded set is not synced with the Vortex. It will ask you if you want to overwrite the vortex with the freshly loaded set (you can also choose to overwrite just one patch). It will then act this way:

1- Vyzex send a 127 byte SysEx command to Vortex. That command starts with “F0 00 00 0E 01 35 61 00  77 01” where the “01” that follows “77” is the Patch number. We can also deduce that “61 00 77” means “write” and that “61 00 75” from step 4 above is “read” (as in  “red”) (and also that “63 00 01” is a request to read)

2- Vortex replies with “F0 00 00 0E 00 35 68 00  00 F7” where “68 00 00” means “I just received and stored a Patch successfully”.

Steps one and two are repeated for each bank using a bizarre scenario. Since the Vortex cannot “buffer” incoming data, i.e. read it all and assign it to the appropriate patch, it must receive one patch, store it then receive a program change before it receives the next patch! Actually, when receiving only one patch, the Vyzex will

1- Send a Program Change to select the proper patch

2- Send 127 bytes to store the patch with, you guessed it “F0 00 00 0E 01 35 61 00  77 XX” at the beginning to “write” it

3- receive a 10 byte SysEx (yes, the “F0 00 00 0E 00 35 68 00  00 F7” one)

The Vyzex will then send a couple of Program Change commands, for no obvious reason (to me) except some confused idea about “count from zero/count from one” from the programmer.

Now, what I found while researching this is that Vortex WILL respond to incoming Program Change Midi commands. I had tried that previously (on original firmware 1.03) and while it was supposed to work (according to the Midi Implementation Sheet supplied by Alesis for the Vortex) it did not work. Is that a fix in firmware 1.20? This is very interesting since it will allow me to select a Patch from a software running on my computer, or by pressing a switch on my FCB1010 foot pedal board, for example. Nice.

So, I found how to communicate with the Vortex. Now what?

Well, WHAT is communicated to the Vortex? What is the structure of the Patches? Here’s what I’ve found:

I have accounted for each and every one of the 127 bytes in the Patch SysEx. It’s pretty much what you would expect: definition for every modifiable parameter in the Patch. I also found a few hidden gems. For example, there is a 16 character string stored in the Patch that contains the Patch name defined in Vyzex! So while the Vortex cannot display the string (stuck with a stupid 3 digit numerical display), it is stored…

You want the Patch definition? Just ask. I will not publish it since I know there are some developers out there looking over my shoulder… and it was a lot of work!

Conclusion: A clever programmer could write code to communicate with the Vortex directly from a PC/Mac/Linux workstation. That programmer could also write a simple interface on an iPad… or an iPhone, and use that device to store an load patches without a computer… one programmer could also write some code for an Arduino to display Patch parameters on a remote display… one programmer could even write code for an Arduino to interface directly with a Vortex and an FCB1010…

Stay tuned.

Posted in Music equipment, Vortex | Tagged , , , | 6 Comments