Beethoven’s Google Doodle

To celebrate Ludwig van Beethoven’s 245th Year, Google created an interactive doodle to help Beethoven arranging his masterpieces during his unfortunate journey to the symphony hall. Produced by Gregory Capuano and designed by Leon Hong, the Google engineers Jordan Thompson, Jonathan Shneier, Kris Hom and Charlie Gordon programmed a new masterpiece of animation. The Piano recordings have been done by Tim Shneier. Nate Swinehart was responsible for animatics and additional art.

The following figures show some key scenes from the interactive animation.

beethoven_1beethoven_2beethoven_4beethoven_5beethoven_6beethoven_7beethoven_7abeethoven_8beethoven_9beethoven_10beethoven_10abeethoven_11beethoven_12beethoven_13beethoven_14beethoven_15beethoven_16beethoven_17beethoven_18beethoven_19beethoven_20

Animata : real-time animation software

Last update : August 14, 2015

Animata is an open source real-time animation software, designed to create animations, interactive background projections for concerts, theatre and dance performances. It is controlled by OSC (Open Sound Control) messages and it can easily be controlled from OSC enabled software. There is not much documentation about Animata. There are a few videos that show, with no narration, how to do some basic scene construction.

Animata was developed by Peter Nemeth, Gabor Papp and Bence Samu at Kitchen Budapest (KIBU). Founded in 2007 and powered by Magyar Telekom, KIBU is a space where a multidisciplinary team of designers, technologists, artists, researchers and entrepreneurs are working in a hyper-collaborative environment to create value and push boundaries forward.

In October 2012, Gabor Papp created a Google Group as a forum for interested people in Animata, to replace the old email lists animata-users and animata-developers.

Executables of Animata versions 004 and 003 for Windows and Mac OSX are available at the Animata KIBU website. Some examples and sound-input programs for Windows and for Java can be downloaded at the same website.

The source code can be downloaded from a subversion repository at Google Code. The last committed changes have been done by Gabor Papp on April 22, 2013. A short technical documentation about Animata is available at the KIBU website.

I tried to compile the Animata source code on a Debian Linux development system. Animata requires the fltk package 1.1.x. FLTK, pronounced fulltick, is a cross-platform C++ GUI toolkit for Linux, Windows and Mac OSX. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation. The current FLTK version is 1.3.2, but I didn’t manage to compile the Animata source code with this new version.

To install the FLTK version 1.1.11, I did the following actions :

  • download the file fltk-1.0.11-source.tar.gz from the FLTK website
  • unrar the package
  • navigate to the extracted folder in terminal
  • run the following commands in terminal as root : ./configure, make, make install

The result is shown hereafter :

Animata running in Linux

Animata running in Linux

The linux executable can be downloaded from this website.

 Animata and processing

Processing is an open source programming language and environment for people who want to create images, animations, and interactions. Michael Forrest was the first to extract the playback view from Animata for integration in Processing applications in January 2009. One month later, Zeni forked the program to animatap5. In May 2013, James Britt forked the project from Zeni, revamped and extended the program to AnimataP5-ng. I managed to compile the AnimataP5-ng library with the included rake file. The Animata sketches run fine on Processing 2.1. James Britt posted a comprehensive introduction to AnimataP5-ng on his blog.

Animata Processing 2.1 sketch

Animata Processing 2.1 sketch

Animata on other platforms

Michael Forrest ported the Animata renderer not only to Processing in 2009, but also to the Flash and iPhone platforms. There are no executable files available at these Github websites, only the source code with building files to do your own compilation. A video referring to the iOS project is available on Vimeo, the Flash Tree Artwork of Michael Forrest  can be viewed on his website.

Animata Tree Artwork by Michael Forrest

Animata Tree Artwork by Michael Forrest in Flash

Animata, OSC and Kinect

