Category: max

  • (max) incrementalism – developing an arpeggiator

    incrementalism Applied to coding, incrementalism is more a philosophy than a tangible thing. It’s the idea that you break large project into small steps, to not try to do too much at once. Incrementalism encourages you to develop a small part of the project, test it, and expand it. We’ve been using incrementalism with the…

  • (max) object inventory, tutorials

    Current students should be working their way through the first seven Max tutorials (“Hello” through “Numerical User Interfaces”). objects used so far <notein> <noteout> <makenote> <number> (number box, integer) <message> with “set” as a special message <stripnote> <button> (bang!) <toggle> <metro> <comment> objects to check out (we’ll use them soon) <random> <pgmout> <table> and <itable>…

  • (max) beginnings of an arpeggiator patcher

    We’re starting our arpeggiator patcher, learning some basics of how Max works, and how to translate our what we want to do into Max code. goal Receive a midi note input from a MIDI keyboard to set a pitch, and play that pitch at a regular, repeating time interval. translation We can translate parts of that common…

  • (max) fft patcher dump

    It’s the end of the year, and a not a lot of time before the final project is due, but here are the fft patchers for your reference. They may still help you with some reference materials. example patchers All patchers are in an fft folder. You may just want to download that to have…

  • (max) final project – 2015

    final project performance patcher Due: Tuesday, April 28, at noon. (our final exam meeting time) assignment Create a Max patcher and a two-minute performance using audio and video. Your final project may/should draw from your previous projects, as well as the topics we investigated at the end of the semester (audio buffers, video, etc). guidelines This project…

  • (max) synchronizing loops

    example patcher <waveSyncLooping.maxpat> synchronizing playback of looped audio files without using the transport – two methods The example patcher demonstrates how you can synchronize playback of two audio files of arbitrary lengths. One method is to use [wave~] objects, which playback according to a phase signal (typically supplied by a [phasor~]). The same [phasor~] can drive…

  • (max) buffer shuffler

    example patcher <groove-looperBufflerShuffler.maxpat> manipulating playback location Up until now, all of our [groove~] playback has been linear, progressing through the buffer, or a looped portion, in one direction. We can use location, however, to cause [groove~] to jump to different locations within the buffer or a looped portion. Look inside of [p loopShuffle], in the…

  • (max) mapping midi to groove~ controls

    example patcher  <groove-MIDIcontrols.maxpat> mapping continuous controllers to groove~ parameters The example patcher shares the vast bulk of its functionality with the [waveform~] examples in a previous post. The only differences are two subpatchers, [p midiControls] and [p kbControl], located in the blue border in the upper right portion of the patcher. [p midiControls] has CC’s…

  • (max) record and play

    example patcher <Groove-Record-n-Play.maxpat> recording to a buffer~ Recording to a [buffer~] object is pretty straightforward. You need an audio input (I’m using [ezadc~] in the example), connected to a [record~] object. A non-zero number to [record~] starts recording; zero turns recording off. A [toggle] objects provides easy control, but for remote control purposes it might…

  • (max) graphic audio display, waveform~

    example patchers video lecture <groove-looperWaveform.maxpat> <groove-looperWaveformStereo.maxpat> waveform~ The [waveform~] object is a graphic editor for buffered audio. The easiest way to make use of [waveform~] in a patcher is to copy and paste from the help file. Copying from the help patcher gives you the pict slider (with tool picts) and the subpatcher that changes…