Alesis V-Series Editor

What other apps and distros do you use to round out your studio?

Moderators: khz, MattKingUSA

Baggypants
Established Member
Posts: 87
Joined: Fri Jul 31, 2015 11:28 pm

Alesis V-Series Editor

Postby Baggypants » Fri Jan 05, 2018 3:20 pm

If you have an Alesis V-Series (I got a VMini at Christmas) you'll be aware that the editor app for changing the pads, knobs and buttons is Windows or Mac Only.

Some clever person reverse engineered the V-25 https://github.com/le1ca/alesisvsysex and I then fudged their code around to make it work with my VMini https://github.com/Baggypants/alesisvsysex

Hopefully the original dev will absorb it into their code. And some other people with different sized ones will chime in and together we can take over the world!

nyef
Established Member
Posts: 8
Joined: Sat Apr 14, 2018 3:32 am

Re: Alesis V-Series Editor

Postby nyef » Sun Apr 29, 2018 4:35 am

I recently picked up a VI49, and... because it has multiple "preset slots", it uses a different (but related) protocol. I'm still working (slowly) on reverse engineering the configuration encoding, but I do have the upload / download protocol bits worked out.

I also found that the VI49 configuration editor works fairly well under Wine (modulo the usual font-related issues for tightly-constrained label controls). Doesn't really help if you're on something fun like a PA-RISC, PowerPC, or ARM system, but should be good news for people with more-normal environments, and means that a full windows VM or dedicated machine isn't actually necessary to do the reverse engineering.

My current belief, having examined the two variants of the alesisvsysex program, and having experimented a bit with my VI49 and the supplied editor, is that a program could be written to support all of the V25, the V49, the V61, the VI25, the VI49, the VI61, the V Mini, and possibly the Vortex Wireless and Vortex Wireless 2, with save files compatible with the windows configuration editors.

Baggypants
Established Member
Posts: 87
Joined: Fri Jul 31, 2015 11:28 pm

Re: Alesis V-Series Editor

Postby Baggypants » Tue May 01, 2018 8:13 am

Glad you're finding it helpful. The original author states that it was designed to be extended to incorporate other models but it wasn't obvious to me how to do that so I just retrofitted the original for my mini. I was fortunate I had a windows vm I could snoop on the usb with. Unfortunately the original author isn't responding at the moment.

What needs to happen is the sysex codes needs to be split away from the functions into variables and then read in from a per-device configuration file.

I also thought that it should be possible to write a small discovery polling program that iterates through the header possibilities requesting a dump from an unknown device model.

nyef
Established Member
Posts: 8
Joined: Sat Apr 14, 2018 3:32 am

Re: Alesis V-Series Editor

Postby nyef » Wed May 02, 2018 2:43 am

I suspect that the "easy to incorporate other models" bit is the way that the UI basically data-binds itself to the model (see ui/components.py and ui/values.py). Everything else looks to be fragile relationships, tight coupling, and little-to-no parameterization. And even the data-binding is... not great. There's cleverness and some amount of magic in it, but overall it's prototype-quality code. I don't know if I want to improve this program, to write a new program, to merely document what I can about the VI61 in particular and the V series generally, or to give up and just use the given config editor in wine.

