********************** UPDATE **********************
Version 1.1 available:
Details: Using the LXP-15, I have managed to improve the accuracy of the LSP-5 editor.
• High and Low cut freqencies penned in from the LXP-15 lcd values.
• Room sizes iterations and more.
• New LEDs to indicate Infinite Reverb status
Notes: Bass Multiplier were set correctly on the LXP-5 and noticed a difference of one space to the LXP-15 and therefore, made suitable adjustments.
Testing: spot tested values by putting the LXP-5 into write mode, changing the dial to max and max -1, on the hardware itself, save to the LXP-5 and then loading from the editor.
********************** UPDATE **********************
While finishing off the Boss VF-1 VST/AU builds, I have been working on an editor, controller for the Lexicon LXP-5. I thought I would build a new blog post to detail my work and provide updates.
I have worked out the majority of the sysex but there are a few things that are confusing at the moment. This includes the implementation of the channel which by the looks of it, is fused into the sysex string which in CTRLR, is represented by a yy. Should be easy enough to implement but I read elsewhere that the send comes after fixed sysex. I’ll have to double check.
The other areas of confusion include patch format for things like names. I’t really hard to make a build without the Lexicon Remote with a visual output but the reality is, I do not have enough coffess to buy one and after I have pulled this off, I won’t need one anyway. Therefore, it’ll be bumpy initiatally but when the data dumps come in, I’ll work it out.
That leads me on to the next question, dump. I could not find a dump button but a quick Google and I have found the sysex command.

