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

Issues with ableton push 1 (midi learn, knobs, note input) #1405

Open
mward25 opened this issue Jun 1, 2023 · 14 comments
Open

Issues with ableton push 1 (midi learn, knobs, note input) #1405

mward25 opened this issue Jun 1, 2023 · 14 comments

Comments

@mward25
Copy link

mward25 commented Jun 1, 2023

One quick note, if you want me to make more than one github issue out of this let me know. For now, I was just going to put all of the bugs I have found in relation to this subject here.

1. Steps to reproduce the problem.

  • Step 1: Start Radium.
  • Step 2: Go to midi preferences (via midi->midi preferences)
  • Step 3: Hit "Add..." under input ports
  • Step 4: Select Ableton Push User Port (For me this was option 3)
  • Step 5: Click OK on error message:
    screenshot132
  • Step 6: Select "(click me)" on track 0
  • Step 7: Select "New Sample Player"
  • Step 8: Load a sample (Currently tested with bell01.xi from the kiarchive)
  • Step 9: Touch the knobs on top of the ableton push
  • Step 10: Listen to the mysterious noises as radium plays very low notes
  • Step 11: Hit F-8 to enter mixer
  • Step 12: Volume Warning Just wanted to let you know that the next step will cause the volume on the instrument to change drastically.
  • Step 13: Right Click on bell01.xi's volume bar and select "Midi Learn"
  • Step 14: Rotate any of the knobs on the ableton
  • Step 15: Observer how the volume jumps from -39.94 to 35.00

I expected this to happen:

  • I expected the knobs on my ableton push to not generate notes.
  • I expected the knobs on my ableton push to effect the sliders in the modular mixer more gradually.

This is what actually happened:

  • The Knobs on my ableton push produced notes (the notes changed chromatically based on which knob you touched)
  • Turning (or even touching) the knobs on my ableton moves sliders to their extreme values

I've tried this recipe about 4 times, I rebooted after one of those times.

The unexpected behavior has happened 100% of the time

My guesses as to why I think the bug happens

I think the bug happens when radium misreads the inputs on the knobs.

  • My Guess is that most knobs send a signal from 1 to 127 to show how far the knob is turned.
    But the ableton push sends a signal of 1 or 127. Which shows which direction knobs is currently being turned. The amount of these signals received then determines the speed of the knob.
  • I had to set the "incremental" parameter in the custom controller config I made for bespoke synth (See below for config)

The bug does not seem to happen when:

  • The ableton push's touch strip works well with midi learn. (Though it still generates note output when it shouldn't)
  • Other buttons (such as the play button and the quantize button) do not generate note output (this is a good thing)
  • I use bespoke synth to send a signal from a specific knob to a custom input port in radium. Here is a screenshot of the bespoke patch for reference:
    screenshot133

2. Which version of Radium are you using? Do you know if an earlier version has worked?

I'm using the officially distributed version of radium, 7.1.89. I have not tested with earlier versions, if you would like me to dig a little deeper let me know. I'm happy to do some extra testing with earlier versions.

3. If relevant, which operating system did you run Radium on?

I'm using Arch Linux.

Here is my ableton push 1 config for BespokeSynth (just in case it is useful):

{
   "groups" : [
      {
         "rows": 1,
         "cols": 9,
         "position" : [ 0, 0 ],
         "dimensions" : [28, 28],
         "spacing" : [30, 30],
         "controls" : [71,72,73,74,75,76,77,78,79,44,45,46,47,48],
         "messageType" : "control",
         "drawType" : "knob",
         "incremental" : true
      },
      {
         "rows": 8,
         "cols": 8,
         "position" : [ 0, 35 ],
         "dimensions" : [28, 28],
         "spacing" : [30, 30],
         "controls" : [ 92, 93, 94, 95, 96, 97, 98, 99,
                        84, 85, 86, 87, 88, 89, 90, 91,
                        76, 77, 78, 79, 80, 81, 82, 83,
                        68, 69, 70, 71, 72, 73, 74, 75,
                        60, 61, 62, 63, 64, 65, 66, 67,
                        52, 53, 54, 55, 56, 57, 58, 59,
                        44, 45, 46, 47, 48, 49, 50, 51,
                        36, 37, 38, 39, 40, 41, 42, 43
                      ],
         "colors" : [ 0, 127],
         "messageType" : "note",
         "drawType" : "button"
      },
      {
         "rows": 1,
         "cols": 1,
         "position" : [ 280, 50 ],
         "dimensions" : [28, 100],
         "spacing" : [30, 30],
         "controls" : [],
         "messageType" : "pitchbend",
         "drawType" : "slider"
      }
   ]
}

Anyway,
thanks again for a sweat music making program.

@kmatheussen
Copy link
Owner

