Lexicon PCM 80, PCM 81

Get it completely - the fact you got this far is testament to your skill and tenacity!

I can work around some of the challenges so it’s not a show stopper at all. Even the ability to quickly create a patch and then fine tune on the device is much easier than button-hopping from the get go on the PCM.

I’ll defo be playing in detail over the next few days and I’ll also take a look at the code specific to this area to understand more.

I’ll also document the the workflow with some examples etc. so that any other PCM users can follow what I’ve learned and avoid any pitfalls in the short term.

The real ‘magic’ of the PCM lies here & modulation section so this is the next area of focus for me given everything else seems very solid. I do need to spend a bit more time on the pitch/dual algos as well.

Thanks again,

Si

One quick thought I had was to give a user visual hints.
For example, selecting a patch across the top the button currently turns red.

Once you start changing the source and destination, I could ‘flash’ the selected patch slot so the user might get the hint to press it after selecting a new source and/or target.

A lot of it is code cleanup and managing all the data pointers. I think that with the changes Martin has made to the OS since I first coded this stuff, there might be a better way to handle the target naming and data range on that page.

This is a great idea.

On your previous post you mentioned removing the ‘Undo’ button - have you done this in the preset or was it an intention in the future. Just want to see if I need to download the latest or not?

I did not touch things so far. I forgot that the Undo only shows up after a Send.

Just quickly eyeballing the code - my advice is that it’s 700+ lines of Lua (almost 20% of the total just to deal w. patching) that is tied into all the algorithms and data structures used everywhere else, so it’s best to probably just use things, note issues, and pass it along.

Note (in case it was missed) - I do try to colorize any targets elsewhere on the screens when they are named in a Mod Patch. The Lexicon indicates a patch source or target with a little square. I didn’t want to devote a large chunk of code and extra processing draw to draw rectangles everywhere, so my compromise was to put patched mod targets in a deeper/darker color so they stood out a little bit. I don’t have a great answer to indicate mod sources, but I kind of felt it was less important at a high level to see something that is acting as a modulator.

I might as well have put a big “Beware, there be monsters!” sign at the start of that section …

1 Like

Cool - no sweat…

Thanks - given how embedded this is into the overall code (and having taken a look at it) I’m going to Exit Stage Left on even trying to understand, let alone modify anything!

I’ll just work through using it and then feedback just in case at some point you develop more masochistic tendencies again :slight_smile:

Si

Got my E1 last night and miraculously got it talking to my 81 via the MioXL with minimal issues! A million thanks to you @oldgearguy

A few things I’ve noticed:

  • The “Get Patch” button - my expected behavior here was that this would “retrieve” the current program from the 81. But it’s really more a “Send Patch” right? Is there a way for E1 to grab the current patch from the 81 aside from doing a “dump” on the unit? I couldn’t figure this out.

  • FX Mix/Reverb: I noticed twisting this knob throws me a Sysex Error on certain programs. I need to test more but I think it’s only occurring on programs loaded from the DualFX card banks (X0). And it’s seemingly just that parameter. All the other parameters work fine even when that one is throwing an error.

  • Snapshots: I got these working, but think I misunderstood the behavior here too. It’s not saving/recalling the parameters/edit buffer, but the specific program itself. So for example, if I save a Snapshot of R 3.0 and try to recall it (by selecting it from Snapshots and then hitting Get Patch), it sends a program change to R 3.0. My hope was that it would send all the saved parameters to the edit buffer. With the way it works now, if I save a new patch to R 3.0 after taking the snap shot, it will simply change to whatever is in R 3.0, so the “snapshot” is kind of broken. I need to test this further, but I don’t think it supports my intended use case (saving hundreds of Italo patches for instant recall).

All that said, it’s a whole new world with this thing!

First, glad you were able to pick up an E1 and that the PCM editor is mostly working for you.

sysex errors - for sure let me know about those. The more specific info you can capture the better (like - patch 3.4, Dual FX card, editing param mid RT or similar info).

Get Patch absolutely does pull back the current settings for the selected patch. You should see the name change in the upper left and every param should have the current values filled in.

If that’s not happening, my initial suggestion is to temporarily directly connect the PCM to the E1 with a couple of old school MIDI DIN cables and try it again.

If that works, then there’s a config issue w. the MioXL.

Thanks! I’ll keep testing the sysex errors and provide something more helpful.

Re: Get Patch…hmm, maybe I’ve got something twisted up in the MioXL routings. Here’s how it works for me. If I use the top left knob on E1 to scroll through programs and land on P0 0.2 Wet Chorus for example, hitting the Get Patch button sends a program change to the 81 and changes it to P0 0.2.

If I then load P0 0.3 on the PCM 81 itself, nothing changes on the E1 unless I go to Control > 3.8 Midi Dump > Store. That sends P0 0.3 to the E1. Otherwise the E1 still displays 0.2, and hitting Get Patch will again change the 81 to 0.2. Hopefully that makes sense.

It sounds like this is not the expected behavior? Maybe I’ve got something backward in the MioXL mappings. Just strange because otherwise everything is working!

Glad you got your E1 and hooked it up…

As an aside I’m pretty sure this is what happens for me. Press Sync to start, then press Patch Request button. E1 always loads Prime Blue P0.0 even if the loaded register on PCM isn’t P0.0. Hasn’t been an issue for me as once I have done this I just dial in the register I want to work with on E1 and then go from there…

Of course this may be complete rubbish on my part as my brain is now mush :slight_smile: Will confirm exact behaviour on my side tonight.