I will continue to develop this project. I have a really fast workflow from the Boss units and I have been working on this alongside the Boss VF-1 project. As a result, I’m a lot further on that documented here. In fact, you are welcome to read through my earlier post here (link).
Next part of everything will be to start analysing the presets.
Okay, so the box is more complex than the surface will lead you to beleive. That’s a good thing. I can see there are some really nicely buried features in here and plenty to pull into the GUI.
Woooooah. The manual for the LXP5 is so detailed. They actually have all of the byte locations listed from the dump. This is brilliant. Took me months to work out every byte from the Boss units.
For the modulators, I want to try and make them meaningful but I do not have a Lexicon remote or a Lexicon LXP 15. Therefore, my approach will be to take an modulator such as ‘Delay 1 – Course’, get the top value of the midi parameter and then divide the value by that value. For example, 1040.4 / 127 and then multiplied by X (e.g. 1, 2, 3, 4, 5) depening on the position of the dial location. That should give a really good spread. I will need to do some research on the top level of Hz for modulators such as filter cuts but thankfully, due to this being made in 1989, there are lots of ghosts on the internet which have been able to reveal values not represented in the manual. I’ll cross reference enough to make judgements but if anyone has an LXP-15 or RMC, please let me know the increments. thanks!
For High Filter Cut, I found the value of 15kHz from the RMC manual found here (link).
Delay course 2 is quite odd in that it only goes up to 126 according to the manual. I’ll have to keep and eye out for ranges when creating values. For Feedback 2, my friend (who knows a lot more about Lexicon’s than I), pointed out that he did not think it could go 100% and recommended using 127 as the division. If you think this is not right, please let me know in the comments section. Turns out this was right, it’s mentioned in the RMC manual at 99% (with some vlaues round so I’ll leave it). Decay time is a strange one. The seconds division of 16 dials turns did not match. Reading through
4-12, I can see that steps are provided. I’ll have to translate this to the dial.
I can see AI is really useful here. Copilot “create a logarithmic frequency progression from 0 to 1350. Divide this into 32 evenly spaced steps starting from 0 and ending in 1350.”
CoPilot “create logorithmic values starting at 320hz to 15000hz and no higher than 15000Hz. Divide this into 16 evenly spaced steps starting from 320Hz and ending on 15000Hz”.
CoPilot “create 32 values going from a bass multiplier of x0.3 to x2.5”
CoPilot “create an logarithmic rate from 0.066 to 10 Hz. divide into 128 steps for a dial”.
For a quick tour:
Updates:
I picked up a Lexicon LXP-15ii and have increased the accuracy of various dials and faders. The final part of the update involves comparng the source, destination, scale, threshold and offset to the LXP-15ii to see if I can get any transferable values. Page 3-6 pof the manual contains the assignment options. First things to note is that in the LXP-15ii, some of the scales have a range much larger that -200x to +200 (increments are interrupted through duplicates) and the scale values change depending on the destination. Is this the same case for the LXP-5? Re-reading page 3-8 gives a good clue on how to work this out. Scale, dial position 9 will = 0. Therefore, I have a start, mid and end point. I can then average in between. I will save this info to a patch, load into my editor and that will correspond to 0. Page 3-8 provides a list of all sources, destination, threshold at and scale values. I can see it is different to the LXP15ii.
The available range of positive scaling is 0% to 200%; negative values appear once the value exceeds 200%, starting with -200% and decreasing as the slider is moved up.
MRC Manual, page 7-8
After reading through the MRC guide, page 7-8 indicates that scale does indeed move from -200% to + 200% on the LXP-5.
Okay, so this explains the anomolies in my testing. I need to go positive 0 to 200 and then negative 0 to 200. It all looks a little nuts so I think I’ll save dial positions round the clock and see where they land in the editor. So, first step – find a could starting point. Back to the LXP-15ii. A good clue can be found on the Delay/Reverb algorithm, Dest 6 and Scale which starts at 0%. It’s not a smooth increment increase which makes me wonder how this will convert to the LXP-5. Where I’m torn here is that the manual for the LXP-5 shows:
MIN x(-2.0), 2 x(-1.0), 3 x(-0.8), 4 x(-0.6), 5 x(-0.4), 6 x(-0.3), 7 x(-0.2), 8 x(-0.1), 9 x 0.1, 10 x 0.2, 11 x 0.3, 12 x 0.4, 13 x 0.6, 14 x 0.8, 15 x 1.0, MAX x 2.0
The positive values to not turn negative. they start negative! That is a pain. So, my conclusion is to make them out first and fill in the blanks. the other pain is that the jumps in value are not even too. <Large sigh>.
Plotted values
Dial Position | Manual | Midi Value |
1 (Min) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (Max) | -2.0 -1.0 -0.8 -0.6 -0.4 -0.3 -0.2 -0.1 +0.1 +0.2 +0.3 +0.4 +0.6 +0.8 +1.0 +2.0 | 64 96 103 109 115 119 122 125 3 6 9 13 19 25 32 63 |
So there we have it. The dial settings converted in my editor. The conclusion, 0 starts at 0, peaking at +2.0 by value 63. 64 onwards will go -2.0 decreasing to 127 at 0. Really crazy in my opinion but probably makes sense due to the way chips were programmed at the time. It also shows that with these boxes, the information you find in the manual is not a linear translation. One other thing to note is that the calculation for the negative value was slightly offset. I used =2/64*(x) with x being a decreasing value from 64, it left an end point of 0.03. At this value, other values aligned the closet so decided to stick with it. Phew! That was a pain to work out and quite unexpected.
To finish off the LXP-5, I am going to run a final test on the destination values to check to see if they are linear. To complete this, hold down the Learn button, turn function dial to Edit , release learn. Turn Select to 3, incrementally turn the Adjust dial, saving in between to lot the values.
Dial Position | Manual | Midi Value (Delay/Reverb) |
1 (Min) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (Max) | Delay 1 – Coarse Feedback 1 Delay 2 – Coarse Feedback 2 Delay 3 – Coarse Pitch Interval Decay Time Treble Decay Size* (mute in realtime) High Cut Filter Low Cut Filter Reverb Balance Input Level Output Level Output Balance LFO Rate | 0 2 3 5 6 10 11 12 14 16 17 18 21 20 19 22 |
My conclusion? Glad I checked. At first it seemed out of place but then aligned to the table from the manual and this checks out. I sloted the other values in there but reversed pitch adjust and pitch interval to make it fit. At least with the Unicorn, I can see exactly what’s happening here. I am aware that there are values that fall out of this range for some presets but the core functionality exists here and I have the manual readouts.
The final final test on the source values to check to see if they are linear. To complete this, hold down the Learn button, turn function dial to Edit , release learn. Turn Select to 1 (MIN), incrementally turn the Adjust dial, saving in between to lot the values.
Dial Position | Manual | Midi Value (Delay/Reverb) |
1 (Min) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (Max) | Patch Off Adjust Knob LFO Rate Last Note Low Note High Note Last Velocity Chnl Aftertouch MIDI Clock Mod Wheel Breath Control Foot Control Data Entry Volume Sustain Pedal Pitch Wheel | 127 69 70 64 71 72 65 66 68 1 2 4 6 14 32 67 |
This is also checked out with the general midi spec with the exception for volume.
By this stage, I only have one table to go so may as well check the extreme values. Same blarb as before but Edit C value of 2.
Dial Position | Manual | Midi Value (Delay/Reverb) |
1 (MIN) 16 (MAX) | 0 127 | 0 127 |
Extreme values on this one check out so I do not think there is any further need to investigate. I feel satisfied with all of this work and that means, the Unicorn LSP-5 is now ready for v1.1 release.
Testing Parameters:
I could always do with help for more testing so please feel free to add to the comments section Testing involves entering values manually into the Lexicon using the method to
a) Make sure the Lexicon is writeable (check your system configuration)
b) Hold learn, move function to edit to A or B.
c) Review the tables from the manual: https://lexiconpro.com/en/product_documents/lxp5pdf p2-13, p2-14
d) Select a parameter such as Delay 1 Coarse, (Select 0) and turn the Adjust to a value such as Max.
e) Write to the Lexicon by holding the learn button, moving to a preset slot such as function to User 1, Select to 0. Let go of Learn. The Lexicon blinks. The setting is written.
f) If your values are set to writeable, this will now appear as a maximum dial value in the LSP-5.
I tested a few and things check out but the more testing, the better the accuracy and a win for the community.
Testing: Source, destination, threshold, scale and offset.
To test the above, I have referred to page 3-7.
- Load a patch.
- Hold down learn, turn function dial to Edit C, release learn.
- Rotate the Select dial number to chose the relevant option for example dial position:
- 1 (Min) – Patch 1 – Source
- 2 – Patch 1 – Threshold
- 3 – Patch 1 – Destination
- 4 – Patch 1 – Scale
- 5 – Patch 2 – Threshold
- and so on…
- Rotate the Adjust number to adjust the value.
- Save the preset through pressing and holding the Learn button, rotating the function dial to User !, Select to 1 (min) and release the the learn button. The preset will now be in stored into User 1 in the Unicorn.
- Check in the Unicorm.
The Unicon LSP-5 is now ready for release. If you’re interested in giving it a whirl, please complete the request form below:
The Lexicon work is progressing nicely. I have been meaning to make regular updates but time has eluded me and as a result, the comments section is quite thin, despite a ton of work going into this project. Of late, interesting Lexicon work has involved writing LUA to control the channel number within the SysEx, building new dials and buttons to give the panel a cool vibe, working out SysEx dump commands and today, fixing up the overall look and feel of the panel.
One thing to note is the this project has been really interesting because there isn’t a LED readout and I do not own the Lexicon remote. Therefore, I have had to program this project in quite a weird and wonderful way. Essentially, I need to get the Lexicon exporting data correctly to my panel. After the export, I can then check it’s doing what I think it is doing. For example, I can rename a preset, move dials to the right and then send the save message. I flick out and then back into the preset to see it return all of my saved data and expected ranges.
Okay so this evening, I have written the system to load patches from 65 byte and 101 byte sysex files. This will help members of the Lexicon LXP-5 community share patches and it will be helpful for my own backups for tracks I have written.
For today, I am going to look at loading the factory SysEx from the dropdown combo, similar to the Boss VF-1 project. This means that I will code in SysEx strings directly into my project and then send the data to the Lexicon. Looking at how the Lexicon works, I will follow the VF-1 approach where I send SysEx values over by dial and load the SysEx string into the panel. At this stage, it should be easy to workout all of the values due to my mapping charts.
I managed to work out the different save routines for the patch preset and the system settings. Another really good step forward. Everything seems to be writing exactly as I want it to although some elements (a small range of extra fine tuning knob parameters) cannot be saved over midi. All in all, very good progress.
Worked out the bulk dump routine. Function has to be turned to Edit B in order to trigger the bulk dump over the midi command I am using.
Source and destination proved to be quite trigger because the ranges in the manual are detailed up to something like 72 for source yet upon loading in the panel, received ffffff scrambles. This was due to the range actually going up much higher (and this was mentioned in the manual) but what is in between? Would everything after 72 be off. I suspect so but will need to tread carefully.
Good progress by the end of today. I created the system for baking in the Lexicon facotry presets, into a combo menu. The reason why this is important is that it frees up the additional 128 menu spaces. SysEX loads from the combo menu and updates the panel. the panel then transmits out the necessary SysEx to the Lexicon making a match. Since the two are sync’d, it means you can then turn dials in the editor and everything is in the write place. All of the starting points and end points match. Tomorrow, I will enter all of the default factory sysex into the combo.
That was a tough evening. I had to work out how to place Bass Multiply in dial position 9 (x1.0) to get all of the factors aligned to unlock infinite reverb for the Lexicon LXP-5. The sequence included holding the Learn button, turning Function to Edit B, releasing Learn. Moving Select to position 3, turning Adjust to 9. Then, holding Learn and turning Function to User 1 and Select to position 1. Letting go. Watching the write LED flash green multiple times. I could then go to preset position 1 from my software and see the value I needed for Infinite Reverb! Hoorah and phew! No wonder this box needs a software editor to bring it into a modern mixing envirioment. It would be a pain to go through that again. In the editor, it is a simple as turn, turn, turn, turn done. Or load from a preset with these values in position. I think I may even save a preset to reduce it all to one click.
Hoorah! My new (old) chips arrived today! I plan to swap out HP chips inside my Lexicon hardware, with the KPs. After reading around in places such as GearSpace, this chip should make an audible boost in sound quality.
Latest work on the Unicorn editor includes a button to signify the maximum value is set on the Feedback 1 dial. The reason for this is to have a visual sign that the Lexicon is ready for the infinite loop to be active. Due to my memory not being the greatest (or more likely, the Lexicon is so incredibly fiddly due to now display), I created a new help page that details the settings need for infinite delay and infinite reverb. It saves having to reach for the manual and constitutes another workflow improvement that will help me get the most out of the Lexicon.
Lots of development work on the LXP-5. The summary is as follows: I have been loaned an LXP15ii, using the LCD, I check tons of values and updated accordingly. I added a new feature to display all four values needed for the Infinite Reverb and updated all of the Source, Destination, Threshold, Scale and Offset by meticulously dialling in settings via hardware, saving, recalling from the Unicorn and identifying the SysEX value. Everything was then updated and v1.1 released.