Book Image

Multimedia Programming with Pure Data

By : Bryan, Wai-ching CHUNG
Book Image

Multimedia Programming with Pure Data

By: Bryan, Wai-ching CHUNG

Overview of this book

Preparing interactive displays, creating computer games, and conducting audio-visual performance are now achievable without typing lines of code. With Pure Data, a graphical programming environment, creating interactive multimedia applications is just visually connecting graphical icons together. It is straightforward, intuitive, and effective. "Multimedia Programming with Pure Data" will show you how to create interactive multimedia applications. You will learn how to author various digital media, such as images, animations, audio, and videos together to form a coherent title. From simple to sophisticated interaction techniques, you will learn to apply these techniques in your practical multimedia projects. You start from making 2D and 3D computer graphics and proceed to animation, multimedia presentation, interface design, and more sophisticated computer vision applications with interactivity. With Pure Data and GEM, you will learn to produce animations with 2D digital imagery, 3D modelling, and particle systems. You can also design graphical interfaces, and use live video for motion tracking applications. Furthermore, you will learn Audio signal processing, which forms the key aspect to multimedia content creation. Last but not least, Network programming using Pure Data extension libraries explores applications to other portable devices.
Table of Contents (17 chapters)
Multimedia Programming with Pure Data
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Preface

This book will introduce the Pure Data software to visual artists, media designers, and programmers to develop multimedia applications graphically without the need to write codes. Creating interactive multimedia projects is a demanding task. The authoring process requires programming skills in addition to the techniques to prepare and edit digital media content. Proprietary software packages, such as Adobe Director and Adobe Flash are available for designers to author multimedia projects. For the web standard platform, designers can also use the HTML5, CSS, and JavaScript to author web-based multimedia content. Both cases demand the mastery of text-based programming skills such as JavaScript and ActionScript.

Pure Data is a free graphical programming environment where users can write programs by drawing visual objects on the screen and connect them together to form a program. This book will provide the step-by-step details to prepare interactive multimedia content by using Pure Data.

Miller Puckette is the main designer of Pure Data. When he worked at the IRCAM (Institut de Recherche et Coordination Acoustique/Musique) in France, he developed the software Max for interactive computer music applications. The Max/MSP software from Cycling'74 (http://cycling74.com) is the commercial derivative of the original Max. Pure Data (Pd) is the free version supported by the open source community.

Pure Data was originally written for electronic music applications. Over the years, developers contributed a lot of additional features, called externals in Pure Data terms. This book will use a major external Graphics Environment for Multimedia (GEM) for the demonstration. Towards the end of the book, it also explains how readers can add other external libraries to their own system.

What this book covers

Chapter 1, Getting Started with Pure Data, prepares the readers with the graphical programming environment and introduces various types of windows, menu items, messages, and operation modes of Pure Data.

Chapter 2, Computer Graphics with the GEM Library, starts creating 2D and 3D graphics and simple animation by using the objects in the GEM external library.

Chapter 3, Image Processing, illustrates the pixel operations in the GEM library. It includes commands to obtain external images from the still photos, digital videos, and live webcam, and also a number of imaging filters and effects that can be commonly found in an image-processing software, such as Photoshop.

Chapter 4, Interactivity, integrates the use of mouse and keyboard controls as interaction devices and introduces the mechanism to build graphical user interface with the GEM library.

Chapter 5, Motion Detection, applies a more advanced approach for interaction design. It shows the readers how to detect motion in front of a webcam and uses the information to create interactive applications.

Chapter 6, Animation with Particle System, explains the basics of particles system in the GEM library and combines the particles system to create an artwork that responds to the readers' body movement.

Chapter 7, Audio Programming, describes the use of audio in Pure Data and helps readers to integrate audio content in their multimedia production. It also uses sound input (microphone) as an interaction device.

Chapter 8, Interface with the Outside World, enables readers to connect Pure Data programs to other systems, such as computer network, mobile phone, and external hardware through microcontroller.

Chapter 9, Extending Pure Data, provides a conclusion of learning Pure Data for multimedia production, and points to the resources that readers can seek further reference. It also demonstrates how readers can install other external libraries, such as OpenCV, and Kinect libraries.

Appendix, Communities and References, provides more information on Pure Data.

What you need for this book

The main Pure Data website is http://puredata.info. Pure Data comes with two distributions: Pure Data and Pd-extended. Pure Data (vanilla) is the original version by Miller Puckette. Pd-extended contains Pure Data itself and a number of commonly used external libraries. This book will use the Pd-extended version as it already includes the GEM library. The website for GEM is http://gem.iem.at.

Download Pd-extended for your operating system from http://puredata.info/downloads/pd-extended. Pd-extended is available for Microsoft Windows, Mac OS X, and Linux. For Linux, Pd-extended comes with the binary packages for Ubuntu and Debian. At the time of writing, the latest release is 0.42.5. The beta release is 0.43.4.

The installation instructions for various platforms are:

  • Windows: Download the file and start the installer. It will automatically install in the right Program Files folder.

  • Mac OS X: Download the file, open the disk image, and drag the Pd-extended icon to the Applications folder. For OSX Mountain Lion users, you may need to install the XQuartz windows system first from http://xquartz.macosforge.org.

  • Linux: Most Linux versions are Debian software package. Use the corresponding package manager in your Linux operating system to open it for installation.

Double-click on the Pd-extended application; you can expect to see the console window. In this book, I mainly use the Mac OSX version if platform differences are insignificant.

Who this book is for

Pure Data applications are mainly for real-time multimedia projects. Audio-visual performers (VJ) have been using Pure Data to create interactive imageries in their performance. Media designers with no programming experience can learn to prototype their ideas very quickly with Pure Data and GEM. In creative art/design curriculum, Pure Data and Processing (http://processing.org) are the two most popular free programming platforms to teach interactivity to art/design students. The book will also provide a comprehensive set of learning outcomes for interactive media educators.

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: "Insert a new object called gemwin to create a graphics window."

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: "To create a new patch, navigate to File | New to make an empty patch".

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.

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. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

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.