Plode -- Build a granulator in Max7: 07. Grain Overlap (polyphony)

MUST1002
27 Jul 201811:58

Summary

TLDRIn this tutorial, the speaker explains how to create a polyphonic granular synthesis system using the poly~ object. By encapsulating the grain parameters into a single message, the setup becomes more efficient, allowing for the simultaneous triggering of multiple grains. The process involves defining grain attributes such as position, length, and transposition, then sending this data to a playback engine. Additionally, the tutorial covers how to manage the poly~ object to optimize CPU usage, with messages to indicate when a voice is active or muted. The goal is to create a dynamic, efficient grain playback engine with flexible control over multiple voices.

Takeaways

  • 😀 Efficiently encapsulating grain parameters into a single message improves performance in audio processing.
  • 😀 The `poly~` object is used to handle multiple voices simultaneously, allowing polyphonic granulation.
  • 😀 Packing parameters such as start point, length, and transposition into a single message helps optimize resource usage.
  • 😀 Encapsulation simplifies the patch, making it more organized and easier to manage.
  • 😀 The system uses `poly~` to spawn multiple instances of a grain engine, with voice management to handle busy or muted states.
  • 😀 The patch includes voice management through messages that determine whether a voice is busy or muted to save on CPU usage.
  • 😀 Using a single encapsulated object for all parameters reduces the need for multiple connections, simplifying the design.
  • 😀 The grain parameters—start point, length, and transposition—are sent to the grain engine using a `pack` object.
  • 😀 `poly~` allows you to define the number of voices needed, with up to 16 voices in this specific case for simultaneous granulation.
  • 😀 The patch works by triggering grains, using messages to indicate whether a voice is active or idle, ensuring efficient performance.

Q & A

  • What is the purpose of using the 'poly~' object in the Max/MSP patch?

    -The 'poly~' object allows for polyphonic (multi-voice) synthesis, enabling multiple simultaneous grains to be played back at the same time. It manages multiple instances of a sound engine, facilitating granular synthesis with multiple voices.

  • Why does the speaker want to encapsulate all grain parameters into a single message?

    -Encapsulating all grain parameters into a single message improves efficiency by reducing the number of connections needed in the patch. This allows for a cleaner and more streamlined setup, especially when working with polyphonic engines.

  • What parameters are being packed into the single message for the grain engine?

    -The parameters packed into the single message include the grain's start position, length, and transposition factor. These parameters define the key aspects of how each grain will be played.

  • Why does the speaker decide to place the grain definition outside the 'poly~' object?

    -The grain definition is placed outside the 'poly~' object for organizational and efficiency reasons. While it could be placed inside, keeping it separate and sending the parameters as a single message makes the patch more efficient and easier to manage.

  • How does the 'poly~' object identify whether a voice is busy or not?

    -The 'poly~' object identifies whether a voice is busy by using two messages: one to set the voice as 'busy' and the other to mute or unmute the voice. These messages allow the patch to manage the availability of each voice dynamically.

  • What is the purpose of the mute functionality in the 'poly~' object?

    -The mute functionality allows voices to be turned off when not in use, which helps save CPU resources. This is particularly important in a polyphonic setup where many voices may not be active at all times.

  • What happens when a grain playback reaches its end in this setup?

    -When a grain playback finishes, a message is sent to reset the voice, marking it as 'not busy' and allowing it to be muted. This helps ensure efficient CPU usage by deactivating voices that are not needed.

  • How does the speaker ensure that the 'poly~' object is working with multiple voices?

    -The speaker configures the 'poly~' object to have multiple voices (16 in this case) and ensures that each message corresponds to a note, which activates an available voice. The setup allows multiple voices to play in parallel, enabling polyphonic granulation.

  • Why does the speaker mention saving the project frequently?

    -The speaker emphasizes saving the project frequently to avoid losing progress, particularly in case of potential crashes. Saving the work in a new folder also helps keep the patch organized.

  • What role does the button object play in this setup?

    -The button object triggers the start of a sample or grain playback, marking the voice as 'busy.' It helps manage the timing of when to activate a voice in the polyphonic engine, ensuring that voices are used properly and efficiently.

Outlines

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Mindmap

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Keywords

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Highlights

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Transcripts

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen
Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
PolyphonicGrain SynthesisMax/MSPVoice ManagementAudio EngineTranspositionGranulationSound DesignEfficient PatchDynamic Triggering
Benötigen Sie eine Zusammenfassung auf Englisch?