Eigenharp / MEC query

Ok, Ill dig in this afternoon and see what I can find. Thanks Mark!

Hi Mark, so I gave up and decided to swap my new Organelle-M for an original. I cant find any log (var/logs) that gives me any info on MECs running except that when using “Top”. Im quite new to Linux so not familiar with its tools. I can see MEC quits almost straight away after being launched. I have tried different versions of Braids (osc and e) to no avail. Mec runs longer without the Braids Kontrol patch open but then without that…
thanks for your help anyway.

Sorry I’ve friends and family over for the holidays, so I’m not getting any time to sit down with computer/ organelle to look at this in any details.
( they are here for a while yet, then I have to travel - so busy times)

It could be there are differences as the usb controller is very different for organelle 1 & m,
I’ve had issues with the rPI in the past with - depending on which kernel is used - it’s a bit sensitive.

but I know I’ve had this working with Pico, but not sure if I was tweaked anything or not.
However, my main use is with an Eigenharp Alpha but that is a bit different.

Hi Mark, thanks, no worries.

The kernel logs def show the Pico (usb id 2139) being plugged in and disconnected. I thought that maybe it could have been the Pihut USB hub, which has now been disconitnued. So maybe its the hub/pico combi. If there is anything positive about this is that Ive learned to use Linux monitoring tools

k, so had a chance to have a look at this… and it seems to be working fine for me.

so what I did was:
a) install MEC from patchstorage

(do NOT use version in GitHub dev, there appears to be an issue on the organelle with this, which I do not have time to dive into now)

b) install Orac from patchstorage

make sure I had a decent power supply into OrganelleM… this is important, pico takes a lot of power from USB you will have issues if its underpowered. (true of many usb devices)

plug in pico directly to organellem

start Orac (important this is started first, as MEC needs to connect to PD)
select init preset
A1 - insert brds
S1 (parallel) -> chain1 midi , set in channel to zero (for omni midi) , midi in on
select A1, press organelle key, check you get sound

start MEC, select picopd.json (this is MPE from pico)

that’s it worked…

note: by default its very quiet, and so press hard, keep an eye on the meter.

(the reason is the default velocity low, the scaling of this can be altered in mec config file iirc, I’ve also improved it a lot in dev version but thats for another release)


ok, so how to ‘debug’

either connect via vnc, ssh or use hdmi monitor + keyboard

first we restart mother, so that we can see the various console logs from things like mec/pd

~/fw_dir/scripts/restart-mother.sh

now when we start MEC the console will fill up with loads of stuff…
usually it’ll end something like

log:pic::usbdevice_t::usbdevice_t usb device create 2139.0101.0005.0001 iface 0
log:pic::usbdevice_t::impl_t::open_usb_device 2139.0101.0005.0001
log:pic::usbdevice_t::impl_t::open_usb_device: found device 2139.0101.0005.0001
log:pic::usbdevice_t::impl_t::open_usb_device: opened device 2139.0101.0005.0001
log:usbdevice opened low speed
log:usbdevice opened successfully
log:pic::usbdevice_t::usbpipe_in_t::impl_t 130
log:pico::active loading calibration from device
log:pico::active loading calibration done
log:created pico loop
EigenharpHandler device d: 2139.0101.0005.0001 dt: 0
 dk: pico r: 9 c: 2
 s: 1 p: 0
log:pico::active restoring led mask:255
log:usbpipe_in_t::start()
log:usbdevice_t::impl_t::start_pipes() : pipes started!
log:started loop
Eigenharp::init - started

next step… lets see if MEC is getting messages from pico

edit /sdcard/System/MEC/picopd.json

you’ll see a line at the bottom like