Finding the headers required for a new device should be trivial: Get a save file from the configuration program. For the VI49, it was formatted as though it were a sysex message (but not one that I expect would work: it's for a non-slotted configuration, and the stored message length was for the VI61), and it has the device ID in the header, and the length information is likewise obvious.

I tried the "discovery program" thing. It took hours to run. And in the end it turned out that I was running it against the wrong MIDI interface, and my device uses a slotted configuration and a byte-by-byte protocol for accessing the configuration data so it probably wouldn't've found anything anyway.

boobz
Established Member
Posts: 5
Joined: Wed May 23, 2018 12:30 pm

Re: Alesis V-Series Editor

Postby boobz » Fri May 25, 2018 11:26 am

Hey,
I want to buy Alesis Q49, it should work similar to V-series, but there's no pads. I want to use it with Reason and some VST plugins on Ubuntu. Is it required to configure it via some Alesis software? Buttons and wheels will work by default, just as they are on my Korg nanoPAD2?

nyef
Established Member
Posts: 8
Joined: Sat Apr 14, 2018 3:32 am

Re: Alesis V-Series Editor

Postby nyef » Fri May 25, 2018 3:37 pm

My impression of the Q series, including the Q49, is primarily from reading [url="http://alesis.com/products/view/q49"]the Alesis website[/url].
Note the lack of any configuration program in the "Download" section, and the hard-to-read-at-that-image-resolution notations above the keybed that appear to be various configuration options. A look at the quickstart guide (available in the "Download" section) confirms that configuration is done from the keyboard itself, rather than via an external program.

boobz
Established Member
Posts: 5
Joined: Wed May 23, 2018 12:30 pm

Re: Alesis V-Series Editor

Postby boobz » Mon May 28, 2018 11:25 am

Thx for your answer. Anyone tried to use Alesis keyboard with not-Alesis USB active hub? In 'quick guide' there is an information it can not work correctly with USB hub and it should be connected directly to the computer.

nyef
Established Member
Posts: 8
Joined: Sat Apr 14, 2018 3:32 am

Re: Alesis V-Series Editor

Postby nyef » Wed May 30, 2018 6:17 am

That bit about the USB hub appears to only be in the "Troubleshooting" part of the Q-series manuals, is that where you found it? I certainly didn't see it in the VI49, VMini, or V25 manuals. My interpretation of that is more "if the keyboard isn't working and you are using a USB hub, try not using the USB hub" and not so much "the keyboard will not work with USB hubs". I'll admit that the description in the manual is possibly poorly phrased, in any case.

I am having a failure of imagination when it comes to the concept of a USB device that cannot be used with hubs (how would that be implemented?), but I can easily imagine a hub that cannot be used with certain kinds of device (IIRC, USB 2.x added transfer types not available in USB 1.x, so a USB 2.x device connected through a USB 1.x hub might not provide full functionality, or maybe it was a high-speed vs. full-speed vs. low-speed thing, I'd have to look up the details). Or you could connect "too much" to a hub, which can try to draw too much power, which would cause things to not work in various ways (though the attempt isn't supposed to damage anything, FWIW).

Removing the hub is a fairly simple troubleshooting step: If you had an electric lamp plugged into an extension cable, and the lamp didn't work, would you not try either plugging the lamp directly into the wall or plugging something else into the extension cable to try and eliminate the extension cable as a cause of the problem? Similar logic applies, except that (as noted above) it may be that the metaphoric extension cable (the USB hub) works well enough with other things, just not the lamp.

At any rate, host USB ports are rated for 1A, and Alesis keyboards appear to draw half that at most (they seem to call for 500mA supplies, and such things are specified with at least some overhead), so you may be able to get away with a bus-powered hub, depending on what else you have connected... Presuming that using a hub works at all. Thus far I've only tried a direct connection, and only with a VI49 and VI61.

nyef
Established Member
Posts: 8
Joined: Sat Apr 14, 2018 3:32 am

Re: Alesis V-Series Editor

Postby nyef » Thu Jun 07, 2018 12:36 am

Baggypants wrote:Glad you're finding it helpful. The original author states that it was designed to be extended to incorporate other models but it wasn't obvious to me how to do that so I just retrofitted the original for my mini. I was fortunate I had a windows vm I could snoop on the usb with. Unfortunately the original author isn't responding at the moment.

What needs to happen is the sysex codes needs to be split away from the functions into variables and then read in from a per-device configuration file.

I also thought that it should be possible to write a small discovery polling program that iterates through the header possibilities requesting a dump from an unknown device model.

About a month of off-and-on hacking later, I present https://github.com/abridgewater/alesisvsysex, which should work for the VMini, the V25 and the VI49. The VI49 model is still a bit rough, and there are still quite a few loose ends left, but progress is progress. I haven't been able to test with a V25 or VMini, so I hope that I haven't broken those, or at least haven't broken them too badly. Would you mind doing at least a basic smoke test on the VMini for me?

I changed the save file format so that the V25 and VI49 save files are compatible with the windows editor, and the V25 and VMini save files are valid SysEx messages that can be sent to the keyboard by other tools to set the configuration. I also tightened up bounds checking on quite a few parameters, so generating bogus configurations should at least be harder. The MIDI channel should no longer be off-by-one, for example.

Incorporating additional devices should be fairly obvious now that there are three supported devices. I plan on adding the VI61 around mid-month (there's a small matter of having access to hardware).

Rough edges include but are not limited to:
  • Slotted-config devices (the VI-series, and possibly the Vortex series if we can support those) are hardwired to slot 1 at the UI level.
  • There's no way to select a desired model other than having it connected at startup or loading a save file.
  • MIDI-to-DIN toggles are not exposed at the UI level for devices with a DIN MIDI port.
  • Program Change messages are still not supported.
  • Error handling with MIDI communication is still a matter of ungraceful crashes.
  • Default save file extensions are still all ".syx", rather than matching the windows editors.
There are probably other rough edges as well. With a bit of work, we can do better than this. We can possibly also do better than the software that Alesis provides (as an example, for systems with a split keyboard option we can have a drag slider within a graphical representation of the keyboard for adjusting the split).

Baggypants
Established Member
Posts: 87
Joined: Fri Jul 31, 2015 11:28 pm

Re: Alesis V-Series Editor

Postby Baggypants » Thu Jun 07, 2018 2:40 pm

Excellent piece of work! Thanks for continuing it.

Works fine on my VMini. "Load from device" opens a whole new window each time which is a little unexpected. I'm not sure if that was intentional.

nyef
Established Member
Posts: 8
Joined: Sat Apr 14, 2018 3:32 am

Re: Alesis V-Series Editor

Postby nyef » Thu Jun 07, 2018 3:43 pm

Baggypants wrote:Excellent piece of work! Thanks for continuing it.

Works fine on my VMini. "Load from device" opens a whole new window each time which is a little unexpected. I'm not sure if that was intentional.

Wonderful! Thank you.

Yes, the open-in-new-window thing is intentional. It's a lot easier to spawn a new window than to replace the model of an existing window, especially if the model structure changes (such as for a different device).


Return to “Linux Distributions & Other Software”

Who is online

Users browsing this forum: No registered users and 1 guest