Forums > MaxMSP

converting an integer into a midi-message

September 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


September 12, 2008 | 8:54 am

Think I got it myself….

midiformat seems to work…..


September 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



kjg
September 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.


September 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
>
>


September 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. :-)


Viewing 6 posts - 1 through 6 (of 6 total)