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

Preface

This book is about the creation of multimedia content with a strong emphasis on real-time generation of content. The two software packages, Max/MSP and TouchDesigner, are chosen as specialized tools to make the generation of audio and video material as flexible and intuitive as possible. Programming inside these languages/tools makes it easy to come up with any tool you might need in order to realize most abstract visions of artistic expression or simply to automate a process that needs to be done regularly. Have you ever lacked control over one of your favorite audio or video effects? Well, let's just build it ourselves! Have you always had an idea for your perfect individual synthesizer? By the end of this book, you'll be able to build it! Both artists and technically interested people are addressed, as the goals of the provided code are not only always headed towards practical needs of multimedia arts but also explained technically.

This book attempts to provide all the necessary tools and crafts in order to enable you to achieve both technical and artistic aims. All of them? Both software packages, Max/MSP and TouchDesigner, are well documented. Trying to replace this documentation of two fast-changing pieces of software would be inappropriate. This book relies on you to consult this documentation, and therefore, the content of this book will go a lot further. While the initial chapters will address people who have never worked with the software, at the end of this book, very advanced topics will be covered. The idea is to not only provide a very profound basis to start with multimedia programming, but also to rely on the documentation and integrated help systems of the software packages, thereby covering as much material as possible. This idea of both providing a solid basis and reaching for advanced techniques also makes it a good repository of concepts, techniques, and best practices. This is even true for me, the author, as I have also learned a lot during the course of writing this book, and have already found myself using it to look up techniques I forgot.

What this book covers

Chapter 1, Getting Started with Max, will allow us to learn what Max/MSP is about, what we can use it for, why we use it, and how to use it.

Chapter 2, Max Setup and Basics, will allow us to set up our custom Max system, go through the relevant settings, and start diving into programming with Max.

Chapter 3, Advanced Programming Techniques in Max, starts with building a simple synthesizer, and then covers advanced techniques and introduces topics such as parameter saving, structuring our programs, and how to use Max in a professional manner.

Chapter 4, Basic Audio in Max/MSP, starts with how to specifically deal with audio, as the previous chapters dealt with Max in a more general way. Various synthesis techniques, sampling, and some digital signal processing theory is introduced.

Chapter 5, Advanced Audio in Max/MSP, takes a deeper look at audio-processing techniques. More sampling, granular sampling, and effects such as compression and reverbs are introduced, and spectral techniques are also discussed.

Chapter 6, Low-level Patching in Gen, specifically deals with audio in Max/MSP's Gen. Filters as well as simple physical modeling networks are discussed.

Chapter 7, Video in Max/Jitter, explores Max/MSP's video engine, Jitter, which is used to generate some simple 3D scenery.

Chapter 8, Max for Live, is about how Max and Ableton Live are a match made in heaven. We'll learn how to make this match for our patches, how to use Max for Live, and how to prepare our patches to be used inside Live.

Chapter 9, Basic Visualization Using TouchDesigner, introduces TouchDesigner to create real-time visualizations of our audio processes.

Chapter 10, Advanced Visualization Using TouchDesigner, discusses topics such as 2D compositing, time syncing, and 3D rendering.

Chapter 11, 3D Rendering and Examples, explains in more detail how TouchDesigner is used for more complex and bigger 3D scenes and 3D rendering.

Chapter 12, Connecting Our Software to the World, explains how after creating complex programs we might want to connect them to the outside world using sensors, motors, multi-touch screens, and multispeaker setups. Some techniques for addressing such situations are explained.

What you need for this book

To get the most out of this book, Cycling '74 Max/MSP 6 or later is needed as well as Derivative's free software TouchDesigner FTE 088.

Who this book is for

This book is for a beginner in both Max/MSP and TouchDesigner, or more broadly speaking, for a beginner in multimedia programming. Due to the advanced nature of later chapters, it can also be very helpful even for experienced users and programmers.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "We can use the me.time.frame parameter to get the frame number."

A block of code is set as follows:

add_1 = in1 + 1;
mul_2 = add_1 * 0.5;
sub_3 = mul_2 - 0.2;
out1 = sub_3;

New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "Change the view of the sidebar to the Explorer, Inspector, Reference, or Max window."

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply send an e-mail to , and mention the book title via the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code

You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you. In case of Max examples, all examples (except for the first two chapters) are provided as so called Max projects. For each chapter, just open the corresponding *.maxproj file.

Downloading the color images of this book

We also provide you a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from:

https://www.packtpub.com/sites/default/files/downloads/9716OT_ColoredImages.pdf

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title.

To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at if you are having a problem with any aspect of the book, and we will do our best to address it.