/264-tools

:musical_keyboard: Modular sound playback, processing, & performance tools for students of Max and live electronics at Harvard University

Primary LanguageMaxGNU General Public License v3.0GPL-3.0

264 Tools

A modular kit providing high-level sound playback, processing and performance tools for students of Music 264 at Harvard University.

264 Tools modules

Installation

  1. If you have previously installed a copy of 264 Tools, delete it from your Max Packages directory.

  2. Download the latest release (click ‘Source code’ under Assets)

  3. Uncompress your download to your Max Packages directory.
    You can find this under ~/Documents/Max 8/Packages for Max 8
    You should end up with file paths that look like ~/Documents/Max 8/Packages/264-tools/ALL-THE-FILES-GO-HERE.

  4. Open (or restart) Max.

Alternatively if you prefer using the command line:

# move to your packages directory
cd ~/Documents/Max 8/Packages
# download 264 Tools to your packages directory
git clone https://github.com/mus264/264-tools.git

Getting Started

After you have installed 264 Tools, open Max’s Extras menu to find 264 Tools > 264 Tools Overview for an introduction to the various modules.

For a quick list of all available modules check out 264 Tools > Module Finder in the Extras menu.

Checking for Updates

From Max’s Extras menu, select 264 Tools > Check for Updates. This will let you know if you need to update. (You will need to be connected to the internet for this to work.)

Current Functionality

The toolkit currently includes the following modules, which should be loaded in a bpatcher.

Audio

Sound Files

  • 264.sfplay~ — a simple sound file player
  • 264.sfrecord~ — a monophonic sound file recorder

Processing

  • 264.delay~ — a single, flexible delay line
  • 264.filter~ — a highpass, lowpass or bandpass filter
  • 264.grains~ — a live audio granulation module
  • 264.ringmod~ — modulate a signal with a single frequency oscillator
  • 264.reverb~ — a basic reverb module
  • 264.transpose~ — a pitch shifter with 3 octave range above & below source
  • 264.freeze~ — a spectral audio freezer
  • 264.loop~ — a buffer-based loop recorder and manipulator
  • 264.limit~ — a no-options audio limiter (implementing omx.peaklim~)
  • 264.gate~ — an amplitude gate

Analysis

  • 264.envelope~ — an envelope follower compatible with other modules
  • 264.pitchtrack~ — a fundamental frequency tracker
  • 264.trigger~ — an attack detector

Utility

  • 264.audiotest~ — display audio status & test loudspeakers

Control

  • 264.key-learn — a utility permitting quick linking of keyboard shortcuts
  • 264.midi-learn — a utility permitting quick linking of inputs with a MIDI controller
  • 264.line — a breakpoint function module for line playback
  • 264.tog — a MIDI-ready toggle switch
  • 264.go! — a MIDI-ready button
  • 264.midi-presets — manage mapping presets for your 264.key-learn and 264.midi-learn objects
  • 264.audio-presets — manage presets for parameters across 264 Tools modules
  • 264.fullscreen — toggle a patch to display fullscreen
  • 264.lockstatus — check if a patch is currently locked

Compatibility

The latest release of these modules requires Max 8. Please report bugs under the issues tab above.

If you need to support Max 6 or 7, you can download v0.17.0 or lower.

Acknowledgments

264.grains~ relies on the munger~ granulation external, which has a substantial ancestry including work by Ivica Ico Bukvic, Ji-Sun Kim, Dan Trueman, and R. Luke DuBois, most recently for percolate.

The original versions of 264.midi-presets, 264.audio-presets, 264.loop~, 264.sfplay~, and 264.sfrecord~ relied on Patrick Delges’s filesys Java class to manage file locations. (This is now done via a custom Node.js script.)

The 264.reverb~ core is heavily based on Randy Jones’s yafr2 example.

264.pitchtrack~ is built around the sigmund~ sinusoidal analysis and pitch tracking external, originally developed by Miller Puckette, ported to Max/MSP by Miller Puckette, Cort Lippe & Ted Apel. Included here is Volker Böhm’s 64-bit version.

264.freeze~ is adapted from Jean-François Charles’s spectral freezing patches.

264.loop~ is built around Rodrigo Constanzo & raja’s amazing karma~, which is Copyright © 2015, Rodrigo Constanzo All rights reserved. Please see the module for detailed redistribution information.

264.line relies on an adapted version of simplify-js, which is Copyright © 2017, Vladimir Agafonkin All rights reserved and distributed under a BSD 2-Clause license.

License

This software is free to use, modify, and redistribute under a GNU General Public License.