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.
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.
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.
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.
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."
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 <[email protected]>
, 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.
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.
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.
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
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 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 <[email protected]>
with a link to the suspected pirated material.
We appreciate your help in protecting our authors, and our ability to bring you valuable content.
You can contact us at <[email protected]>
if you are having a problem with any aspect of the book, and we will do our best to address it.