Hi, sorry I forgot this one. I read it on mobile.

Regarding point #5, you need to ensure radium has ability to set realtime priority. I don't know how you do that on Arch. I'm using Ubuntu, but don't remember how I did it (maybe you don't have to do anything anymore...). Maybe you have to add your user to the "audio" group or something like that.

Regarding the actualy problem, it's very difficult to fix since I don't own an ableton push. But I understand it that you think it sends you increase/decrease values (i.e. delta values) instead of absolute values? If that is really the case, then it doesn't work with radium. I have never heard of midi devices sending out delta values before. I can't find any specification about this either. Do you know any open source software that works with this board?

@kmatheussen
Copy link
Owner

It shouldn't be much work implementing an "incremental" option though. I'll put it in the TODO-list and hopefully it'll be in the next release.

@kmatheussen
Copy link
Owner

Ah, I googled "delta values" instead of "incremental mode". With "incremental mode" I found some useful hits:
https://www.google.com/search?q=MIDI+incremental+mode

@mward25
Copy link
Author

mward25 commented Jun 4, 2023

Bespokesynth is open source, and works with "delta/incremental" values. I'll take a peek at it's source code to see if I can find anything there.

If you don't mind, could you tell me which version of Ubuntu you are currently building radium on? I would like to be able to help out, but I have had little luck with building Radium.

As for my issue with the knobs producing notes. Would it be possible to blacklist them from note input.
I think it would be fairly simple to implement.
The UI would be as follows:

  • Go to edit->preferences->Editor
  • Select at the bottom a button labeled "Note Black List"
  • This would bring up a text editor (identical to the one in help->"Edit Keybindings...") with the following contents:
# Please list the name of the midi device (exactly as displayed in Edit->Preferences->Midi) followed by the midicc values you would like blocked from the editor.
# EX: Ableton Push: Ableton Push User Port, 71, 72, 73
# will prevent the editor from interpreting midicc values of 71 through 73 (from the instrument "Ableton Push: Ableton  push User Port") as notes.

NOTE:

  • In order for the above solution to be user friendly, the user must be able to copy and paste the instrument name from Edit->Preferences->Midi->InputPorts.

EDIT: Fixed white space error

@kmatheussen
Copy link
Owner

kmatheussen commented Jul 14, 2023

Sorry, I didn't see your question. I'm using ubuntu 20, but I think the build-machine has ubuntu 18 (to ensure more people can run the binaries).

kmatheussen added a commit that referenced this issue Jul 14, 2023
…ce for this to test with, so this feature might have to be tweaked a little bit after getting feedback from users. Implements #1405
@kmatheussen
Copy link
Owner

I've implemented "incremental mode", but I need your feedback whether it is usable or not. I'll make a release soon that you can test with.

@mward25
Copy link
Author

mward25 commented Jul 14, 2023

Awesome. Thank you, I'll test it as soon as I am able to.

@kmatheussen
Copy link
Owner

Just released 7.1.90 with support for "incremental mode".

@mward25
Copy link
Author

mward25 commented Jul 17, 2023

I have just tested it out. It works perfectly when you are moving the knob live.
However, when recording automation, it does not work correctly (it records extreme values instead of those displayed on the slider).

I've uploaded a video so you can see what I mean:

radium incremental mode

@kmatheussen
Copy link
Owner

Thank you, I think this should be fixed now in 7.1.91.

@kmatheussen
Copy link
Owner

Oh, and 7.1.91 has been released, but I haven't announced it. It just contains the midi-learn fix.

@mward25
Copy link
Author

mward25 commented Jul 20, 2023

Oh, thanks for letting me know. I tested it earlier today and pretty much everything worked great.

Also just wanted to mention that in the 7.1.90 update, radium got a massive performance boost for me, so that's awesome too 😄.

Anyway, thank you again for implementing this, I'm going to have a lot of fun mixing music on my push. If I create something I'm proud of, I'll share it on the forums.

@kmatheussen
Copy link
Owner

Great to hear, and interesting to hear you got a performance boost. Did you get it between 7.1.89 and 7.1.90? How did you notice?

@mward25
Copy link
Author

mward25 commented Jul 20, 2023

I thought I got the performance boost as soon as I updated to 7.1.90. But I just went back and ran the older backup version I had (7.1.89), and now it is working at the same (fast) speed level as 7.1.90. So that's weird... but I'm not going to complain about things unexplainably working better.

Anyway, I mainly noticed improvements in the speed of the UI (I'm also no longer having an issue where some tabs in the settings UI where not accessible from other tabs). I also noticed an improvement when typing in dialog boxes, in the past the text would take a little bit of time to display, however now it is displayed instantly.

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

No branches or pull requests

2 participants