avg~ also takes bangs to reset the window… but - aha - average~ uses a sliding window, thanks!

So I’m driving a sequencer with line~ going from 0-1. It’s fun, and I’m getting into some interesting non-linear stuff by modulating the signal. However, I can’t work out how to make the thing go backwards, midway through the cycle. If I invert the signal it goes backwards, but jumps to the opposite step in the sequence at that point. Seems like it should be simple…

Any ideas?

1 Like

hmmm… sort of found the answer here for anyone interested:

Can anyone refer me to a resource to really really learn the MSP side of the house? I feel like I’ve spent the last 2 years learning the Max side. I’ve started working through gen~ for Beginners but still feel like this is a few steps ahead of where I’m at. I took the Kadenze course and it helped a lot but I’m still craving a “MSP 101”.

Have you done the books (2 volumes): https://cycling74.com/articles/book-review-electronic-music-and-sound-design? Lots there, and a proper course…

9 Likes

@_mark my goodness this is exactly what I was looking for. Thank you so much.

3 Likes

@sonoptik and rob ramirez at c’74 have launched a max/msp + jitter + m4l + gen~ slack for more direct community building and engagement. it would be dope to have y’all there :slight_smile: : https://join.slack.com/t/maxmspjitter/shared_invite/zt-e29gnmrr-l150Hsh7DozNzA~vT6LiRQ

15 Likes

Oh, heck yes. Thanks for the link.

1 Like

Yea, thanks for the link @dan_derks super cool! :slight_smile:

2 Likes

I have a problem with the jweb-object in Max. I am currently trying to run the web version of Orca inside of a jweb-object. The website runs fine. I can write operators, select them, copy and paste them. However, I don’t seem to be able to send midi out from orca via webMidi. Another problem is that I don’t seem to be able to open the console/inspector of the webpage I am displaying inside of the jweb-object.


In the video, I am trying to enable my IAC midi driver. This is normally done by writing the “$” operator like this “$midi:1,2” this would enable midi in and out when banged. However, as the video shows the midi drivers doesn’t get recognized. The difficulty of troubleshooting this is further increased by the fact that the console/inspector doesn’t seem to work inside of a jweb-object.

I have done a bit of research into the jweb object, and it seems to rely on CEF. I am speculating that the version of CEF that Max uses for the jweb-object might not support webMidi or is simply just outdated.

what are you guys thoughts on this? Do any of you have experience working with jweb?

A hopefully simple Max question. I’m using Max 8.1.3 and have the following patch:

As expected, if you change the float at the top between 0 and 1, the colour of the lower boxes changes accordingly. But if you change the float to a negative value, the colour of the blue box continues to change, while the red and green boxes stay black. Every time you hit a negative integer, the blue cycle starts over.

Why is this? Is it a bug, or a convention I’m failing to see? It persists if the values in the messages are changed to integer zeroes, or to other fixed values - and I just noticed that if I change any of the messages to ‘bgcolor $1 $1 $1 1’ the attached box fades from white to black between 1 and 0 (as you’d expect), but then cycles through the blue values below 0.

I want to say bug, but I’m all too aware that lots of things in Max might seem buggy until you understand what’s going on…

1 Like

It was my birthday recently - and given the present circumstances, my girlfriend had the neat idea of buying me this device: https://shop.playtronica.com/touchme

It relies upon conductivity via touch and sends out midi notes of different values depending upon the scale of that touch conductivity. More contact means higher pitched notes.

When I received it at my house, there were no instructions or notes (and i can’t see my girlfriend due to the virus :frowning: ), so I just plugged it into my computer and searched for it online. Playing with it, and looking at the price my girlfriend must have paid - I was a bit disappointed because it’s not really a musically useful device as it is and it’s very expensive for a 10 minute novelty.

The beautiful idea behind the product and the gift idea is that touch is expressive, so it seems to me like a missed opportunity to translate that data into something binary and steppy like note messages.

I started looking for maxforlive devices which could translate the incoming midi note data to mappable CC messages for parameters like cutoff, decay etc - the best of which I found so far was ‘KEYPITCHER’.

