Elektroid, a GNU/Linux transfer application for Elektron devices

Thanks that worked. I plan to upgrade to Linux Lite 5 soon. LL is a great distro for my old AMD phenom II 955 pc.

Hi there… I am going to send my M:S to Elektron support (the known problem with the power cable). Not 100% sure, but I expect to get a new unit in a weeks, so I would want to backup my current projects

I have never done this before using Transfer app, so I am not sure if Elektroid does fully support that feature. I have exported 3 .syx files for my 3 current projects (apart from the Stock one), that files are very light (around 20K each one), although I suppose that should not indicate any problem

Is there any way to validate they are ok?
I have tried creating a new project in M:S and then sending there one of that .syx files using Elektroid, but new project remains empty, so… maybe that restore process contains project name, etc… and load the data into that concrete project, instead of the M:S active one? Or is this an error?

I noticed this as well. This might be an issue for all of you so be careful with this.

At the moment, only single message SysEx are supported (i.e. a byte stream that starts with 0xf0 and ends with 0xf7). It seems that a project is just a set of SysEx messages so when you export a project a set of messages for all patterns and data are sent. In this case, Elektroid only reads the first messages and ignores the rest.

It is an issue in the sense that it might look like a project backup is done while it is NOT.

It is by design but I think I should change it because it’s confusing.

I’m taking a look at it at the moment. It might be easy to fix.

2 Likes

Apparently, it was easy to fix. :rocket:

I’ve pushed some commits to the repository. This one fixes this issue. I’ve done some testing and it looks like nothing is broken.

Could you try this to see if it works for you?

4 Likes

I will check tomorrow & give you feedback
Thank you very much, that was really fast :+1:t3:

Hi there
It worked like a charm for 2 of my 3 projects. I have found strange the .syx filesize is exactly the same for both projects (although they contain different number of patterns), but I have tried loading them into a new project, and I see the differences between both backups

However, it didn’t worked for my 3rd project… In this concrete case Elektroid keeps “Waiting” after selecting “Receive SysEx”, and after M:S screen says Backup is complete

Not sure what happens with that project :crazy_face:

1 Like

I will give a try to C6 windows version later, it seems it loads correctly using Wine (at least, it starts with no errors)

By the way, hard to find the link https://www.elektron.se/support/?connection=analog-drive#downloads

[update]
No, it doesn’t work through Wine
I ended making my project backups with C6 using my girlfriend’s Mac :face_with_raised_eyebrow:

works :slight_smile:

anyone got Overbridge running on Linux?

Goto this topic:

i’m running an error when i try to select my model: sample:

ALSA lib rawmidi_hw.c:233:(snd_rawmidi_hw_open) open /dev/snd/midiC3D0 failed: Device or resource busy
connector.c: Error while opening MIDI port: Device or resource busy
elektroid.c: Error while connecting

Welcome to Electronauts! :slight_smile:

This error happens when the MIDI port is already in use. At the moment, Elektroid opens the MIDI port exclusively, which means that if other application has the same port opened Elektroid will not be able to use it.

Close all MIDI related applications and try again.

If you want to know the culprit process, run this.

$ lsof | grep -i midiC3D0
elektroid 4543                           ***   15u      CHR              116,5       0t0      39561 /dev/snd/midiC3D0
elektroid 4543 4544 gmain                ***   15u      CHR              116,5       0t0      39561 /dev/snd/midiC3D0
elektroid 4543 4546 dconf\x20            ***   15u      CHR              116,5       0t0      39561 /dev/snd/midiC3D0
elektroid 4543 4547 gdbus                ***   15u      CHR              116,5       0t0      39561 /dev/snd/midiC3D0
1 Like

I couldn’t find any MIDI related applications open. I ran the command above and got this:

elektroid 17877 *** 13u CHR 116,17 0t0 370 /dev/snd/midiC3D0
elektroid 17877 17878 gmain *** 13u CHR 116,17 0t0 370 /dev/snd/midiC3D0
elektroid 17877 17879 gdbus *** 13u CHR 116,17 0t0 370 /dev/snd/midiC3D0

still running the same error

Looks like elektroid itself is causing the problem. Probably, it didn’t end properly.
Kill it with kill -9 17877 or killall -s SIGKILL elektroid and run it again.

