converting an integer into a midi-message


    Sep 12 2008 | 8:40 am
    Hi,
    I think that's an easy question:
    I would like to convert the numbers which I receive from my gamepad (joystick) into midi-notes - so that I can make a plug-in out of it and use it as a kind of midi-controller (keyboard).
    Which object can I use or is there a tutorial which tells more about it? Didn't find anything so far.
    Thanx. Cheers Peer

    • Sep 12 2008 | 8:54 am
      Think I got it myself....
      midiformat seems to work.....
    • Sep 12 2008 | 9:01 am
      so the problem to make a midi-controller out of a joystick stays to be a bit tricky. Did anybody do this before?
      Cheers Peer
    • Sep 12 2008 | 11:03 am
      Quote: jazzisfaction wrote on Fri, 12 September 2008 11:01 ---------------------------------------------------- > so the problem to make a midi-controller out of a joystick stays to be a bit tricky. > Did anybody do this before? > > Cheers > Peer ----------------------------------------------------
      Generally, just check out all the tutorials on midi. Specifically, [makenote] might be a useful object for your purpose.
    • Sep 12 2008 | 12:03 pm
      hi -> scale -> makenote -> noteout
      You might insert a gate driven by a > between hi and scale to prevent the possible joystick's jitter to trigger notes.
      Best,
      Roald Baudoux
      ---- Original message ---- >Date: Fri, 12 Sep 2008 02:40:55 -0600 >From: jazzisfaction >Subject: [maxmsp] converting an integer into a midi-message > > >Hi, > >I think that's an easy question: > >I would like to convert the numbers which I receive from my gamepad (joystick) into midi-notes - so that I can make a plug-in out of it and use it as a kind of midi-controller (keyboard). > >Which object can I use or is there a tutorial which tells more about it? >Didn't find anything so far. > >Thanx. >Cheers >Peer > >
    • Sep 12 2008 | 3:23 pm
      This question is about basic stuff.
      Not basic in the sense of it being simple, but basic in that it resembles nearly every kind of basic and simple problem that Max users face every day. If there isn't a patch or a specific tutorial to look at, it's because the problem breaks down into three essential questions, and you simply can't make tutorials for umptyzillion versions of that [think Plato: the form and the shadows it casts].
      The tutorials address these kinds of questions, but are focused on specific cases. The idea is that eventually a beginner will learn to abstract the answers for themselves.
      The questions are these:
      1. Inputs
      How do I get data from the thing I want to use to make something else happen? What kinds of messages does that part of the patch output [type/range/etc.]?
      2. Outputs
      What kinds of messages or data does the stuff on the other end of my problem expect to have in order to work - an int/float? a list? a symbol?
      3. Transformations
      What do I need to do to take what whatever my source spits out and transform it into the message my destination thing needs in order to make the right thing happen? Do I need to take the message apart and rescramble things? Do I need to add or take away parts of the stuff that the source spits out? Do I need to change the numerical range of the source to match the destination?
      In turn, your *next* question or the next bit of building outwards from the stuff you've gotten to work will take the same form, except that the stuff you've already made will serve as the source or destination for something else. And on and on and....
      The tutorials are about handling operations at the low level. The exercise of trying always to think of patching problems in this way is useful because - at the very least - it'll help you ask more useful questions before you search the integrated documentation/examples, maxobjects.com, and the Forum, and it'll be or particular help when you finally post forum questions, since more detailed questions almost always give you better answers.
      Often, the pointers to solutions you get here on the forum will be something to direct you to some part of the input/transform/output way of thinking of the problem. Since there isn't a single arbitrary Max object to do every single arbitrary thing you want to do [although it's tempting to think that's so, given the number of objects out there], developing this particular habit of thought is, in my opinion, more useful advice than the solution to this particular problem, since it potentially liberates you from a lifetime of sequential patch grovels. :-)