I’ve had some luck with this! Used it to control the filter cutoff of a maxforlive Subharmonicon emulation:

and here it’s mapped to the decay of a hihat and snare sample in a drum kit:

So i’m quite pleased now, but still feel like it could be better.

*The CC values still jump in a fairly steppy way - does anyone know a device which could be used to smooth/glide between incoming CC values?

*The TOUCH ME device seems to output 2 octaves of notes, but I haven’t figured out a way to properly scale/attenuate the note output or CC output to with precision.

Obviously the best answer to all of this would be to just write a device myself in max, but i only have limited experience in PD and don’t have a full max license. Anybody have any devices in their arsenal which could be useful here? Thanks in advance :slight_smile:

2 Likes

Usually I think you would use the M4L Building Tools plug in set https://www.ableton.com/en/packs/max-live-building-tools/
there is one in there called ‘Max Api CtrlMIDInote.amxd’ which maps midi note input to any CC with options for scaling, smoothing and so on.

3 Likes

amazing! absolutely perfect. thanks so much, hadn’t even come across that device before :sweat_smile:
wonder if my partner was sending me a veiled message with this gift? :face_with_monocle:

Hello. I have hacked my way through max for live and created a program change up and down program for my prophet-6 and i am trying to make one for the roland d-05 but i can not seam to do it and figure out a sort of list and or sequence of numbers for the program changes to go through. the prophet was easy as it is 1-600 and the d-05 is 1-86 and then changes banks so i would need to skip 86-100 and go right to 101 from 86.

I tried looking this up but i think my lack of knowledge for what to even look up to research ways to do this.

2 Likes

Have a look at the [split] object ?

not sure if this is the most streamlined solution but it works

----------begin_max5_patcher----------
475.3oc0U10aBBCEF9ZLw+CM81wLPU9ZWr+HKFSQab0HERontX1+80OrNcCk
tLbwcCM71CbNO8s8z8CG3AyK2Qpgfm.u.771KU7zZJEOqfGr.ua9ZbsNPHir
sLeEz+vbBxNgV+AP3QQ5BsjLtGC+TsBKl+JksbFmLWXRZXPxn.ePXTrZ.kMJ
R9DMJ.L09QrlBJaMQnSN5D0xFgUNzJazDuUQL+dHkISzT8ruObfZTN3+qYU.
n.ZqzFbUZGiT.FG4DrgsCK5pv5eyXV5uSZC4rqRbTp1eQiUCR7C9W3u0aoRT
.n13M0k8yYZKNInCdG+S48V.6yfz31.MwEPuWM1lhbBuMpl3.UnwZ6KpK6qq
SnUXNtfHH7YDFNeslsfK6sxyt4X1xaC2HGZLYrw6FrMoGtlx91cTZFTS7kEi
5xF9b6e1d8C3DPVPpETFVPKYmDUpInKur6b9RbIc1hpGxm5BGPXWILoeyWm.
lcdPk7ExMkpcA8PEj4pgh5EfQNYnA+wKvom65GWfC6gJH0kBXRq.e3DKtpZC
gWe3KLYR1mZUotFS8MuSYl2MsSfbxFp8SLcKfXtrQkP1kpgqKP3t3CsugEkR
hYMTKzJVUoV2JjIa+TWgMToaYNbfLfO.6iGYk.
-----------end_max5_patcher-----------

edit: using split as @chapelierfou suggested is much neater

----------begin_max5_patcher----------
386.3ocyTFsSCCBEF95tj8NP3VqlAsat4qhYYg1QTVZgFfNqYw2cgCE2h1YW
zYh2.geNve+NmC8vzII3BUG2fQOfdDkjbvoj.ZdkjnPBtl0UVwLPfXI+EUwN
bZ+dVdmEzuAQx+PUrEzbAda1Q0Fls7Yg7oMZdoM3JgPtaVp6nvTF0ORcin0w
CIaqExJtEbmdhpp0FkIQ4fl80Fd35wBoyn0vtuMche1Mkd4v1VWv0ChE46vZ
YFP0p49o4yFgJxvTQOZflUysb8FtjUTArM6rHiSQ3Bl7oeE2moHaZpDVzxEC
kQnqFOirJ2Ole+HIjrQRHCVlS+Cq1zwQaN8eUsNXOtRH+xCb.A+FeJWXTs5x
3MGe5hNAjsbiUHYVgRdZTjPTmOsewF5agPjQML+5Y3k.H7UcEA7mlQ6Korll
8bso+HAub8w6TZ+5kog0BYXcneCq46EwiDZmvLsqQ155ha0vmHtaQ+upw0ps
bsrU.WfSwSq2Z3ohz0eZZXAtfmTSm3B3cjhhlUM
-----------end_max5_patcher-----------

edit: another option using if/else

----------begin_max5_patcher----------
409.3ocyT0sSBCCF85QBuCMMdmSxZElCuvWDCgzM9DJYztz0gyP7c29yFh5l
rnXh2rl98+47c5NLdT.NUVCkXz8nGQAAGLVBb1rVBZMDf2wpyxYkt.whpcof
BG13iuxYUlt8FxsGsVvzYa3h0KUPl1W+6hlLKDQoymDEhlEY+RoShPKZywTX
tHGzt1PNwprR2Zl9dCTrcfFTKAAKMGrNiZc5SP+RA3aMFGhvoLwZLZgKjWGO
xdZNBGNtgmMf7HB0PsCX3q6hJhOOSPRHNNXtmV5kIncyDjdAKWn+KvI+IzUb
B5ATRLRuADHxTDjWBnnN0BeGAPHNnSnwtio+PwP+TvuB+8puomeoFm7uRc6a
ONmK9xqbGDrN9DWTJqTYsUtA0nSvwJnTyELMWJNIn3OFjTsxPgVf1+ZXvCP7
PF.6+drQcA5GYn.lbQZ2f3WRO7aT2KbVQwdPU1TCeuMp7sRWRIg96bg+tWMh
UvddaJdwFloLxbsQiWobiLtNdJtIaoYDDU71srE81V6dHILp2xBlGmtGbiGY
B3M.mveaa.
-----------end_max5_patcher-----------

edit: OK lol I got it down to a single object by using expr. yes, I’m still in lockdown, how did you know?

----------begin_max5_patcher----------
369.3oc0S00RCCCE84NX+GBW7gUsNR6VmEQ8OhLFocWlYzkTRSmUF9e27Q6b
rOvg3K9RC2y8iSNmb6tgCBfbYKVCjGIuRBB1YPBbXVjfdf.XCqsnjU6JDDMa
xQED0kiuzgJyWeeR5dzJlt3MtX0BEVn8yOaxXZDYF09M08MIYLkLuuEyb4hR
T6XI9.TYitGN464qXaPMpVfBVdIZSR6S5aP+QE5YFfHBjyDq.xbWIeNbf8zb
D8WH6I+rriSe3+ptw2MhbuB0XqSX.1VoHiFM5FdL4ER1rPxsDWvcj3ogglit
jO8bWVSPXX3YcP5U3fTmClj8Ksv3K6Rm3N9ICkbwI+b3te1DG4Y0xFUQ+D60
D4f63RrVyELMWJNrpI9pt7yy0SX5UQH8rD1oXVU0VTU20hmKy5vZoxFmE4i4
Ber2RAEtk22heWDXJyin17B1nbWQnc1Tnqa4RTIZ3tAXPrp0RsaiSXVtqqXd
c41LGNvTvW.wtmP6
-----------end_max5_patcher-----------
3 Likes

that´s great, … showing some neat ways to do more or less the same thing

1 Like

Thanks all split objects has me started and some of the other ones might be a bit over my head. Thanks so much for the help. Next step is to learn how to save the states of the bank and program. Currently I have the program saving and loading but not the bank.

That is a strange one. I don’t know if it is a bug or intended behavior but if your patch might be producing negative values I’d throw an [abs] in front of it and call it a day.