What's the best way to send NRPN data from Ableton?

OK, so I have a Prophet 8, and it needs NRPN data to control it effectively over MIDI (things like filter sweeps, etc) via envelopes in Ableton.

This is because the Prophet has 164 steps rather than the 128 steps of normal CC data, so if you use a CC for continuously changing data, it can sound quite bad.

I've been told by Dave Smith Instruments support that "Ableton doesn't support NRPN" which doesn't seem strictly true to me, because I can see the NRPN options there in the envelope editor. But it also seems that I'd need to be simultaneously controlling 4 streams of data from Ableton for NRPN.

Assuming Ableton IS in fact capable of doing this (and I can't see why it wouldn't be!) - what's the best way to send NRPN data from Ableton to an instrument like the Prophet?

Options I've considered include setting up a patch in M4L, but this seems like using a sledgehammer to crack a nut. I have also considered simply drawing "stepped" envelopes rather than smooth lines, because this seems to work, but it's not ideal as you don't get the full range out of the Prophet and it takes a lot longer to program in Ableton that way.

I have also tried recording MIDI data from the Prophet, and while some NRPN data does seem to be captured, playing it back again yields nothing like what was played in - just a chaotic unpredictable mess. So perhaps Ableton can't record NRPN data correctly. But this isn't such a huge problem so long as it can transmit it effectively, if it's programmed in correctly.

15 followers

timthecomposer 4 years ago | 1 comment

