Book Image

Multimedia Programming Using Max/MSP and TouchDesigner

By : Patrik Lechner
Book Image

Multimedia Programming Using Max/MSP and TouchDesigner

By: Patrik Lechner

Overview of this book

Max 6 and TouchDesigner are both high-level visual programming languages based on the metaphor of connecting computational objects with patch cords. This guide will teach you how to design and build high-quality audio-visual systems in Max 6 and TouchDesigner, giving you competence in both designing and using these real-time systems. In the first few chapters, you will learn the basics of designing tools to generate audio-visual experiences through easy-to-follow instructions aimed at beginners and intermediate. Then, we combine tools such as Gen, Jitter, and TouchDesigner to work along with Max 6 to create 2D and 3D visualizations, this book provides you with tutorials based on creating generative art synchronized to audio. By the end of the book, you will be able to design and structure highly interactive, real-time systems.
Table of Contents (19 chapters)
Multimedia Programming Using Max/MSP and TouchDesigner
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

More sampling


So far, we have played samples only using [groove~] by providing speed and starting point/loop points. Often, we need more control than that; for example, sometimes, we need to play a specific position at a specific point in time, or we want to modulate the position somehow. A basic setup is shown in the following screenshot; using [play~] for instance, we access a buffer with a position in milliseconds:

In the preceding screenshot, we implemented both a one-shot and a looping functionality using [play~]. This, of course, is more complicated than the use of groove, but we won some options. Besides having founded the basis for understanding granular sampling en passant, we can, for example, play a sample from one buffer and record it to the same position of another buffer very easily using this technique. As there is [play~] for position-based playback, there is poke~ for position-based writing. Transferring audio data from one buffer to another is easy; we can send a duplicate...