Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Device Request: Elektron Analog RYTM / Four #397

Closed
RadekPilich opened this issue Jan 27, 2025 · 14 comments
Closed

New Device Request: Elektron Analog RYTM / Four #397

RadekPilich opened this issue Jan 27, 2025 · 14 comments

Comments

@RadekPilich
Copy link

RadekPilich commented Jan 27, 2025

Starting this "issue" along the lines of the Korg and Akai issues.

I was wondering if anyone has explored / attempted this.

I've found some other github projects deconstructing the sysex, so it might not be so hard to do now, although I'm definitely not competent enough to start this from scratch.

https://github.com/kimasendorf/elektron-analog-four-sound-sysex/blob/master/elektron-analog-four-sound-sysex.md

https://github.com/bsp2/libanalogrytm

https://github.com/ashojaeddini/digitools

@christofmuc
Copy link
Owner

Cool! I think this has most useful information: https://github.com/bsp2/libanalogrytm/blob/master/sysex.h

Looks like quite some work given this is just other code and not really a documentation on how to work with the device, but there seems to be a lot of good information already.

@christofmuc
Copy link
Owner

@RadekPilich Here is a very first version for the Analog Rytm, It supports only the Sounds bank for now, to see if it can operate with the synth:

Elektron_AnalogRytm.zip

@RadekPilich
Copy link
Author

@christofmuc thanks, you are a machine! 😃 I will test both M and RYTM over the weekend.

@RadekPilich
Copy link
Author

RadekPilich commented Jan 29, 2025

@christofmuc Error: This synth has not implemented a single method to retrieve a bank. Please consult the documentation!

Connecting via USB, it is visible / auto-detected, running in audio + midi USB mode.

MIDI comms work both ways - KK sees MIDI from RYTM and I can play RYTM from Masterkeyboard.

@christofmuc
Copy link
Owner

Great, can you show me the MIDI log of the auto detection? I can look why it is not wanting to do the program dump sending.

@christofmuc
Copy link
Owner

christofmuc commented Jan 29, 2025

Oh, stupid me, I named a function convertToSingleProgramDump which should have been called convertToProgramDump...

Attached a fix, this should be better!

Elektron_AnalogRytm_v2.zip

@RadekPilich
Copy link
Author

RadekPilich commented Jan 30, 2025

Yes, that did download the 128 project sounds (sound pool). It just mislabeled as kits in the KK library tree.

Image

Image

What I believe should be the primary interest for us it's the +Drive sound library with 16 banks of 256 sounds (4096 altogether)

@christofmuc
Copy link
Owner

Ok, what I can tell from the libanalogrytm source code:

#define AR_NUM_KITS (128u)
#define AR_NUM_SOUNDS (128u)
#define AR_NUM_PATTERNS (128u)
#define AR_NUM_SONGS ( 16u)
#define AR_NUM_SETTINGS ( 1u)
#define AR_NUM_GLOBALS ( 4u) /* global slots / settings */

I am seeing codes that can request 128 of each type in the "normal" way, and the same amount as an "x base". I am not sure how to access more data, probably with bank switches? The library doesn't seem to be able to do that.

Here is a more complex version that should allow access to 256 Kits, 256 Sounds, and 256 Patterns (if these even exist). You need to create a new database for these as I changed the numbering scheme of the items.

Elektron_AnalogRytm_v3.zip

@RadekPilich
Copy link
Author

Hmm, I forgot that it's normally necessary to select the +Drive bank on the device manually before exchanges via Elektron Transfer app. So it might not be fully accessible via MIDI.

That sucks :(

Image

https://support.elektron.se/support/solutions/articles/43000622449-how-to-install-and-load-sound-packs-to-your-elektron-device

@christofmuc christofmuc added the Ready for release Will be part of the next release label Feb 1, 2025
@christofmuc
Copy link
Owner

Yeah, on some synths you have to activate the memory bank, but then you can normally access it even via MIDI.

I put the version we have into the release 2.5.1. Let me know if there are more open issues, we can reopen this.

@christofmuc christofmuc removed the Ready for release Will be part of the next release label Feb 1, 2025
@RadekPilich
Copy link
Author

RadekPilich commented Feb 1, 2025

Nothing besides patterns and sounds work as far as I can tell.

Only get hundreds of these....

At:
C:\Users\Radek\KnobKraft-Adaptations\Elektron_AnalogRytm.py(125): nameFromDump

18:39:40: error Adaptation[Elektron Analog Rytm]: Error calling nameFromDump: Unable to cast Python instance of type <class 'NoneType'> to C++ type '?' (#define PYBIND11_DETAILED_ERROR_MESSAGES or compile in debug mode for details)

18:39:40: error Adaptation[Elektron Analog Rytm]: Error calling nameFromDump: TypeError: exceptions must derive from BaseException

@christofmuc
Copy link
Owner

New version which should not throw the errors on the names. Obviously songs and kits have no names stored, or just at a different place. I turned it off for those types.

Elektron_AnalogRytm_V4.zip

@christofmuc christofmuc reopened this Feb 1, 2025
@RadekPilich
Copy link
Author

RadekPilich commented Feb 1, 2025

Patterns don't seem to have names on RYTM. Songs and Kits have names.

Anyways, as I said before, this is unfortunately not really useful, the patches (sound library in the schematic in one of my previous posts) that can be purchased / created and stored on the +Drive are currently not being accessed. And that's the main area of the device where KK could be helpful as librarian.

Everything that is being downloaded currently is the actual project data and while it downloads, I don't think it can be easily send to the device / active project in this partial manner but only as a whole project.

Here is some random video, where uploading of sounds to the +Drive starts at 4:30
https://youtu.be/vU5RuRSxvZg

@christofmuc
Copy link
Owner

Closing this for now.

In the video it seems the Drive+ is behaving more like a USB external drive than a MIDI sysex communication? We could do that of course as well, but that's a different epic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants