patch repositories?


    Mar 16 2006 | 10:18 pm
    hello max/msp friends,
    I was wondering if there is a good patch repository on the net?
    I know about the object and library site where I can find lots of really cool objects and components, but what about completed patches?
    I'm looking for some simple effects that I can peek under the hood and then modify to my needs.
    Thanks!
    Seb.

    • Mar 17 2006 | 4:58 am
    • Mar 17 2006 | 8:46 am
      thats really disappointing, with thousands of people all using max-msp; why reinvent the wheel over and over again...?!?! :/
    • Mar 17 2006 | 9:48 am
      While looking at other people's patches can be very helpful, too many examples can sometimes stifle creative thinking. I'm teaching a class in MaxMSP and spend a good deal of time trying to get my students to think of objects in an abstract sense, rather than just the examples they've seen. For example, consider a synthesizer that comes with 5000 preset sounds. Most people simply won't bother making their own sounds. I think example patches are great touchstones, but I think it's much more important for people to develop their own style and processes. I generally prefer not to give people fully-realized patches because it limits their imagination. I would much rather give the germ of the idea, and let them run with it, so that they come up with something that is their own.
      I do agree that there should be certain things that are standardized in Max. A really decent (no offense intended to anyone) reverb that came with Max, much like the omx objects, would be really great. That being said, there are often many, many ways to solve a problem in Max, and different ones will be appropriate in different contexts. (bearing in mind issues such as speed, scaleability, flexibility, elegance, etc.) Oftentimes, I've learned more by reinventing the wheel rather than using something off-the-shelf, and in building that wheel, I've stuck in some square parts where there should have been round ones, and gotten some really interesting sounds that set me off on a completely different path that I probably wouldn't have thought of outside of that context. For instance, try throwing kink~ into the read heads of a pitchshifter...
      The one lesson I keep (re)learning in Max is that monolithic solutions (e.g. the perfect mixer, multitap delay, etc. that does everything) rarely exist because they can't anticipate all the possible ways they can be used, and that, for me at least, it's often more interesting to put flawed but interesting processes together. My patches are constantly changing and reflect my evolving thoughts about how to organize processes. While I'm happy to show them to people, I'm ultimately writing music and not software, so the documentation is what I need, rather than enterprise-level. (though there are many of us who are writing software) As an example, Pattr is a really great and amazing preset system, but there are still lots of feature requests for it because we all use it in slightly different ways. (what should be the scope of a preset system?) Similarly, I've seen patches that tried to be the universal systems for creating pieces, and, more often than not, they lack character. Of course, these are just my opinions.
      I think that if we could have a dependency tracker in the build dialogue, that might provide a better way of encapsulating patches for online distribution.
      Peter McCulloch
    • Mar 17 2006 | 10:36 am
      Thanks Peter for your input.
      The whole objective in teaching is to pass on ones mistakes and successes onto another; teaching is also about efficiency: how can I pass on more information to new generations faster and more efficiently than I had to learn?
      If I make all my students constantly build things from scratch, its good for the theory, but its bad for any kind of real world application of your skills. Not only that, but if I always build things on my own; i will continually make the same mistakes, over and over.
      Its like teaching an artist to paint with a few lessons, and then telling them they can't look at any other artists paintings anymore, because they might start copying them and therefore make the same bad paintings their peers are making...?????
      I am not looking for example because i don't know how to use max, i'm looking for examples so I can build a complex architecture system using modular components, in a reasonable amount of time. Since I need many standard component components, it would seem logical that these already exist for me to copy, integrate and modify to fit my architectural requirements - but somehow in max/msp land; these do not exist publicly... [i am starting to discover].
      Are people paranoid about their work? People seriously need to become less possessive about their "creations", or we all suffer. Art doesn't thrive in a cupboard.
      While I am no fan of Reason, the software does come with a community website with many-many patches to download and examine... th benefit of this platform is huge, why would max/msp users be except from such benefits?
    • Mar 17 2006 | 1:23 pm
      Well, since i'm a max user, it's a subject we have deal with a thousands times
      pulse wrote: > Thanks Peter for your input. > > The whole objective in teaching is to pass on ones mistakes and > successes onto another; teaching is also about efficiency: how can I > pass on more information to new generations faster and more > efficiently than I had to learn? > > If I make all my students constantly build things from scratch, its > good for the theory, but its bad for any kind of real world > application of your skills. Not only that, but if I always build > things on my own; i will continually make the same mistakes, over and > over. No, because mistakes don't allow anything to work in max. So you always have to struggle yourself to get it right, and, meanwhile, your knowledge increases drasticaly. In my case, i'm on one of the simpliest things to do with max (a polyphonic sample player) since a long time, while i've already achieved much more complex engines ! Yes, a few example patches would help, but i would have to rewrite them all on my own anyway... > > Its like teaching an artist to paint with a few lessons, and then > telling them they can't look at any other artists paintings anymore, > because they might start copying them and therefore make the same bad > paintings their peers are making...????? Painting is a result. Max is a way to paint. > > I am not looking for example because i don't know how to use max, i'm > looking for examples so I can build a complex architecture system > using modular components, in a reasonable amount of time. Since I need > many standard component components, it would seem logical that these > already exist for me to copy, integrate and modify to fit my > architectural requirements - Buy Native Instrument's Reaktor instead, really ! > but somehow in max/msp land; these do not exist publicly... [i am > starting to discover]. > > Are people paranoid about their work? People seriously need to become > less possessive about their "creations", or we all suffer. Art doesn't > thrive in a cupboard. When i think about all the time given by all the list members for this kind of gratification, lord, i swear i could throw you a glass of bear (not wine, it's hard to clean off shirts with) just to wake up your mind. Everybody here share a lot of things without asking money for. Think this list is the place where i learned max, without the need of any kind of "classical" teaching. Just browse this week's messages, you'll find a lot of things : patcher's ideas, externals, abstract solutions... Go to maxobjects.com, thanks Mathieu and Ninh for the FREE work, check all these objects, abstractions and classes here, for god's sake !!!!!!!!!! Made with the free time of teachers, students, artists and much more. Stop me i'm gonna kill someone... > > While I am no fan of Reason, the software does come with a community > website with many-many patches to download and examine... th benefit > of this platform is huge, why would max/msp users be except from such > benefits? One more time : go buy Reaktor and you'll be granted to access the community library anytime you want. >
    • Mar 17 2006 | 1:32 pm
      > While I am no fan of Reason, the software does come with a community > website with many-many patches to download and examine... th benefit of > this platform is huge, why would max/msp users be except from such > benefits?
      arg! i mean to say "reaktor", no "reason"; sorry 'bout the typo.
    • Mar 17 2006 | 1:37 pm
      > One more time : go buy Reaktor and you'll be granted to access the > community library anytime you want.
      please don't misunderstand, i speak from frustration, not anger. i really love max, not reaktor. i realize there is a lot of resources out there to building your own patches and excellent externals, this is not an issue - its something i praise. It's just surprising that patches are not readily available in any significant form - and I can't see why this is such a horrible thing to ask, I can't see why "more information" is worse than "less..."
      Anyways, enough said,
      with kind,
      Seb.
    • Mar 17 2006 | 2:07 pm
      I'm not sure it is that surprising in fact. On the contrary of Reaktor library, for example, I think that a lot of patches are built for one's particular project. And I'm quite sure some of those patch wouldn't have any sense outside of the projects (if they can work at all in some cases). There are still some part of patches that can be useful in any context, but that's what that is shared on the list. I understand it can be frustrating for one's curiosity but I'm sure things are better this way, to learn. At least they are for me.
      Just my 2 cents.
      Julien;
      PS: wow. My English is awful on this post. :)
    • Mar 17 2006 | 2:31 pm
      On Mar 17, 2006, at 8:37 AM, pulse wrote: > It's just surprising that patches are > not readily available in any significant form
      I think you want one thing but are saying something else. There are *tons* of patches, objects, abstractions, art, etc out there. It is simply de-centralized. There is not one web site to log onto and download from.
      It's out there, you just have to do more digging. And never hesitate to drop some one a note on the list. 9 times out of 10 they will send you the patch or code. Heck, even cycling74 will send you certain bits of source if ask nicely and have a valid reason.
      Max is interactive in a variety of ways. It's not just about the UI. Hey, put that on the next poster. :)
      ----- Nathan Wolek nw@nathanwolek.com http://www.nathanwolek.com
    • Mar 17 2006 | 2:57 pm
      Cort Lippe has several of his pieces posted online at his website (I don't have the url handy), such as Music For Flute & Computer, and Clarinet and Computer. Those are definitely worth looking at, and have some pretty intricate behaviors. Not a lot of comments the deeper you go, so be ready to dive into the code.
      Peter McCulloch
    • Mar 17 2006 | 3:34 pm
      If you are interested in sharing patches, and in structring them for re-use, it might be good to check out Jamoma: http://jamoma.org/
      best wishes, Tim
    • Mar 17 2006 | 4:07 pm
      Yes ! check out Jamona ! it has a very beautifull structure.... very open, easy to use, reuse, mod or whatever you need..... and it's perfect for what you described, making a large system of many components.....
    • Mar 17 2006 | 4:13 pm
      Did anyone mention MaxObjects.com?
      While I agree in principle with Peter McCulloch, I find examples most useful in my teaching of Max/MSP/Jitter and in my own creative projects. I temper the potential dependency on these examples by showing in class ways that they can be modified. It is there that I address issues of generality. I have not found that examples stifle creativity.
      My personal difficulty with the wealth of Max examples and patch sets is that it becomes difficult to remember or find which ones I thought would be useful. Reflecting on my own learning of music technology, I owe almost everything to the generosity of those people who were wise enough to share.
      Cheers, Gary Lee Nelson TIMARA Department Oberlin College www.timara.oberlin.edu/GaryLeeNelson
    • Mar 17 2006 | 5:08 pm
      Btw, we've working on making the new c74 web site better for this sort of thing, and hope for it to improve. Please check out the resource guide (specifically the section "Max/MSP/Jitter Patches/ Applications"):
      And if any people have items they would like listed in the resource guide, please email them to resourceguide@cycling74.com
      Lastly, this mailing list itself is a great archive of patches. Simply search on the subject you're looking for and there is often a patch solution presented by one or more users.
      -Joshua
    • Mar 17 2006 | 7:21 pm
      There is a category in www.maxobjects.com called "patches". We could add a filter in the search engine to search only for patches. For the moment, only a few patches have been added by users, but MaxObjects could be a cool Max patches database too. It's up to you (users) to add your patches you want to share...
      Mathieu Chamagne www.maxobjects.com
    • Mar 17 2006 | 8:02 pm
      Peter McCulloch wrote: > While looking at other people's patches can be very helpful, too many > examples can sometimes stifle creative thinking.
      I agree, but... the main source for learning is for me actually this list. Especially if pretty simple problems show a lot of very different approaches. Sometimes it looks like a competition for the most elegant solution. These are the best examples you can actually learn from. If you have a ready made patch, you might learn some not so elegant solutions, but if you compare patches aimed at the same problem, you learn much more, especially if you realized an own version before.
      In terms of patches, I recommend to go to Maxobjects and just look for abstractions. Beside my own library, I'd recommend the RTC from Karl-Hein Essel. He also has some "real" patches one could learn from. And finally though Jitter related the huge collection of Andrew Pask weekly abstractions. Available at the C74 site. A lot of stuff is also on the c74/share pages.
      Stefan
      --
      [][] [][][] [][] [][][] [][][][][][][][][][][][][][][]
      Stefan Tiedje Klanggestalter Electronic Composition & Improvisation
      /~~~~~ \ /|() ()| ))))) )| | |( \ /// _/)/ ))))) ___/ ///
      -------------------------x---- --_____-----------|----------- --(_|_ ----|-----|-----()---- -- _|_)----|-----()----------- ----------()------------x-----
      14, Av. Pr. Franklin Roosevelt, 94320 Thiais, France Phone at CCMIX +33-1-57 42 91 09
    • Mar 18 2006 | 12:45 am
      > is such a horrible thing to ask, I can't see why "more information" is > worse than "less..."
      Would anyone else be interested in a SourceForge patch repository? Does anyone know if that would be a bad idea, or have specific suggestions on how it should be organized?
      To address "digging deeper" on the web: max patches are relatively difficult to search for. We have an application with a very common name, a significant* chunk of the user population is more interested in being elite and "artistic" than communicating clearly, and there is a strong (understandable) tendency to share utilities but not systems. So what if your system is unique? Unless you need to keep it private for some reason, why not share? You don't know in most cases exactly how unique your needs are... maybe less so than you think.
      * They're significant because they like to show off what they do, but they don't like to explain it... which is bad news for searching.
      So if anyone has any great suggestions on how to search for patches, please share!
      I lack a good computer science background, and one of the major stumbling blocks for me with Max - it's been a few years of work in spare time - has been structuring my large project properly. There are all sorts of subtle issues that I could have avoided had I any exposure to other working projects of a similar scale (mine is a framework for modules, very open ended). I find it almost sad when new features solve a problem for me. It means that someone else more skilled could have solved my problem a long time ago.
      But the fact is that everything I have learned about good structure in Max, which is almost certainly not enough, I could have learned just as well from studying other patches. I agree with the pedagogical avoidance of solving other people's problems - small problems, exercises if you will, are definitely good to figure out on your own. On the other hand, when we're talking about the benefits that a real computer science education or many years of Maxing or just plain innate brilliance can confer, cutting a few years of effort out of my life and leaving me with the same understanding (or better) would be welcome. Because while I enjoy programming, I'm a composer and a musician, and the music is more important to me. (Yes, Max is the best environment for me, I've looked at the others available.)
      Esoteric or generalizable working projects of significant size are almost never seen. It is not as if studying a patch is necessarily easy or quick, especially for a beginner. There is potentially quite a lot of someone else's thought to understand! We can talk about unique individual intent all we want, but I can't believe that there aren't basic methodologies or structural precepts that are useful to learn, and I can't believe that these aren't represented in the elegant Max-works I know exist out there... somewhere. Design patterns anyone?
      As a final note, for what it's worth, I am not a believer in the artistry of unintended consequences in this particular case. Sure they're fun - but my big Max project is something that I can visualize precisely as a working app. I know how I want it to work. I don't want it to work some other way because it won't work some other way (except maybe in re GUI). If I could better understand how to implement it from the start, the work would go faster, it would be available sooner for myself and others to play with, and I'd be a lot happier... because making music is what I want to do. Max is a means to an end. As an end in itself, it is less satisfying than the problem it is intended to solve.
      Why is there any backlash at all when someone asks for more exposure to others' techniques? That is an unnecessarily elitist, foolish, and reactionary attitude. (Apologies to all the self-taught geniuses out there that are too advanced to benefit from the efforts of others.) I'm as annoyed as anyone by people who come to the list for questions that could be resolved faster and/or better by the tutorials or a quick docs search, but come on. This is different. Accelerating the pace of learning in the community will only benefit the community. When we ask people to RTFM or use the bug reporting guidelines, that's the point. When we share interesting work, that's *still* the point.
    • Mar 19 2006 | 12:21 am
      > Are people paranoid about their work? People seriously need to become > less possessive about their "creations", or we all suffer. Art doesn't > thrive in a cupboard.
      some people are paranoid, usually those which copy most pof their work from others.
      but i could tell you about 20 people offhand which share at least some of their patches, including but not limited to: litter, 110, eijes, tap tools v.1, st.ools and whatnot (sorry about the other 15 which i did not mention).
      you said you know maxobjects.com. did you see that several files up there _are patches?
      then what about cycling74.com/share/, whats wrong about that?
      life is so simple if you know how google works! http://www.google.de/search?hl=de&ie=ISO-8859-1&q=ma x+msp+patch&meta=
    • Mar 19 2006 | 12:34 am
      > Would anyone else be interested in a SourceForge patch repository?
      not sure if open soource works with max patches. well not that i would see a reason why cycling should have a problem with it but hm. just a matter of philosophical program.
      sourceforge would be fine with me, once i almost put my plug-ins up there. it would introduce a new idea to making abstractions or programs, because it suggests public, anonymous, cooperation (not just with friedns like we all do sometimes) sourceforge means please finish my patch, solve my bugs, add your ideas to my program. i like that.
    • Mar 19 2006 | 4:29 am
      >> Would anyone else be interested in a SourceForge patch repository? > > not sure if open soource works with max patches.
      My feeling is that the development environment does not restrict the terms by which its products may be shared. Anything posted to the list is essentially public domain. So I think it is a perfectly valid use of SourceForge for people to share their patches with the share-friendly license of their choice.
      > sourceforge means please finish my patch, solve my > bugs, add your ideas to my program. > i like that.
      I like it too. I also think they allow for user/context varying permissions. I'll try to look into it more, talk to a few knowledgeable people, and see how such a project (perhaps umbrella project) would be structured.
    • Mar 19 2006 | 1:48 pm
      dlurk wrote: > a significant* chunk of the user population is more interested in > being elite and "artistic" than communicating clearly, and there is a > strong (understandable) tendency to share utilities but not systems. So > what if your system is unique? Unless you need to keep it private for > some reason, why not share? You don't know in most cases exactly how > unique your needs are... maybe less so than you think.
      Its less about the uniqueness, its about how a patch is aimed at an individual piece. I started several "universal" approaches, and always came back to something more specific to a given piece. This is not reenventing the wheel, big parts of it are reused all over the place. As soon a concept seems worthwhile to keep for another project, I'd throw it into my collections (which are shared for years).
      I just do not have the feeling, that my performance patches are that usefull, because they are cluttered with little quick fixes and bugs I can work around as I know the whole thing. The fixes ususally serve one piece.
      A performance patch is never ever ready. If you share it, people will ask thinks you can't or won't have time to answer as the focus already shifted to something else.
      Its like shareing your kitchen whithout having done a cleanup. For personal use its fine but... even if you do the cleanup, others won't know where to find the pan. Performance patches usually have no documentation at all, they don't need to, because you made it for yourself.
      Whenever I see those patches of others, I think its way easier to do it myself (and obviously different) than digging into undocumented code. This is even true for projects which are aimed at a public audience like Klaus Filips looper which includes documentation and is set up very modular (of course its also because my own patching does cover a lot of what Klaus' patcher does as well).
      Stefan
      --
      [][] [][][] [][] [][][] [][][][][][][][][][][][][][][]
      Stefan Tiedje Klanggestalter Electronic Composition & Improvisation
      /~~~~~ \ /|() ()| ))))) )| | |( \ /// _/)/ ))))) ___/ ///
      -------------------------x---- --_____-----------|----------- --(_|_ ----|-----|-----()---- -- _|_)----|-----()----------- ----------()------------x-----
      14, Av. Pr. Franklin Roosevelt, 94320 Thiais, France Phone at CCMIX +33-1-57 42 91 09
    • Mar 19 2006 | 1:50 pm
      dlurk wrote: > Anything posted to the list is essentially public domain
      I don't think so (in Germany f.e. you even can't give away your authors rights at all), but maybe its time to think about licensing, I'd suggest to assume anything which is posted to the list could be defined as GPL UNLESS NOTED DIFFERENTLY. And put this up as a general rule. One of the more restrictive Creative Commons licenses could also be choosen, but as we usually do not think about licensing (In most cases its no issue anyway because of lack of artistic/inventional value) its better to have a default than nothing.
      A rule like that would keep most peoples interests of at least being mentiond and still would retain the freedom of the author to license it differently.
      Stefan
      --
      [][] [][][] [][] [][][] [][][][][][][][][][][][][][][]
      Stefan Tiedje Klanggestalter Electronic Composition & Improvisation
      /~~~~~ \ /|() ()| ))))) )| | |( \ /// _/)/ ))))) ___/ ///
      -------------------------x---- --_____-----------|----------- --(_|_ ----|-----|-----()---- -- _|_)----|-----()----------- ----------()------------x-----
      14, Av. Pr. Franklin Roosevelt, 94320 Thiais, France Phone at CCMIX +33-1-57 42 91 09
    • Mar 19 2006 | 3:34 pm
      Hello maxers!
      Happy to see a positive turn around, and very cool that cycling is considering this addition to their services. A new field in maxobjects would be wonderful!
      If people started to share patches, the issue of "neatness" would automatically improve.
      What I would envision is a database organized like the examples folders, delays all in one place, compressors in another etc. with number of downloads, comments etc. as useful value-added additions.
      Like others on this list, I would rather spend what little time I have in this life improving upon the successes of my peers. I believe that the more current our root-base information is, the more innovation we can stimulate. Standard effects have become common, everyone knows what they are, so we can only benefit from the audio-brain equivalent of an engram.
      At the end of my current project I will have developed [one way or another] 16+ re-usable modules [aka patches]. The modules will cover a variety of different processing techniques and each one will have standardized input/output protocols as well as an additional input for reset and deactivation commands [for logic switching and processor load management].
      This approach is taken not only because of the huge flexibility and clarity that results, but also because it means that a team of people can develop each component module independently and then merge their work together through a set of common framework standards. The benefit is huge, and complex software design suddenly becomes manageable and approachable.
      Since from what I gather this concept of standardized patch development is kinda off-beat to the one-off performance based development; I'll definetly be considering publishing them to what-ever-source locations we may deem centralized enough to store them. ;)
      With kindness,
      Seb.
    • Mar 19 2006 | 5:21 pm
      I think I agree with Stefan. I'm really not convinced (based on my own creative process, and 15+ years of working with Max) that there's an obvious path to an easy-flowing exchange of sophisticated patchers and libraries.
      Max is not a high-level programming language; there's no real abstraction, and the modularity mechanisms provided are quite low level compared to the conceptual structures used in any non-trivial patcher. It's rarely possible to just lift out something like (say) a granular synthesis engine, bung it onto a web site, and have everyone use it as-is.
      I think modular design - or, perhaps, I mean reusable design - *is* possible in Max, but it requires extra effort over and above what's involved in the project to hand. My Max coding tends to be pretty modular, but it's rarely reusable - things get stripped down and reworked for each new project.
      Since the abstraction mechanisms in Max are fairly basic, we tend to develop/adopt various kinds of frameworks in which to code - send/ receive matrices, mixers, dispatchers, timebase followers, that kind of thing. This makes the content patchers even less modular.
      (So, I do actually have large bodies of reusable code, such as the timebase allocation system, the binder/scaler machinery, and the HID drivers - but they're only reusable if you buy into the entire framework, or go away and implement a pile of shims to fit them into something else.)
      Since lifting some useful patcher code out of a project is likely to result in something which is still attached by tendrils and bits of wire to its enclosing framework, I suspect people are loathe to do it because of the implied support effort, as other people try to work with the code and find it difficult to isolate.
      (These criticisms of Max don't hold for something like MXJ, where the software system provides support for modularity and encapsulation. I'm already rolling out MXJ libraries for sharing, and it's a pretty easy process, much easier than doing so purely in the Max world.)
      -- N.
      nick rothwell -- composition, systems, performance -- http:// www.cassiel.com
    • Mar 19 2006 | 7:15 pm
      > "I think modular design - or, perhaps, I mean reusable design - > *is* possible in Max, but it requires extra effort over and above > what's involved in the project to hand. My Max coding tends to be > pretty modular, but it's rarely reusable - things get stripped down > and reworked for each new project."
      first of all nick, thank you for highlighting something thats been on my mind lately. It's odd how max provides an existing level of organization and structure and projects seem stay at that level. Personally I believe that max has the capability to yield far better results than it's higher level modular counter parts such as reaktor or reason for the same tasks. This is an argument for getting some larger standard building blocks together in max. Which one can use OR take apart. I've been shot down before on this but its just how I feel. Jamoma should help. sorry tim, I kinda drifted away.
      -matt
    • Mar 19 2006 | 9:20 pm
      > Its less about the uniqueness, its about how a patch is aimed at an > individual piece. I started several "universal" approaches, and always > came back to something more specific to a given piece.
      it is a borderline experience isn t it. of course you should not share every [p stuff] you ever made, nobody will be interested in it.
      but there is much more behind sharing abstractions than the patches and their usefulness.
      i have never needed or used taptools or your patches, for example. they are all useless for me. but it is interesting to see how other people make their abstractions, where they see the right point for making interfaces (breaking their code up into subpatchers), or you can learn from their patches. (which is why i prefer patches over externals)
      so when i ever want to learn about scripting, i know who i have to email. i wouldn t know this when you would not have released your objects.
      there are about 1000 ideas and methods in my imaginary library, but i have only made like 50 "objects" and shared like 30 of them. 2 of them are even based on other peoples work (dudas newverb and some other thing) and i kind of only changed the layout.
      i would never exspect that anyone uses one of my stupid pseudo objects, but i am sure it is interesting for many to look at them. and the more i _try to make generic stuff, the more i learn about organisation of code. and the more i will be able to reuse the patch later. why would anyone write [110.pythagoras] new when he needs it again in six weeks? some things deserve to be generalised.
    • Mar 20 2006 | 10:39 am