• Home
    ->
    Step by step guides
    ->
    Creating a physical modeling patch in max/msp



    Required Equipment & Software

    1. A computer running either MacOS or Windows
    2. Max/MSP software: Available from the Cycling ’74 website for either Mac or Windows. It offers a 30-day free trial; however, for extensive use, you might want to consider purchasing a license. A student discount is also available.
    3. Optional but helpful: MIDI controller for easier interaction with the patch

    Additionally, an understanding of some primary foundational concepts related to Max/MSP and sound synthesis is beneficial:

    1. Digital Signal Processing(DSP): A method used to manipulate digital signals in the creation of sound.
    2. Karplus-Strong Algorithm: A method for sound synthesis that simulates plucked string instruments.
    3. Envelope Generator(ADSR): A tool to shape the amplitude of a signal over time. It includes Attack, Decay, Sustain, and Release stages.

    Now, let’s dive into your step-by-step guide:

    Step 1: Initialize DSP

    1. Begin by launching Max/MSP and creating a new patcher window (File -> New Patcher).
    2. Create a ‘dac~’ object by typing ‘n’, then type ‘dac~’. This is the digital to analog converter or audio output.
    3. Create an ‘ezdac~’ object (a button to toggle Digital Signal Processing on and off). Connect the ‘ezdac~’ to ‘dac~’.

    Step 2: Design Karplus-Strong Algorithm

    1. Create an ‘adc~’ object (audio input) and a ‘noise~’ object (generates white noise).
    2. Create a ‘slide~’ object and set its two arguments: upslide and downslide times. Connect the ‘noise~’ object’s outlet to the ‘slide~’ object’s inlet.
    3. Generate a delay line using ‘tapin~’ and ‘tapout~’. Set its maximum delay time.
    4. Connect ‘tapout~’ to ‘tapin~’ to form a feedback loop. To maintain the energy of the sound, use ‘gain~’ or ‘*~’ object inside the loop.

    Step 3: Implement ADSR Envelope

    1. Implement an ADSR envelope to control the volume. Use ‘function’ and ‘line~’ objects to provide temporal evolution of volume.
    2. Interpose the envelope (multiplication ‘*~’) between the output of Karplus-Strong Algorithm and the entry to ‘dac~’.

    Step 4: Parameter Controls

    1. Create knobs or sliders for controlling different parameters like delay, decay, and frequency. Do this using the ‘flonum’ object for numerical input or ‘kslider’ for MIDI keyboard input.
    2. Use ‘pack’, ‘scale’, and other objects to properly link your controls to parameters in your model.

    Step 5: Test and Debug

    1. Ensure your DSP switch is on and test your model. Listen for any discrepancies in the sound or any undesirable kit behaviours and adjust your objects accordingly.

    Step 6: Customize Further

    1. Max/MSP offers a variety of objects (‘cycle~’, ‘phasor~’, ‘buffer~’, etc.) and controls that you can use to further customize your model, add effects, or increase complexity.

    Remember, this is a somewhat superficial guide and creating a physical modeling patch can get quite complex. Max/MSP’s vast library of objects and nature of patching programming allow for endless creative potential, so you are by no means limited by these steps. Explore, experiment, and gradually refine your design to achieve the most accurate digital emulation of a guitar’s sound.