Lexicon PCM 80, PCM 81

Seems like some of their algo block diagrams in the manual are incorrect as well based on my messing today lol…

@oldgearguy

Is the patch configuration functionality working? I have a INIT Plate algo in reg 0.0 that I’m using for some testing; basically a set of defaults with patch assignments cleared.

I had a go at creating a patch in slot 0: LFO (0-127) to Delay V1 (0 - 300ms) and then pressed the SEND button on E1. Looking at the PCM I can see that the settings don’t represent what I configured (Triangle to Delay V4 - no max delay value).

Thanks,

Si

patch config stuff used to be working. I have done the least amount of testing on that area due to the complexity of having the patch targets display the range/units dynamically.

However, the basics of assign src->dest, set values, send should work. I’ll have a look at that first

I guess one obvious test is to edit a saved preset that has patching set up and verify that the Electra is at least displaying the correct info for what is pulled back.

Thanks.

Don’t do anything on your side as it may be me! I’ll feed back.

Si

There’s also some slight work on the user part about actually selecting the various patch slots above and then (possibly? I forget) reselecting it after you pick a different source.

1 Like

greetings 80/81ers. @oldgearguy thank you for your many generous contributions across forums I’ve traversed over the years. this one in particular appears a herculean effort.

I fell deep into the hole last month when I got an 81, then went searching for a Dual FX card and ended up finding an 80 w/ Dual FX for a steal. magical machines but truly a chore to program.

So…the Electra is calling strong. A very basic question: my racks are connected to a MioXL interface and get clock from Ableton. Am I able to keep it this way and connect E1 via USB so that I can easily switch between controlling the 80 and 81? Or must the E1 be connected directly to the racks via DIN?

Another noob question…does the Electra one preset manager integrate any sort of library function? Or am I still using Sysex Librarian to send all my programs?

Thanks in advance for any insights - this close to pulling the trigger!

First of all, thank you for the very kind remarks. I hope that over the years my posts have either informed or entertained. lol

I have been developing the preset on the E1 with the PCM connected directly via DIN. However, I do have multiple Conductive Labs MRCCs here and I believe I have tested the editing through them. I know a lot of people use the MioXL and similar for more complex MIDI setups. If the MioXL supports large (> 256 byte) sysex dumps (some interfaces don’t) then it should be fine. I guess I could start a GoFundMe to buy a MioXL for testing …

There are a 1,001 subtle things that could cause problems though.

How and where the clocking is merged and sent might be an issue. There was some bug report about an interface or merge injecting clocks into the sysex stream and messing up the dumps. I have to look at the MIDI spec to see if that was allowed or if it’s a firmware coding error in one of the things in the path.

I currently have 2 (or 3) PCMs here - an 80 and an 81 and another 80, as well as some cards. I was keeping one of the 80’s at the original 1.0 OS because of the drastic sysex differences.

I believe that as long as you (re)press the SYNC button, the E1 will be able to talk to multiple PCMs on a MIDI patchbay. Since I have multiple PCMs, the eventual plan is to make it as seamless and error-proof as possible to switch and edit between units. I am also looking at implementing a heartbeat type thing that periodically checks the device that is being used to verify it’s still the same. Again, in an ideal world, I’d identify a device switch, automatically re-sync, and let you continue, but the amount of real-time data flow and the huge amount of error-handling and needing to prompt the user (are you sure you want to switch and lose your edits? Save your edits to a buffer and continue? Do not switch?, etc) to do this properly is overwhelming on this platform.

So you could have the E1 connected to the patchbay, multiple PCMs connected, and then the sequence would be:

  • change the patchbay route,
  • press SYNC,
  • recall and edit a patch,
  • save it,
  • change patchbay route to another PCM,
  • press SYNC,
  • repeat until exhausted.

Currently, there is no concept (or space or API) to implement some type of file-based librarian on the E1. In theory, if @martin was able to carve out some user space on the internal storage and implement a basic set of file I/O APIs, any preset could then implement a rudimentary librarian and make the E1 a very capable stand-alone device that could be transported more easily than a laptop, etc.

Hi and welcome!

Having road tested this in detail I would safely say that if you are a Lex PCM man then E1 with this preset isn’t optional - it’s mandatory :slight_smile:

I thought getting the E1 was good when it came to interfacing my other hardware but honestly this is so game changing when programming my PCM81 that I’d consider just buying an E1 for this purpose only is money so well spent it’s laughable.

Si

Wow thank you both for the quick replies and warm welcomes! @oldgearguy yes your posts have been immensely helpful…I’m also a new owner of an RSP-550, so thanks for that too. Was on the hunt for killer mod effects and that did the trick.

I just placed my order for my E1. It sounds like I’ll prob encounter some trial and error along the way, but this seems like such a collaborative and supportive community…I’ve got faith! Apologies in advance for the many question I’ll have.

I tried using Synthassist’s VST editor for the PCM80 and while I got it working, encountered a lot of bugs and sadly it does not support the Dual FX card (nor of course, the 81).

Now…who can I pay to build presets for my JD-990…and my DP/4+? It’s too bad there’s no turnkey port to turn CTRLR panels to E1 presets. A huge library of panels available but they’ve always been so buggy in my experience.

