• thisisfraa

    I own an Akai APC 20 Midi controller, it has a 8*5 grid with soft buttons and 3 colour leds beneath them. I use it in software like Ableton and Traktor, but I'm having an issue with it, that's why I started making a patch in PD.

    The problem basicly is that whenever I wanted to light up a certain amount of LEDs (for example cue points when a deck loads), it causes distortion on the sound. It's an issue that a lot of people experienced that use these types of controllers (for example the Launchpad also has this problem).

    One solution is to delay the midi signals coming from the software to the controller, that way the LEDs won't light up at the same time and the problem would be solved. We're talking about milli seconds by the way, so it if works, it's fine.

    Anyway, the grid is made up out of 8 columns and 5 rows. Each column works on a different midi channel, but the buttons have the same notes. So it looks like this:

    Delaying those channels wasn't a big problem. The Midi In Device is Midi Yoke 1 (which Traktor outputs) and the Midi Out Device is my APC 20 controller. I made a [notein] for each channel and delayed the [noteout] for each channel with different [pipe] values, like this:

    That works just fine and it also has improved the distortion of the sound. But my ultimate goal is to delay each led seperately, but I've tried so many different things that I don't really know what I need to do now.

    One thing that came to mind was to use an IF condition on the note number. So if [== 53] would for example cause a delay of 100ms, [==54] would cause a delay of 200ms, etc... But I couldn't get that to work.

    Another thing I thought of was to use [random] and feed it different values for every note it picked it up, but again... it wouldn't work.

    I was also wondering if it would be possible to not only listen to a certain channel, but also listen to a certain note. I couldn't really find anything about that in the documentation, so that's why I ended up here :)

    I added the patch I created as an attachment, so if anyone has any ideas about how I should proceed, that would be wonderful.

    Thanks in advance!

    Greets

    http://www.pdpatchrepo.info/hurleur/mididelay.pd

    posted in technical issues read more
  • thisisfraa

    Yes that's right! I didn't think of that, but that's right, that way I'll always have a minimum delay of 100 and a maximum delay of 600.

    I added the patch as an attachment to this post, with some commentary.
    It should also work for other midi controllers like the Launchpad, those only work on Channel 1, so the other 7 ones I made in the patch just won't do anything :)

    http://www.pdpatchrepo.info/hurleur/Midi_Delay_Patch.pd

    posted in technical issues read more
  • thisisfraa

    I think I found the best solution, I used some of your code and threw a [random 500] in it to generate the delay times, I tested it and it looks like it's gonna work :)

    This is how it looks now:

    posted in technical issues read more
  • thisisfraa

    Hmm, I just tested your modified patch and something weird happened.

    When I load a deck in Traktor and 8 LED outputs get sent to PD, the first LED does not light up, the other 7 do light up (but there isn't much difference in the timing).

    If I'm correct, you put in a trigger with a bang and two floats. When the incoming note hits the trigger, the note gets converted to a float, gets multiplied by 3 and is sent to both pipes. So 53*3=159ms, the following note will be 54*3=162ms, I think that time difference is a bit too small.

    So I see what you did and I also think that it should work, in theory. Now I'm going to try to see what goes wrong and adjust the multiplier so the delay between the notes is higher.

    I added a some things to the code to strip the note off signals coming in from the APC, that way there's no need for send monitor state mappings in Traktor. If you don't know why people did that, it's because whenever you output a LED to the APC from Traktor, it works just fine, but when you press the button, the LED goes out (because of the note off). Mapping the same button as a send monitor state action (inverted) lights it back up again after you've pressed it. Stripping off the note off signal prevents the LED from going out after you've pressed it.

    Anyway, I'm gonna work some more on the patch and try to get it to work nicely for the LEDS. If that works, I'll be very happy :)

    Greetings

    http://www.pdpatchrepo.info/hurleur/APC_patch.pd

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!