So the idea is that the E1 is supposed to be the single focus for doing stuff w. the PCM 80. I don’t think you have anything mis-configured in the MioXL.

If you use the PCM front panel to change patches or edit parameters, it’s very likely the E1 will not know about or see the changes. If you want to abandon your changes to 0.2 and work on 0.3, change programs using the E1 (no need to press sync again) and it will send the program change and load the new program into the edit buffer.

If you regularly use both the PCM front panel and the E1, you’ll have to wait for an update in 2025 to the editor. (kind of joking, kind of not)

In theory, the PCM can send parameter changes to another PCM (or computer or E1 or whatever), but it’s a huge bandwidth hog and can cause a lot of other issues, so I’m purposely not using it. Also, I want to implement a heartbeat to verify that what the E1 is talking to is still the same PCM and the same patch, but again, the internal management headaches don’t seem to be worth the benefit (compared to fixing things that are actually broken).

A lot of this would be easier in a VST on a computer and the PCM preset has already consumed a year+ of my free time. (hence the break from it to work on a few other challenging editors)

1 Like

That makes total sense, thanks for clarifying.

The system works very well, the only friction is for register programs because E1 can’t display their actual names when scrolling thru (hence my using the 81 to scroll/load and why I was then hoping the E1 had a one button “get” function). All good though.

While Snapshots doesn’t do what I hoped it would do, it does kind of solve for this. I can save snapshots of all the register patches and rename/organize them on the computer using the snapshot editor.

1 Like

For other boxes (Korg DL8000R) I decided to pull back all the patches in the box just to have the names.
The Lexicons are a bit more tricky (partly because the dumps are larger and partly because there can be ‘holes’ in the list). Also, it takes time to pull back that much data and typically users don’t want to wait while I’m chewing on all that data.

There can be an option in the Config page to go and pull all the user registers, but even then, as soon as you power down the Electra One, you’ll lose that info.

Maybe you could do that and save that as a Snapshot to keep all the names around (they might be saved - don’t know), but I’d still need to add that capability.

lol - the hope was you’d be creating your own wonderful patches and not need to buy/store/use 3rd party patches. lol x 2

ahahah…this is italo’s fault! honestly though, just having visibility into all the parameters of a patch has been illuminating and very educational. so much easier to understand what’s doing what which I can then apply to my own patches.

Man, that Korg unit is on my GAS list now too. Seems like they are quite rare! Been searching for weeks and havent seen one for sale yet.

Managed to get a couple of hours playing with patch settings tonight.

Super positive in that it’s possible to be able to configure and subsequently modify patch settings. To do this you must always press the relevant patch button before touching anything else and touch it again afterwards if you’re modifying either the PATCH SRC or TARGET. If you do this then you can add pivot points, change SRC/DEST values and SEND is always available to update the device.

The only downside in the small amount of time I’ve had, is that there are some gremlins; strange values, strange scaling etc. depending on the DEST parameter chosen which means you can’t actually select some of the target values correctly.

The bug that stops setting the lower limit of 0 for a SOURCE VAL is a bit of a pain.

I’ll work through all of the destinations logically and feedback as there’s a load to work through!

Si

Thanks for the feedback. The entire patch logic is the first thing I’m revisiting when i get back to the PCM

2 Likes

have continued testing this tonight. it seems to only be the FX Mix/Reverb parameter in the Output section on the main page of the E1. That param throws a sysex error on all DualFX patches (I tried at least one patch from every X bank).

It happens with all my Italo presets as well (sent via Sysex Librarian) however something curious there – it only throws the error when it’s in the edit buffer. If I send the patch from Sysex Librarian, then store it in the Register bank and load it… boom, no more sysex error on the FX Mix.

Cool - it’s mostly usable in its current state and any issues can be easily resolved by a few button presses on the device if necessary I reckon.

Si

The FX Mix/Reverb parameter is actually not available in any algorithm above the original 9 (except for alg 49) so for all Dual FX and Pitch/Vocal FX algorithms, that parameter is now hidden.

I’m revisiting the entire Patching Section to try and a) make it all correct, and b) make it more intuitive to use.

(yes, this is taking a break from the seemingly simple but huge headache that is the Eventide H3000. So, I guess I’m picking Advil over Excedrin)

2 Likes

Hey Tom,

Great news on the Patching piece - I can only imagine how much fun you must be having with the H3000 if you’ve chosen this for a ‘break’ :slight_smile:

Just a couple of other things I’ve picked up along the way if you’re in the mood at any point;

Plate - Display: Voice delay time display values don’t honour parameter limit for maximum delay times when adjusted with master delay control. Example: Delay V1 set to 1.365s, adjust Master Delay control to 200% and Delay V1 displays 2.730s.

Chor+Verb - Delay V5 & V6 not initialised correctly.

Workflow: Chor+Verb Algo high cut is not actually in the output section; it’s in the delay/feedback. Would be better to move out of the ‘output’ block on E1 for this algorithm to save confusion.

Workflow: When opening an effect from the user register set the default save location (when selecting save/config) button to the same register as the current patch. I’ve accidentally overwritten R0.0 lots of times as a consequence of save defaulting to this :slight_smile:

Hope that helps.

Si

All good info, especially the workflow stuff.
I’ll try to incorporate those as well in an update this coming week.

The master/voice scaling has been interesting in that the PCM doesn’t actually store that changed value in the voices, but computes the new value dynamically.

1 Like