Controlling Animata with a mouse and doing real-time animations is pretty cool by itself, but Animata really shows its true potential when you control it with OSC. Matti Niinimäki (MÅNSTERI) from Finland was the first to report about his experience with Animata, OSC, Puredata , Max/MSP, Quartz Composer and Kinect. This link shows you all posts of Matti Niinimäki tagged with Animata. OSC Informations provided by Matti Niinimäki have been included in a Wiki embryo usinganimata.wikia.com.

Boris Masis from Russia reported in Februrary 2011 about his Kinect animations with Animata. James Britt wrote in December 2011 about his Kinect Hackings for Artists. He published a note on his Neurogami website about his talk, related to this subject, given at Tiny Army on February 1, 2012. Code for this talk is available at the Neurogami Gitbub website. Yannick Loriot published a tutorial in two parts how to install  OpenNI on Windows for Kinect.

The following list provides links to videos showing animations done with OSC :

OSC Tools

The following OSC tools can be used to control Animata animations :

3D character rigging and inverse kinematics

Pinocchio 2007, by Ilya Baran and Jovan Popovic

Rigging (skeletal animation) is a process used in computer animation, particularly in the animation of characters, to efficiently mimic real world skeletal systems for animation purposes. Characters are represented in two parts: a surface representation used to draw the character (called skin or mesh) and a hierarchical set of interconnected bones (called the skeleton or rig) used to animate (pose and keyframe) the mesh.

This rigging technique is used by creating a series of bones to form skeletons. Each bone in the skeleton is responsible for deforming and animating a part of the character mesh and has a three dimensional transformation (position, scale and orientation) The bones  form a hierarchy, the skeleton.

Usually the animator is assisted through inverse kinematics and other goal-oriented techniques. The benefit of rigging is that an animation can be defined by simple movements of the bones, instead of vertex by vertex changes. The drawback of rigging is that it does not provide realistic muscle movement and skin motion.

Manual rigging to specify its internal skeletal structure and to define how the input motion deforms its surface is a tedious process. Most 3D modeling & animation packages used by professionals provide inbuilt automatic rigging and skinning algorithms. An example is the BlenRig System for Blender.

An experimental auto rigging and animation tool called Pinocchio was presented in 2007 at SIGGRAPH by Ilya Baran and Jovan Popovic from the Computer Science and Artificial Intelligence Laboratory at the Massachusetts Institute of Technology (MIT). The corresponding paper “Automatic Rigging and Animation of 3D Characters” was published in the ACM proceedings of SIGGRAPH. The source files, binaries for Windows and test meshes are available from the Pinocchio project page at MIT.

A commercial standalone automatic rigging tool, called Jimmy|RIG, was created by Origami Digital LLC, to allow people to quickly apply motion capture data to their characters without the tedious process of painting weights and setting up a skeleton. Different software versions are available, a Lite version starts at 150 $US.

A web-based automatic rigging solution is offered by Mixamo which provides the first premium quality 3D character animation experience entirely online.

The following list shows some links to videos related to automatic rigging :

 

Create videos on Youtube

YouTube recommends the following applications to animate your own story or to create a video slideshow.

  • GoAnimate is a fun app that lets you make animated videos, for free, in just 10 minutes, without having to draw. You can even create your own cast of characters.
  • Xtranormal lets you to turn anything you type into a fully-animated CG movie. Set up your scene, type in your script, and animate it instantly.
  • Stupeflix Video Maker lets you tell a story with your digital content. Mix pictures, videos, maps, text, music and watch Stupeflix produce a stunning video in a few seconds.
  • One True Media by SpotMixer is a simply powerful video creation tool. Robust, fast and easy video editing. Combine and clip video and photos.

Scratch for Kids : imagine – program – share

Scratch

Scratch is a new programming language that makes it easy to create interactive stories, animations, games, music, and art — and share the creations on the web. Scratch has been created by the “Lifelong Kindergarten Group” at the MIT Media Lab under the lead of Andrés Monroy-Hernández.

Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design.