Be sure to use the last version as there were some improvements about signal treatment, which might be related to your issue.

1 Like

When I kill them and try to reopen, it either simply doesn’t open up, or opens, then crashes once I select the device I’m using. It seems to only open up when I have another elektroid open, but the first one doesn’t show and hogs the MIDI port.

When elektroid starts, it looks for the available devices. If only one device is found, then it tries to connect to it; if there is more than one device, it does nothing so the user has to select the one they wants.
Besides that, when it tries to connect to the MIDI port and the port is already in use by another process, it does nothing at all because the port can’t be used but the interface shows up.

In your case, it seems that there is a problem when receiving messages from the device. The first process you run opens the port and tries to send and receive information (and looks like it does not receive anything so it hangs). The second one tries to open the port and as it can’t it does nothing but doesn’t hang.

There are two things to fix here if I’m not mistaken.

  1. Elektroid is not working properly when the device is not sending anything back and ends up hanging.
  2. The device is not answering the requests, or it seems so.

Regarding point 1, I’ve just taken a look at the code and hopefully fixed the bug in the most recently pushed commit (23c50f4).

Regarding point 2, check all the MIDI configuration in your device.

  • Are you using USB or the MIDI ports?

  • Can you try to receive MIDI data on your computer? If you activate MIDI send on your device you should see something.

$ amidi -l
Dir Device    Name
IO  hw:0,0,0  Elektron Digitakt MIDI 1
$ amidi -p hw:0,0,0 -d -c
  • Can you check that no other connections are created?
$ aconnect -lio
client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 16: 'Elektron Digitakt' [type=kernel,card=0]
    0 'Elektron Digitakt MIDI 1'

I’m out of ideas. Send me a PM if you need more help.

1 Like

Continuing the discussion from Elektroid, a GNU/Linux sample transfer application for Elektron devices:

wouldn’t let me PM you, sorry.

you’re saying my device should automatically be selected when elektroid opens if it’s the only device connected, and that would makes sense as to why whenever I launch elektroid (knowing no other elektroids are open), it yields unresponsive. The same thing happens when I have an elektroid open then plug in my device and select it. I’m hooking it up to my laptop with USB. I’m not sure what’s wrong but Elektroid just loads indefinitely when I select my device, until I do something to interrupt the message (like changing the USB mode on my device).

@oblong issue with Model:Samples have been fixed. Thanks for reporting and helping with the issue.

There was a bug that prevented elektroid to work with Model:Samples. I’m not sure if the issue was related to an old firmware version but it should work on all versions now.

Besides that, another bug regarding timeout detection that was causing some freezings has been fixed as well.

1 Like

Hi !! First, thanks a lot for bringing us this piece of software :slight_smile:
I’ve compiled it (KDE Neon) and it does start and recognize my piece of gear : Elektron Model : Cycles.
I have an issue though. It seems the app doesn’t support the kind of soundpacks used on my device, which are not samples but “FM synthesis presets”. By any chance, would you consider supporting this in the future ?
Thank you so much,
cheers !

Thanks so much for making this. I’m successfully using the master branch with an Analog Rytm mkII on NixOS. I’ve pasted the derivation I’m using if it ends up being useful for anyone else.

elektroid.nix
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
, alsaLib, gtk3, libpulseaudio, libsamplerate, libsndfile
}:

stdenv.mkDerivation rec {
  pname = "elektroid";
  version = "git";

  src = fetchFromGitHub {
    owner = "dagargo";
    repo = "${pname}";
    rev = "e3a072f70d329a00a9da3d8151c57c5edf30242f";
    sha256 = "0pdm03sjhily79b791641pbl5g2k1bmyx0qdkv9pafgk75z17dpx";
    fetchSubmodules = true;
  };

  nativeBuildInputs = [ autoreconfHook pkgconfig ];

  buildInputs = [ alsaLib gtk3 libpulseaudio libsamplerate libsndfile ];
}
2 Likes

Welcome to Elektronauts, @bidinou!

At the moment, Elektroid only supports sample transfers but luckily this will change this year. However, it already sports a very basic send and receive SysEx options. These are located in the app menu.

I’m currently working on an issue and after it’s being solved I’ll release version 1.3. Then I’ll start working on the next features.

4 Likes