How to install and run EigenD in 2023+ [wiki]

it looks like Eigenlabs are letting there forum and website lapse. as has been discussed here, so we are getting a few topics requesting help due to missing resources etc.

This topic is a WIKI, which means the community can edit it, and help keep it concise.

Its pretty bare bones at the moment, limited time, but if others would like to update/embellish, that be great - particularly on the windows side, which I rarely use :wink:

(replies/posts can discuss this, or add some extra info as required)


Getting started …

1) EigenD

the latest version of EigenD is the community edition, as its available from

this contains many bug fixes, and is working on modern platforms.

PLEASE READ THE INSTRUCTION THAT ARE SUPPLIED, there ARE extra steps required.

for references you can read this here

2) Python 2.7 (Windows Only)

on macOS the community build uses the Python 2.7 already pre-installed with the OS.
for windows, if you do not use the runtime package you will need to install python 2.7 from python.org

3) Driver (Windows Only)

Mac is ‘driver free’, but Windows (currently) requires an Eigenharp driver to be installed.
you can get this from here

Runtime Resource

No resources are required to run EigenD, however the factory presets all be missing samples and certain (demo) vsts. however, you can use your own by updating the preset (in workbench).

Limitations

these are noted in the README provided in the EigenD distribution.

the python based browser/commander applications no longer supported.
this is due to the (old) python libraries used, and distributed in the runtime install.its unlikely this will change. use Workbench instead.
note: if you are on windows you could use the runtime package, but this is not supported.

iOS app, this should continue to work, however its no longer on the App Store, and is no longer supported.


Final Note:

as a community we are starting to develop some alternative applications use your Eigenharp with, that don’t rely on EigenD (or python). these may well be the ‘future’ of the Eigenharp, as they are built on a more supportable platform.

(to do : add links to relevant topics)


I recognise all of this is more complicated that many would like, as today we are used to one click installs. but this is now more of an ‘enthusiasts’ project, where time is limited.
the main focus now has to be, to ensure, in the future we have everything we need to continue to use the Eigenharp with less possibility that OS and 3rd party updates will break them - basically, make it easier to support with less dev resources.

4 Likes

reply reserved for now, in case we need to split things out a bit.

background / where are we ?

Ive discussed this before here, but essentially much of the old eigenlabs downloads are actually not that useful anymore. but we need to look at this from a couple of perspectives:

from a platform perspective:

Windows :
the EigenLabs downloads have ‘faired’ well, simply because Windows has good backwards compatibility. with the exception of Windows ARM :wink:

MacOS:
the downloads are pretty much useless except to someone running a very old version of macOS.

the main significance here, is that I do not want support these old (e.g. 32 bit) platforms.
EigenD has always been resource intensive, so newer machines bring so many benefits - most have upgraded by now.

there are 4 parts to the eigenlabs downloads, lets look at each in turn,
look at issues involved and the future in next post.

1. EigenD including application code.

This is open source, and I have provided up to date variants, as discussed in first topic.
Also my EigenLite API means we are able to create new applications for the Eigenharp.

lets say this is ‘dependancy-free’, though thats a simplification, but we will kind of get into this below.

2. EigenD Runtime

this is just the python runtime and the windows driver (discussed separately)
there is nothing special about this python runtime, its just a particular version.

for EigenD I’ve moved away from using this supplied version to remove this dependancy, and we install directly from python.org.

though the main issue here is Python 2.x is now EOL, but having the EigenLabs download does not help this side at all!

3. Windows Driver

windows traditionally needed specific drivers for different usb devices, and this could not be in ‘user space’, so Eigen Labs created simple driver that talks to the Eigenharps and the messages to the application in user space.
Its actually a pretty simple driver, as most of the ‘functionality’ is still in EigenD core, and the driver ‘merely’ forwards this back n’ forth between usb and shared memory.

HOWEVER, this code was not open sourced, I suspect it was done by a 3rd party, which may have made this tricky for Eigenlabs. so we do NOT have access to this code, or the ability to build it.

4. EigenD Resources

this is a bunch of samples and vsts, that are needed for the factory presets to work ‘out of the box’
the vsts are now years (decades?) old, and are pretty much pointless, and 32 bit etc.
users can replace with their own, more modern/supported versions.

samples/loops, really nothing exciting here… Ive no idea of their origin, or copyright nature.
again, you can use your own.

convolution samples - ok, these are a bit tricky, as things like cello expect these to be present.
user could replace, but feels a bit ?!

from a distribution perspective:

the eigenlabs downloads were huge, and bloated - and also have some elements that are not free from copyright… so hosting has legal complications.

I frankly don’t have the space to host, nor want to get into these ‘cloudy’ waters of legality.
esp, as discussed above, a lot of the content is not required anyway.

1 Like

Where next/future?

so the above raises a few questions/ and thoughts.

I’d like to make the EigenD distribution be ‘complete’ for essential parts.

I think this means, including in the EigenD distribution
a) Windows driver (short term, see below)
b) Convolution samples

as you can see, this is the bare minimum… not every sample, nor vst, nor python runtime.
these would be ‘extra steps’ for users to handle… and this is probably what we need to document better.

EigenD is ‘safe’ we have the code. however, its dependancy on Python 2.x is becoming a big issue.
a couple of times, Ive started to port it to Python 3.x , but Im not sure if my heart is really in it.
its tedious, and frankly, I think could take a lot of dev effort. BUT Ive not made a final decision on this.

I want to remove the Windows Driver dependancy, as we dont have the code for it.
for Linux, we are using Libusb in the EigenD core code. in the past, I’ve experimented with this on Windows and it works too…
the principle then is, users will install the generic libusb driver for windows, which will be ‘future proof’.

there are a couple of step to do this
i) I need to put the necessary changes into the eigenD mainline codebase, and release
ii) we need comprehensive user documentation on installing and setting up windows libusb driver.
iii) testing - on different systems, and also for performance. ( * )

( * ) as I said, it ‘works’, but have ever checked its performance - that said, theoretically, Id expect it to be better not worst… also testing on one windows machines is rarely representative for others :wink:

so to (new) users , what the above would give is.

  • download/install EigenD from my repo.
  • read documentation (!)
  • install other required components (Python and libusb driver for windows) from named sources
  • window users setup libusb.

if they want to use,

Limitations

  • only modern OS support (32bit)
  • users will have to read instructions and follow, its not just click n’ run.
    unless someone else in the community wants to do this, I don’t have time
  • modify factory presets
    Im not going to distribute old vsts/samples, so where these are used, users will have to
    again, the community could contribute new/updated presets if they wish to improve this situation.

I do understand this is putting a lot more on new users, and I can see that being unpopular.
but honestly, like most ‘ageing’ tech, really I think the focus has to be on enthusiasts now… users that wiling to invest time to get things going.

that may seem ‘elitist’, but remember, the support and dev is now coming from enthusiasts too, we are not paid/profit from this… so we have to consider where we want so spend our (free) time/efforts.


Hardware support

ok, not much to say here…
if you Eigenharp develops a fault Eigenlabs is still really your only point of contact, we have no schematics or anything for the hardware.
AND if you open the Eigenharp officially, it’s likely it will need recalibration which is something only EigenLabs can do, with a special tool/jig they have.

but so as to keep information together, and Im going to link to a recent post, about some investigations Ive done into re-calibration of Eigenharps

4 Likes

thanks to @flac , I’ve got a copy of the latest windows driver.
Ive added this to the EigenD repo

when I get time, I’ll see if I can include this into the windows release build and/or add to install instructions.

2 Likes