11 answers

  • gustavo bravetti
    contribution
    3 answers
    5 votes received
    3 votes

    EDIT: [I Just did this: http://www.maxforlive.com/library/device/2203/nrpn-gen]

    Easy with M4L.

    You just need to send a message like this: 176, 99, MSB, 176, 98, LSB, 176, 6, XX, 176, 38, YY to the MIDI out.

    So lets say we want to control in DSI Tetra VCA decay for the 4 voices.
    In the MIDI reference we have 1570 as NRPN param#

    So lets get the MSB val:
    1570/128=12.265625, we keep the 12 as MSB

     

    Get the LSB val: 1570-MSB*128 = 34, we keep 34 as the LSB.
     

     

    Now in M4L create a Message object then write on it:

    176, 99, 12, 176, 98, 34, 176, 6, 0, 176, 38, $1



    Create an INT object and connect it to the LEFT Message input. 

    Now connect the Message object to the MIDI Out object.

     

    Change the values in the INT object.

    If all was done properly, each time you change the INT value, all the values of the message are sent and $1 is replaced with the INT value.

    Now you can connect a Live slider o Live knob object to the Message object instead, this will allow you to automate that parameter using envelopes, etc.

     

    Just a WARNING, keep the XX YY values inside 0 -127, if you go over you'll probably need to restart something ;)

    If someone need some extra help feel fee to write me gbravetti at gmail.com

    2 years ago | 2 comments
  • warper
    contribution
    10 answers
    9 votes received
    2 votes

    Hey,

    I am a very simple Live-user like you, so i have to be very careful about what I am writing... From my experience, since years of using Live, it cannot work with NRPN. Same is with Sysex-Data. I think, You know, Live also has no Note Sheet printing, and other stuff, "traditional hosts" bring with. So, I think, LIVE is designed to be a very modern tool, stabil, fast, slim, and maybe.. don´t bring every special feature... Maybe, there is any possibility mith MAX for Live? Did You check this?

    4 years ago | 0 comments
  • klassix
    contribution
    1 answer
    2 votes received
    2 votes

    Hi Guys, It has been a long time since your last post but I am interested about using my hardware synth with ableton.

    Here is my problem.

    I have Ableton Live 9 suite + Push + minimoog voyager + dave smith instruments Desktop module + M-audio axiom pro keybord.

    I am using the soundtower pluging for my 2 hardware synth (VoyagerplugSE Prophet PlugSE) and it's working perfectly if I use my midi keyboard axiom pro to control either the prophet 8 desktop or the voyager (with the soundtower plugSE or not) or I can use the keyboard of the voyager.

    As soon I use push, I can control any automation and play on both hardware synth except on The Dave smith Prophet 08, when I trigger the note with the Pad I have  a weird modulation adding to the note like an LFO, Vibrato, pitch bend.. It's not doing it on every presets.

    With the M-audio axiom pro, no problem with that.

    It's a shame, I would like to use push as the centre of my home studio wich is an amazing tool for controlling any automation !

    Sofiane

     

    2 years ago | 2 comments
  • DRAGONTHEORY
    contribution
    8 answers
    6 votes received
    1 vote

    I agree.... This is something I am attempting to figure out myself. Would love to Automate filter sweeps from the prophet 8 itself.... 

     

    4 years ago | 1 comment
  • timthecomposer
    contribution
    3 answers
    2 votes received
    1 vote

    Hi Dragontheory,

    What I have done in the end (although I did attempt a conversion bit of Javascript in M4L, this was long winded and not brilliantly reliable) was to simply map (on the Prophet) the things I wanted to control in Live (e.g., filter cutoff) to things I didn't want to control (e.g. modulation, aftertouch) that respond to CC messages. This can easily be done in the "Modulators" section on the Prophet.

    Not a perfect solution but at least it works!

    Another useful tool related to this is a Max patch called "External Instrument MIDI Control" that allows you envelope control of 8 CC's in Arrange mode in Ableton (as opposed to just in Clip mode), of an External Instrument (which is how I and I guess everyone else has their Prophets etc set up).

    Hope that helps :)

    Tim

    4 years ago | 1 comment
  • ecornell
    contribution
    1 answer
    1 vote received
    1 vote

    klassix - The Push pads send aftertouch messages and I believe that many of the Prophet 08 patches respond to aftertouch (the keyboard sends aftertouch messages too).  

    You are probably picking patches that respond to aftertouch and then holding notes at varying pressures, which would send aftertouch messages.

     

    2 years ago | 1 comment
  • timthecomposer
    contribution
    3 answers
    2 votes received
    1 vote

    Hi there,

    As described above I did eventuially get the Prophet talking to Ableton, more or less, but there is still a problem: the Prophet doesn't respond to the curves or lines of Ableton's envelopes, only to the distinct points (i.e. the little round circles that you can drag, and not the smooth lines). I suppose that's fine if you record your own automation as that records loads of points. But the other MIDI gear I have responds to the smooth lines too, continuously (the first C in CC! :))

    Also, 0 on the envelope's Y axis corresponds to the patch's initial value for that parameter, not to 0. So if you have (say) filter resonance at 50 in your Prophet patch then 0 in the envelope corresponds to 50 on the Prophet, meaning that you can't go below 50. It also seems to mean that the 128 CC positions get shared out between 50 and the max (127?) on the Prphet. So you have to set up your patch accordingly... i.e. the CC data is sending a relative value not an absolute one. This is annoying if you have set up a load of envelopes and then change the setting on the patch, because your envelopes are then sending proportionately bigger or smaller changes to the Prophet, if you see what I mean.

    2 years ago | 0 comments
  • Venetian
    contribution
    1 answer
    1 vote received
    1 vote

    I've been looking into controlling the Prophet 08. I've designed a small program using JUCE that will send out the appropriate messages. There are two ways you can do this,

    sending CC data:

    eg 176, 29, x will send a control change message (the 176 is CC channel 1), from the Prophet manual this will control noise level, and then value x (0-127)

    This should be fine from Ableton as it supports CC messages. To check this out - make sure in Global on Prophet that you have MParamSend to CC or All, not to NRPN

    This other option (MParamSend set to NRPN) would need some interpretation as you will get 4 numbers in a row. These are the Most Significant Byte and Least Significant Byte of the Parameter number and Value repectively on CC channels 99,98,38 and 6. This is all in the DSI manual.

    This is the method used in the small app I'm making. It will eventually interface with game controllers and allow you to choose which parameters you control in the Prophet (or Moog once I get to that too).

    However, if you want to record the automation, you'll need to store and send the CC values. So use the first method above. When I treid it, I couldn't get Ableton to record the CC values. This may be simply that they don't allow the recording of external control change messages. I know that they don't allow Polyphonic AfterTouch and things to register in Live. Apparently you can record the CC data in Arrangement view?

     

    2 years ago | 0 comments
  • gustavo bravetti
    contribution
    3 answers
    5 votes received
    1 vote
    2 years ago | 0 comments
  • zurie
    contribution
    1 answer
    1 vote received
    1 vote
    Copy and paste this into Maxforlive.   
     
    Left value is the value of the knob (0-127) 
    Second box is the device ID
    Third box is your LSB
    Fourth Box (Brown) is your midi channel
     
    You may have to Control/Command click the p NPRN-ER patcher and setup something custom, I am using this to do a ER-1.
     
    <pre><code>
    ----------begin_max5_patcher----------
    2419.3oc6bk0aaiqE94jeEBByiIFbQqWf4BzVTf4gNEA4deqXfgrMiCmJKYH
    QmIcFL+2GtnMpEaZYGUmNoA01ha5vuy46vCon3ec8U1KReljaa8er9h0UW8W
    We0UxjDIbUw0WYuI54kwQ4xhYugjmGslXeiJOF4YlLcTYJ4ruESjIUlR5NVL
    gw91Vh5FYaa8aEYkraCMgmorsQEItMhs7QZx54YjkLUUfdAtybuwBhBlgBBb
    bQ2XgBko3MCT0bOjlvxo+o79DLCTjJckTbRW762hfN1MJaRzFkn9tLZTrcsP
    oDYoTAazSWlFmlojH.u4a7ArgTrNKZEkjHE8RYXwZs5hg9dN9h55CBC.Nheg
    QPWuP8lZw5GnwwxpNuD.qa+dJj7S3obajehJaANteSqu1aEKqGJD.C8j2u56
    rHI3vMPTxZkkCxGLCzSA1lktMMiQSSjP6LbXesxNVplFXlennT+80WK93FCs
    yioOQlspgUwSQYUlK28+g29IxSjpLiVx3kOgPVESZfCvBSi5Op53cIE2XY+P
    bZDa.1AburCrfK33TQN3+Dn9rp01lQx4XRTI9A6id3p2iD.fld0OvACkZSni
    KWyJM+QXWTKKpsQYbvhQxlSRhVnTqk2vEoYqHYlAS5bQTOckF3.1GOKzA3DJ
    LxBKAfVvPKd7dt2rLZGQ0bDfW6QUu7HNrOOhIt66Xj5ekWXsVXtJrHi2QRen
    L4xzaB9wzjuJrZaZAoWfzj0CZVqUx7G4TuphNXwJsnA8j2tDJqZ3AfJeIsr7
    qijixMNVPxNlAd3brEb2LighwMhZM.D1WZwb3AfdrssPfzmb.R7IxQW+qQG8
    FdzJq2mFuxt+gWBK7zxs0PgNPTyecHVJXuLuNV0xwEp+T15iQUR9CdOtSTEL
    Kp0Bwek4zBFcbk8xpevGZKvC2hPcX6BpXvzBSi1eOZuwP.txTw0UZp3OfoRX
    +wp3an1WWU4LB3enn5furQ0465nrZZxpPiIrtfKhv5b.Bu7xXc7D+T1Jb29X
    +yZXci417VXc60P2+E1PmS8OKSeI7sou71zWF+3oas978284a+38m0wS0nAN
    FLxnKpdjwvQLxHBLpQFAMEMRV63o4JAdTsY45yOhOUnsaajrdn1ah9cE94WE
    uKGKTIUGucF4IZY8qCLNJiCPLN5rKSI+O64TGR8lT9LOR1QksTYrxkhTMlFB
    bUSwQNSGOeYLoN9g03ov9JNc4WIqZd6sS2RRnIsmTXU1qHODsKlMuox.hl0a
    9ODsjLXk60IkvKCcUZhPHzvZQxk2NtAiJrI2lcFYIRh11Sk41FbbYfLy4cxc
    4KhxDphhXcQkYxRSi0yppdwjGXEYukljzBEYoaGNyL55G2ScWjxyby9ZaYN4
    74MoxcNmdylKlfnd4hhiK365M+yQIzMQLBipTAHPUlp38eLeYVZbrV+UkyS8
    jyJtU7RxePWwdT4Ypg9lWb51RiH6Js7J5ZRNSOMVz5b8Tp8nTX3TmytEEj04
    Lxlsw7NSqFixJp5cTd4raz4qWWylL1lNN0ReuAJn6E8V0+rJ9qYY53b7.gPL
    XXDC4CE6JY3H0WdAxK.MHHs8f1fz1xMJFa2pN8yUGLnhiKvhgBtna.FPU04y
    WkG.v.MjIgVr2vKN1axwDXwYI3BiBvv3fLLNPiFKJSY.Gig+nE.RqfPx3y21
    5187ulU63iPYODw9lC+vLMOI4xWxwfPm1ApLbvJcXZnwxz.SiJYIKleSmFXG
    ueXGoFzGCTKcq2o3fCdgC6JlvWdO3VOzse3Cy+z+68+l0O+y+2KD6e05aFpB
    BC5cB1+fWOJBrPQ7qWfJBTgF.FLdEAJ7Uih.4c6c2eQxHP3BEg6InHBtDTDK
    S2roU3RUZh2CrPdV28t6e2uJzB1mUjr.BKQRf5Yu4rGjLXPjz2bjraTl89j+
    99h5dXKkGnWFHGdFfbuezfbjkZz2WDHubDzSBxc+QBx+vu7tO+4O9I6Wj3Uf
    pYF2coiL24ryOTf8Kgksu24Bqw+fg0mcG2vvylcM50FVuuUg6mfVdV+jyjt5
    aEyBB4n1cQvSH.P3E5hucLgTexKB2XuYusXbmOZDxJLbx4QNMCF04DVZAD3M
    dza7nKAdD1JLXx4Q9NMlgwovifguwidiG88+gCwrVXEK96EaE+5P+J2tmU+e
    X5HznvCgdxvCck6vqQ9rKfidABcln45TszfVm446T.hHmSc9NPvqs46ruUFO
    Z4WEQpA3+AmNxwdHCNFoGCwMTiiZnoQyDfmQMiraedGaGbf0XoXqwAU62ixO
    0ZuFnjmYiPWxnkB9qZ7AF.NF7A+uM7I7nLeP+qy74nfG32W3YwNFiGzVKjfl
    P5tqoBBkQaGdZgCM5PfPJO8HE4DA5c6azDX8rOGQ9OrJYg3cf6fvzzLFdt0F
    5J5btjNW99URYe6h3AaWnzJ1yMPP3Iroaftmymrc899UXsOvN5T1iD42u1IO
    cW1xRq6h.Jrz6ZqH4LZR0tf9K0wf2pfORWshjz18BWqtMklvJjuB.Dpr9Kux
    scvOqn4hsZ6JyCh7X6ndF1QE8SrA8yWdIVrmTMRjEaoNizMSfLeDnL5hPhEO
    7AyPY3ECJarLiFIqEggMd1NEWAUuPEXGP2qPXmImQaLJ.8tbzbfWgValJyhc
    T2nr1Ppm.BRYsotBFfj1W3ftWgDC4N0VafWgVaGg2X3EgDCCe8wOLWlAikeT
    L0gB9gx+afjJf87juFghqlXFgw86KHFAzz3c6I3Kyh2EoNblBUCfBK123ZWo
    dSkvNAcuB4N8d1fco+C3eGdYoGQlHyfKKYFaBeI7xQlMcZSho5doHyGwndmC
    ItXESJeijKN0hTu.t64HK5ndQQWGmtHJt38+rZQDL3sFs9MLs6YKjruquXBp
    2m91HdwaUeOQfqYoNDETxAqHqcQ4tHbm2veykn.ikH7DIQ9Z89gbspiju7RD
    9fRTvDKQGTqo6LZBjH3AkHmITh7L1xdpjHWizZ9SnD4XLFAGgDobX15LvPHL
    sN6KZctWz8LuX3y6h1m0ExQUT92a4jtZTfOde4ijox6uFLouT5X2PG0ZoiC.
    H0x+6vMtzOXShVtjjX3YCHIlrQuvhM5CDFhUmDZ.W0Mz2M.4N7oNS6wGGbSK
    Y24UWu+smfs9NQxzcSj8n1CR18toir6tKiziUn4yQPrX4sN5WJ0weQ6.cYLm
    eikkbNMQX7RFtFWWKehCEONv29gpXugaiQKIGx.f96q+GtjnLuB
    -----------end_max5_patcher-----------
    </code></pre>
     

     

    3 months ago | 1 comment
  • DRAGONTHEORY
    contribution
    8 answers
    6 votes received
    1 vote

    So Complicated for such an amazing synth...

     

    2 months ago | 0 comments

You need to be logged in, have a Live license, and have a username set in your account to be able to answer questions.

Answers is a new product and we'd like to hear your wishes, problems or ideas.