FWIW, I offered to help Synthassist extend support to handle the original PCM 80 OS (1.0) and the cards, but he never responded. I also looked into CTRLR, but a lot of the panels are locked, etc.

It is possible to build a preset for the E1 without actually having the hardware around.
A few caveats (of course) -

  • you need a variety of sysex data dumps from the unit,
  • you need a well-defined MIDI specification,
  • you need a willing beta tester

It is still longer/slower/more fraught with peril doing it, but it can be done.
(This is all in regard to the DP/4 which others have asked about - I will not touch the JD-990 or any of those other Roland rack synths. I spent time looking at the RSS-10 effects unit and know their general sysex style and it causes more Advil consumption than is safe)

1 Like

@anzv808 Of course not a preset for the Electra One but nicely done is this editor for the Ensoniq DP/4: https://defectiverecords.com/portfolio/dpeditor/

Thanks for mentioning it - I do have that editor as well! It’s great for what it is, the developer did an amazing job. But not tactile…

@oldgearguy re: librarian…am I understanding correctly that I could kinda get there using Snapshots? (I just read each preset allows for 400+ snapshots). So in theory, could load a patch to PCM80, grab it to E1, save as Snapshot, rinse/repeat and then be able to easily access them. I have Italo’s PCM patches for example, so my dream would be to have those all accessible as categorized snapshots from the E1.

1 Like

I have never seriously worked with snapshots, so I can’t give you a definite answer. You think I actually have time to use these editors I’ve been working on? :grin:

In theory it could work. My hesitation is that I don’t know exactly what is saved in the Snapshot. Yes, I believe all the values associated with all the controls are saved, but I likely am using and storing other data and I don’t know if everything in memory at that time is saved and recalled.

1 Like

I haven’t had the need to use snapshots with the PCM but will try it tonight and feedback.

Hey @oldgearguy

Can you give a couple of hints on how to use the Patching functionality on E1? I just cannot seem to fathom out the workflow to configure a simple patch.

Would be so cool if I could work out how to do this.

Thanks,

Si

I’ll post a sequence of steps Monday.

Do you at least see the current patch info when you load in a register/preset?

Many thanks.

I do - all of the patching settings seem to be correctly reflected on E1 after loading a register using the E1 patch request button.

Hope that helps.

Si

Ok - quick set of instructions -
go to patching.
Select a patch to edit (existing or unassigned) and touch it so it is red.
Next - move cursors down to the middle row. Turn the encoder to select the Patch Src.
You should see the patch source name change above the selected patch slot at the top.
Next - select the patch destination. You should see the name change inside the patch slot.

Next - re-touch the edited patch slot in the top 2 rows. It should be the only red slot. Once you retouch it, the bottom left label and points should update. Now you can edit those points by touching one to select it and edit the source value and such or by changing the number of points.

If your source values are out of order, press the Reorder button
Then press Send to send it to the PCM. I do not send all the intermediate edits because it’s too bandwidth intensive and potentially leaves the PCM or that patch in a weird state if you decide not to do it.

There will be an Undo button eventually. I took it out because it gave me headaches managing the extra buffers and such at the time.

Thanks so much for taking a look. Really appreciate it.

On the positive I did manage do get a patch working which is ace and super encouraging!

On the slightly negative side the functionality doesn’t always work and it displays some strangeness. Didn’t have much time but will spend more with it tomorrow night.

BTW you do already have an Undo button; it displays after Send has been invoked. Its behaviour is weird though but I need to play with it more. For example pressing Undo leads to strangeness when Send is pressed again. It also sometimes stays on Undo and doesn’t change to Send again. Finally It also doesn’t reset after a new register is loaded i.e. if it was left on Undo it stays on Undo when new register loads and strange things happen again. I need to spend more time to feedback.

Other things that are a little weird;

Changing Source Val - turning down never gets to 0 and randomly goes down to 1,2, 3, 6 etc. as the lowest available number (turning pot up and down does this randomly); this value is then set on Send i.e. 001, 002, 003, 006 with the Dest Val. Setting upper Max to 127 is fine.

Presume Undo is designed to clear Source/Dest values? Seems to do this but pressing Send again afterwards doesn’t update value with new values and no amount of Send/Undo seems to update.

Would also be super useful to have a ‘Delete Patch’ button to just reset selected Patch to Empty/Unassigned and start again with it.

Little bit painful at the mo but even so it’s awesome!

Hope this helps.

Si

Thanks for the feedback. I should have deleted the Backup button for now.

As you can tell - the Patching is the least tested, least fleshed out, most problematic, largest headache area.

One of the tricks (and no idea how they do it easily internally) is that every time you change the destination, I’d love to have the controls in the lower right reflect the new target and the legal ranges of values for it.

The other thing is Lexicon claims in their docs that all the target values are stored as a number between 0 and 65535 and then scaled to fit each target. They say - that way, the overall contour you create is preserved no matter if the target is pitch or something with 10 values.

The send/undo action should be handled by a separate ‘edit’ buffer and I kind of do that now, but there’s still a lot of juggling due to trying to keep a common internal format/layout given the 2 different sysex dump formats, cards, and the variety of parameters. I clearly haven’t spent enough time vetting that code.

If you’re really bored, you can poke around the Lua script starting at line 1100 or so for all the patching routines.