[sharing is fun] CLATTER v2.0

    Mar 19 2009 | 11:50 am
    I thought I'd share my latest effort -- Clatter v2.0 in the hope that somebody might a) find it useful; b) beta-test for me; and c) suggest any bug-fixes or areas for improvement (there are doubtless many). There's a (rather long and regrettably "er"-ridden) explanatory video to be found at http://www.peterbatchelor.com/maxClatterVideo.html.
    The video gives an explanation of what Clatter is; but in a nutshell, it's a multisampling (multi = thousands of sounds) tool with a gesture control interface and rudimentary step sequencer. Works quite nicely for generating material both for composition and live.
    I'm not sure that it's particularly elegantly coded, but it produces some quite nice results I think.
    Please let me know if you find it useful.

    • Mar 19 2009 | 2:53 pm
      Hey Pete, Met you a year or two ago at confetti, back then I couldn't figure clatter out, but that was back then. Love the new version, fiddling with it and playing it now. Great stuff.
      I'll get my head around it a bit more and let you know if I encounter any problems...
      Thanks for sharing...
    • Mar 20 2009 | 12:20 am
      This is excellent! Since it's in Max, how can we properly crack it open and control, say, the scrubscreen with a PS2 controller, or instead of a mtof transposer do one based on other tunings? Pretty cool, though--if it comes down to it, I'll probably just put together a series of sound files of scale degrees of different tunings and forgo the transposer machine (except to the octave, of course).
      I would like to know if you have some kind of suggestion for how to start setting up another patch that could simulate mouse clicks on the scrubscreen. Also, if you ever want to edit this, you could throw in a [send~ clatter] object that the user could select instead of [dac~], just for the sake of not worrying about SoundFlower if you want to route Clatter audio through another MaxMSP patch.
    • Mar 20 2009 | 12:58 am
      neither of the links you posted are working.
    • Mar 20 2009 | 12:59 am
      Just take out the last period, then they work. Punctuation clogs the internets.
      For Peter: I can't seem to find how to save presets. I watched the videos, but as always may have missed something.
    • Mar 20 2009 | 7:52 am
      Thank you for your interest and feedback (to everyone).
      Fixed the punctuation issue; links should now work.
      Modifying Clatter: the patch is full of [bpatcher]s. So to get into the bits you're referring to, open clatterUnit then right-click([bpatcher])>Object>New View of "" your way down thru' the guts. If you make any improvements that might be of use to other people, perhaps you could send them to me so that I can integrate them into the patch. The non-diatonic tuning sounds v interesting (I'm embarrassed to have been so deeply conventional with the [mtof] object!).
      There's no labelling/commenting, incidentally, which isn't helpful. But if you're struggling let me know.
      Ref controlling the scrubscreen via alternative means, I thought I'd included a receive object that would enable this but it looks like I didn't. I'll try to get round to uploading an updated version today and let you know what to do (it'll just be a question of sending scaled coordinates from your controller to emulate the 0-300 x 0-300 range of the scrubscreen [lcd]).
      Thanks again for your response.
    • Mar 20 2009 | 7:57 am
      There's only a preset option in the stepseq mode at the moment. If you mean how to save presets generally (tho' I suspect you don't), shift-click the preset nodules; if you mean how to save presets with the patch, that I confess I don't know as I've never done it and haven't investigated how to (is there something in the tutorials?). Would be useful, tho, so if anyone can point me in the right direction...
    • Mar 21 2009 | 6:09 am
      Right, I meant saving presets with the preset button shift-click thing. I'm new-ish to Max (7 months or so) so that's why I was going to practice opening up your patch as a sort of learning experience. I'll let you know when I get it working with a playstation controller.
    • Mar 21 2009 | 3:52 pm
      oxtail wrote on Fri, 20 March 2009 01:57There's only a preset option in the stepseq mode at the moment. If you mean how to save presets generally (tho' I suspect you don't), shift-click the preset nodules; if you mean how to save presets with the patch, that I confess I don't know as I've never done it and haven't investigated how to (is there something in the tutorials?). Would be useful, tho, so if anyone can point me in the right direction...
      Check out using pattrstorage with autopattr. All you have to do is provide scripting names to every object you'd like to record presets for, then drop a pattrstorage object and an autopattr object in your patch and all script-named objects will automatically be exposed to the pattr system and recorded into pattrstorage(see pattrstorage object's help-file for preset loading/unloading/recording/recalling messages).
      Alternately, just look here for a helpful pattr-izing utility that is setup in advance for you: Max5/examples/utilities/pattr-helper.maxpat
      if you'd like to learn more, click on the 'Help' menu from Max5, choose the 'Max Tutorials' section, then near the bottom of the 'Table of Contents' for the 'Max Tutorials' is a section called 'Patcher Storage' which details pattr/autopattr usage.
      Best of luck to you and a great job with the app you've built so far!
    • Mar 21 2009 | 5:09 pm
      on second thought, hope you don't mind but i snooped some of the embedded bpatchers and see that you are using an LCD so it may be trickier(could consider recording user information into hidden numberboxes(to record presets for x,y clicks or something similar), add scripting names to those and record those into a preset(within pattrstorage) which would then recall info. back through numberboxes into LCD.
      anyways, hope not to be too... invasive(just trying to help)... I really love the GUI of Clatter(saving on screen viewing area using scripts is something i love doing with my own apps... very slick!).
    • Mar 21 2009 | 8:59 pm
      Thank you RR. Ref 'snooping' at the code, no objection: I kind of assumed that people would. And I'm gratified that you thought it sufficiently worth spending the time doing. I'll investigate the pattrstorage/autopattr route (thanks for that too) as that will be useful for other stuff even if I can't apply it here (tho' the stepseq bit _isn't_ actually an LCD, so it should work for that at least...).
      As for the scripting, I spend far too much time on the front end, which probably makes me both superficial and a-retentive... But it works quite well for the buffer generation too. And I shall be using it extensively for the (pending) Orbit update for making # of inputs/outputs user-definable. Watch this space...
      Thanks again.
    • Mar 21 2009 | 9:12 pm
      I've just uploaded an updated version (sorry, didn't name it 2.0.1) to permit remote control of the scrubscreen. Just send appropriate coordinates to a [receive XscrubscreenCtrl_C2to2] object (replace X with number of Clatter Unit you want to control) as per following:
      Hope that works okay.
    • Mar 22 2009 | 3:56 pm
      This is strange--I was trying to fix the problem where you have to click a saved preset twice, if the saved preset was on a different beat-grid from the one you're on. Like, I save a 4n beat preset, and I'm working on 8n, so to go back to the first preset I have to click once, which gives me a smashed beat pattern, then the second time I click it gives me the real thing. Seems to be an ordering issue. Does it matter that the beat division box is to the left of the multislider? Are preset orderings the same as everything else?
      But that's not the weird part. The weird part is that I went into the [p ] under the multislider for the sequencer and when I tried to click on that rainbow multislider it kept saying "might be a stack overflow error" and crashed. This was repeatable.
      If I de-encapsulate the patcher containing the multislider, how can I re-encapsulate it and preserve the presentation mode? I couldn't seem to do the normal double-click thing, since it was a bpatcher, and I couldn't encapsulate it as a bpatcher since it wasn't its own file...there's probably something I'm missing here. If something is embedded in the parent patch, how do you get back to it later?
    • Mar 24 2009 | 11:26 am
      Sorry for the tardy reply; also that this topic gets dragged to the top of the list again.
      Not sure about having to click a saved preset twice, but I've fixed the different beat grid problem (actually by not using the [preset] object at all. Beat patterns should be preserved in all cases. Baffled by the stack overflow issue; but hopefully you won't get those anymore.
      So revised version (Clatter 2.0.1) now available at http://www.peterbatchelor.com/maxClatterDownload.html Still more improvements to be made. But that'll be another revision...
      Re getting into the [bpatcher], same procedure as before: right-click>Object>Open Original "name-of-file" if the bpatcher refers to an external file; and right-click>Object>New Vew of "" if it's embedded. Preserving the presentation mode: go to Patcher Inspector and check Open in Presentation Mode.
    • Apr 08 2009 | 8:54 pm
      Just downloaded 2.0.1, but can't get any sound of it. There is no output in the level (master) meters either.
      Using MaxMSP 5.0.6 (latest).
      2.0 is working fine. Tested both versions with the same set of samples.
      Any ideas?
    • Apr 08 2009 | 9:56 pm
      Yeah, on 2.0.1 I always have to load the samples, start the step sequencer, and THEN the scrubber window works. I'm not sure what the bug is, but I just work around it. It's also something particular to 2.0.1, rather than 2.0.
      ox: It's an excellent tool. I haven't been able to use it for live performance, because I need to route it through other processors, but I've been creating effects with it and using those loops through other effects. I'm using it all throughout one movement in particular of this project I'm working on (performance tomorrow night), so I'll send you some youtubes when I get it working, just so you can see what you've helped create.