"_console" : {

that underscore is disabling console output, so just remove underscore.
(do not touch anything else!)

"console" : {

k, now restart MEC, and when you could a key on the pico you’ll get a load of messages like

touchContinue -  touch: 1 note: 60.0004 x: 0.0134277 y: -0.0224609 z: 0.0126953
touchContinue -  touch: 1 note: 60.0004 x: 0.0144043 y: -0.0185547 z: 0.0129395
touchContinue -  touch: 1 note: 60.0003 x: 0.0131836 y: -0.0168457 z: 0.012207
touchContinue -  touch: 1 note: 60.0001 x: 0.00610352 y: -0.017334 z: 0.000244141
touchOff -  touch: 1 note: 60 x: 0 y: 0 z: 0

this means MEC is getting messages from pico, and is sending them on …

you can use aconnect to then check its connected to pure data.

and finally if you start PD in graphics mode, you can use the ‘test midi’ screen to see if its receiving midi from MEC.

hopefully the above should get you going?!

p.s. id not recommend you ‘downgrade’ to an organelle-1,
I believe the organelle-m extra processing power will become important over time for expressive controllers.
I now develop on the organelle-m, and just ‘back test’ to the organelle-1 - so new versions will be tested to working on the M.

I can only speak for my software/patches… and I don’t know if others will ensure organelle-m compatibility - but I would hope/assume so. but this may take a little time, as we all have other projects and only so much spare time.

Mark! that is very generous of you, to put so much time to look into it. Endless thanks, really, as getting the Pico going on M makes a massive difference to my creative setup.
I will go through this step by step and let you know. So grateful.

Hi Mark,

again thank you for looking at this.

Right!, I went through your instructions and after a few fumbles I managed set it all up and to get a readout from the log in real time. I have no text editor on the Organelle M so this is my fumbling and pasting it here.

I downloaded Orac 2 and Mec and installed in the order specified.

I used a hefty power supply and I plugged the Pico directly into the Organelle as specified.

Despite this there is an error (in bold below) coming up repeatedly when I do the process. Braids runs fine and I have got the hang of the Orac menus and set the settings as specified.

I will persevere the next few days and keep trying this in case I have touched something that is disabling

_ec api initialise mecapi_proc start MecApi::MecApi mec_app running Port not found : [Pure Data:0] available ports : [Midi Through:Midi Through Port-0 14:0] [ttymidi:MIDI out 128:1] MecMpeProcessor not open, so invalid forPure Data:0 mecapi_proc enabling for console output, throttle : 0 MecApi_Impl::init eigenharp initialise EigenharpHandler enabling for mecapi log:eigenlite v0.4 Alpha/Tau/Pico, experimental - Author: TheTechnobear
log:create EigenLite
log:pic::usbenumerator_t::enumerate : searching V 8505 P 2
log:pic::usbenumerator_t::enumerate : searching V 8505 P 260
log:pic::usbenumerator_t::enumerate : searching V 8505 P 3
log:pic::usbenumerator_t::enumerate : searching V 8505 P 261
log:pic::usbenumerator_t::enumerate : searching V 8505 P 1
log:pic::usbenumerator_t::enumerate found : 2139.0001.000a.0001
log:create eigenharp pico
log:create EF_Harp
log:pic::usbenumerator_t::enumerate : searching V 8505 P 257
log:pico loading firmware…
log:pic::usbenumerator_t::enumerate : searching V 8505 P 1
log:pic::usbenumerator_t::enumerate found : 2139.0001.000a.0001
log:pic::usbdevice_t::usbdevice_t usb device create 2139.0001.000a.0001 iface 0
log:pic::usbdevice_t::impl_t::open_usb_device 2139.0001.000a.0001
log:pic::usbdevice_t::impl_t::open_usb_device: found device 2139.0001.000a.0001
log:pic::usbdevice_t::impl_t::open_usb_device failedLIBUSB_ERROR_ACCESS

log:using firmware ./resources/pico.ihx
log:usbdevice_t::impl_t::start_pipes() : pipes started! /usbdrive/System/MEC/run.sh: line 77: 14731 Segmentation fault $MEC_APP $WORK_DIR/CONFIG music@organellem:~ Menu Selection: 37:brds_mpe Checking for patch Files : /usbdrive/Patches/brds_mpe pd: no process found cat: ‘/tmp/pids/.pid’: No such file or directory /home/music/fw_dir/scripts/killpatch.sh: 20: kill: Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]… or kill -l [exitstatus] pd: no process found cat: '/tmp/pids/.pid’: No such file or directory /home/music/fw_dir/scripts/killpatch.sh: 25: kill: Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]… or kill -l [exitstatus] rm: cannot remove ‘/tmp/pids/*.pid’: No such file or directory linking : ln -s /usbdrive/media /tmp/media linking : ln -s /usbdrive/data /tmp/data ln: failed to create symbolic link ‘/tmp/data/data’: Operation not permitted Checking for abl_link external in patch directory: /usbdrive/Patches/brds_mpe running: find “/usbdrive/Patches/brds_mpe” -type f -name ‘abl_link~.pd_linux’ -exec mv .orig;
X server found… starting Pure Data : ( cd /tmp/patch;
/usr/bin/pd -rt -audiobuf 10 -path /usbdrive/PdExtraLibs “/home/music/fw_dir/mother.pd” main.pd )& enabling patch sub menu 1 Rack Parameters :127.0.0.1:9000 ------------------------ Parameter Dump : brds : brds ---------------------- Rack Settings :127.0.0.1:9000 ------------------------ Module Settings Dump ------------------- Presets NoReverb r_cutoff 0 [F], r_time 0 [F], f_attack 0 [F], f_release 50 [F], f_sustain 50 [F], f_env_amt 0 [F], o_timbre 70.3125 [F], o_shape 16 [F], o_colour 63.2812 [F], r_diff 0 [F], o_transpose 0 [F], r_amt 0 [F], f_decay 500 [F], e_sustain 50 [F], e_release 50 [F], e_attack 0 [F], e_decay 500 [F], f_reson 0 [F], f_cutoff 10000 [F], Default r_cutoff 29.521 [F], r_time 21.8964 [F], f_attack 0 [F], f_release 0 [F], f_sustain 0 [F], f_env_amt 0 [F], o_timbre 43.2063 [F], o_shape 22 [F], o_colour 22.4829 [F], r_diff 15.1515 [F], o_transpose 0 [F], r_amt 37.7322 [F], f_decay 105.572 [F], e_sustain 70.9677 [F], e_release 220.919 [F], e_attack 0 [F], e_decay 160.313 [F], f_reson 0 [F], f_cutoff 5410.56 [F], Midi Mapping Rack Values : 127.0.0.1:9000 ----------------------- Current Values Dump ------------------- pg_osc Oscillator o_shape : 22 [F], o_colour : 22.4829 [F], o_timbre : 43.2063 [F], o_transpose : 0 [F], -------------- pg_vca Vca e_attack : 0 [F], e_decay : 160.313 [F], e_sustain : 70.9677 [F], e_release : 220.919 [F], -------------- pg_vcf Vcf f_cutoff : 5410.56 [F], f_reson : 0 [F], f_env_amt : 0 [F], -------------- pg_fenv F.Env f_attack : 0 [F], f_decay : 105.572 [F], f_sustain : 0 [F], f_release : 0 [F], -------------- pg_rvb Reverb r_amt : 37.7322 [F], r_time : 21.8964 [F], r_diff : 15.1515 [F], r_cutoff : 29.521 [F], -------------- patch loaded send patch config using config /usbdrive/patch_loaded.sh returning to main menu Menu Selection: 1:MEC running shell :"/usbdrive/System/MEC/run.sh" & enabling aux sub menu 1 mec-app: no process found ./mec-app picopd.json enabling aux sub menu 0 mec_app initialise loaded preferences “mec”: “eigenharp”: “steal voices”:true, “voices”:4, “velocity count”:5, “pitchbend range”:2, “firmware dir”:"./resources/", “throttle”:1, “mapping”: “pico”: "notes":[2, 5, 12], “calculated”: “keys in col”:9, “row multiplier”:1, “col multipler”:9, “note offset”:60, “tau”: “calculated-wrong”: “keys in col”:16, “row multiplier”:1, “col multipler”:4, “note offset”:20, “alpha”: “calculated”: “keys in col”:24, “row multiplier”:4, “col multipler”:-1, “note offset”:20, “calculated-factory”: “keys in col”:24, “row multiplier”:1, “col multipler”:4, “note offset”:20, “mec-app”: “outputs”: “midi”: “virtual”:0, “voices”:4, “pitchbend range”:48, “device”:“Pure Data:0”, “console”: “throttle”:0
mec api initialise mecapi_proc start MecApi::MecApi mec_app running /usbdrive/System/MEC/run.sh: line 74: 18120 Terminated $SCRIPTS_DIR/oscdump2 4002 Midi output opened :Pure Data:0 MecMpeProcessor enabling for midi to Pure Data:0 TODO (MecMpeProcessor) : - MPE init, including PB range mecapi_proc enabling for console output, throttle : 0 MecApi_Impl::init eigenharp initialise EigenharpHandler enabling for mecapi
log:eigenlite v0.4 Alpha/Tau/Pico, experimental - Author: TheTechnobear
log:create EigenLite
log:pic::usbenumerator_t::enumerate : searching V 8505 P 2
log:pic::usbenumerator_t::enumerate : searching V 8505 P 260
log:pic::usbenumerator_t::enumerate : searching V 8505 P 3
log:pic::usbenumerator_t::enumerate : searching V 8505 P 261
log:pic::usbenumerator_t::enumerate : searching V 8505 P 1
log:pic::usbenumerator_t::enumerate found : 2139.0001.000a.0001
log:create eigenharp pico
log:create EF_Harp
log:pic::usbenumerator_t::enumerate : searching V 8505 P 257
log:pico loading firmware…
log:pic::usbenumerator_t::enumerate : searching V 8505 P 1
log:pic::usbenumerator_t::enumerate found : 2139.0001.000a.0001
log:pic::usbdevice_t::usbdevice_t usb device create 2139.0001.000a.0001 iface 0
log:pic::usbdevice_t::impl_t::open_usb_device 2139.0001.000a.0001
log:pic::usbdevice_t::impl_t::open_usb_device: found device 2139.0001.000a.0001
log:pic::usbdevice_t::impl_t::open_usb_device failedLIBUSB_ERROR_ACCESS
log:using firmware ./resources/pico.ihx
log:usbdevice_t::impl_t::start_pipes() : pipes started! /usbdrive/System/MEC/run.sh: line 77: 18265 Segmentation fault $MEC_APP $WORK_DIR/CONFIG ^C music@organellem:~

I am wondering whether the system has been corrupted. I bought the unit second hand and just wonder whether there might be something that was tweaked.

eros in bold

music@organellem:~ cd / music@organellem:/ cd var/log music@organellem:/var/log
ls auth.log btmp daemon.log kern.log messages user.log Xorg.0.log boot.log cups debug lastlog syslog wtmp music@organellem:/var/log tail -f kern.log

Jun 19 10:53:50 organellem kernel: [ 5.887165] wm8731 spi2.0: spi2.0 supply AVDD not found, using dummy regulator Jun 19 10:53:50 organellem kernel: [ 5.887309] wm8731 spi2.0: Linked as a consumer to regulator.0 Jun 19 10:53:50 organellem kernel: [ 5.887330] wm8731 spi2.0: spi2.0 supply HPVDD not found, using dummy regulator Jun 19 10:53:50 organellem kernel: [ 5.887422] wm8731 spi2.0: spi2.0 supply DCVDD not found, using dummy regulator Jun 19 10:53:50 organellem kernel: [ 5.887558] wm8731 spi2.0: spi2.0 supply DBVDD not found, using dummy regulator Jun 19 10:53:50 organellem kernel: [ 5.908717] audioinjector-stereo soc:sound: wm8731-hifi <-> 3f203000.i2s mapping ok

Jun 19 10:53:51 organellem kernel: [ 6.820362] uart-pl011 3f201000.serial: no DMA platform data Jun 19 10:53:52 organellem kernel: [ 8.164860] warning: process `colord-sane’ used the deprecated sysctl system call with 8.1.2. Jun 19 10:54:02 organellem kernel: [ 18.123294] fuse init (API version 7.27) Jun 19 10:54:21 organellem kernel: [ 36.598610] bcm2835-i2s 3f203000.i2s: I2S SYNC error!

I’d need to check logs, but I suspect the kernel log errors might be red herrings.

You could use dmesg to see if there is anything usb related.

The usb error could be a permissions issue.

Can you check the contents of
/etc/udev/rules.d

There should be a file for the eigenharps , one that was also reloaded via udevadm at install time.

An alternative to see if this permissions are the issue is to run mec manually

cd /sdcard/System/MEC
sudo ./mec-app picopd.json

Use crtl-c to stop it.

Hi Mark,

there are no Eigenharp rules in /etc/udev/rules.d

Just to clarify, the “sdcard” only has a Patches folder, no System folder. The System folder is on the Usbdrive for some reason (this is the format I received it in when I purchased. Does this mean it has been moved and possibly the source of the problem?

best, P

you sure? im pretty sure it installs one…

if not, then drop this in there.

you’ll then need to run

sudo udevadm control --reload-rules

did it work if you ran manually as i showed above?

generally, you should not be using a USB stick with organelle-m, its unnecessary - transfer things via wifi.
if you don’t have the usb stick inserted and you have something in /usbdrive , then something is ‘wrong’
and you should delete the contents of /usbdrive - but not the folder.

ahh, running Mec from terminal works!. Data streams are there when I press the keys

It says its starting the Pico and from the realtime info it looks like it is working. Strange that it is not channeling through Pure Data/

So this is obviously working!. More exploration

ok, will drop that lot in and re-run and test further

Yes I do have a usbdrive plugged in as it contains all my patches from the Organelle 1. I have a lot of sample data (32gb My whole EMUIII library) on there as it wont fit on the sdcard.

thanks Mark

To clarify.

I have a usbdrive called “usbdrive” plugged in. This is where I have all my patches and sample data.

There is also the sdcard that was in the organelle by default called”sdcard”

The sdcard obly has a patches folder in it.

Success:

I have the “Braids MPE” patch running fine from Mec as long as I launch Mec using the terminal but not from organelle.

I tried dropping the 69 eigenharp rules into etc/udev/rules but that folder is locked and doesn;t allow any files to be added.

getting there.

if your using sudo ./mec-app, then its a permission problem, that the udev rule will fix.
(not sure why it wasn’t there… perhaps i missed when releasing orac 2, and added it in dev… so it got installed whilst i was testing stuff?)

you need to copy using sudo… so something like

sudo cp 69-eigenharp.rules /etc/udev/rules.d 

usbdrive vs sdcard
mec/orac don’t care , they work on either usbdrive or sdcard, but you’ll likely get confused if you use mixture :wink:
(as you cannot see the sdcard patches/system, when the usb stick is inserted)

if i were you’d i just buy a bigger sdcard , and then put everything on that … sdcard are faster and more reliable… and frees up a usb port for controller/wifi

K, can confirm udev rules I added later…
They were not necessary on organelle-1 as it runs everything as root.

This may be same issue on your monome :wink:

Aha, I’m beggining o understand it all a bit better, slow but getting there,

thanks Mark for your help, much appreciated,

best, P

ref sdcard. Yes, after your last message I thought that this would be better, so will pursue that to end the confusion and have more ports. Great stuff!

ref: Monome and serialOSC

after all that…it was a broken USB cable!

Monome and ARC chatting are now away happily chatting with Organelle-M

1 Like