Toonloop: animation for live performances
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Part Number | 5 | |
Number of Parts | 39 | |
Author | ||
License | CC Attribution - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/21678 (DOI) | |
Publisher | ||
Release Date | ||
Language | ||
Production Place | Montreal |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
3
16
18
20
22
26
29
31
37
38
00:00
Convex hullResultantMultiplication signOrder (biology)Process (computing)outputProjective planeRight angleLoop (music)Demo (music)CuboidVideo gameSource code
02:08
outputVideoconferencingWebcamMultiplication signSpacetimeVideo gameComputer animationLecture/Conference
02:34
Real numberDirection (geometry)InformationBitLoop (music)WordRight angleMedical imagingTouchscreenDifferent (Kate Ryan album)ProgrammschleifeLecture/Conference
03:43
Direction (geometry)Computer animationLecture/Conference
03:58
Object (grammar)Lecture/ConferenceComputer animation
04:18
InformationLoop (music)Lecture/ConferenceComputer animation
04:40
First-person shooterInformationBit rateUltraviolet photoelectron spectroscopyMedical imagingFrame problemInformation2 (number)Computer animationLecture/Conference
05:02
Online helpInformationKey (cryptography)Medical imagingScripting languageGastropod shellComputer iconMultiplication signoutputBitMultilaterationVideoconferencingRepresentation (politics)Computer virusOpen setFunction (mathematics)Database normalizationCASE <Informatik>Communications protocolComputer animationImage resolutionFrame problemKeyboard shortcutSoftwareMiniDiscMessage passingAdditionComputer configurationSource codeExterior algebraLine (geometry)Right angleConfiguration spaceType theoryOverlay-NetzLoop (music)DigitizingPlanningSoftware testingPresentation of a groupSingle-precision floating-point formatComputer animationLecture/Conference
09:50
Graphics tabletMessage passingGame controllerOpen setCommunications protocolDirection (geometry)MathematicsMedical imagingState of matterProjective planeoutputSoftwareImage resolutionInterface (computing)Sound effectMusical ensembleMIDIComputer fileHard disk driveDisk read-and-write headFrame problemKeyboard shortcutCASE <Informatik>Shared memoryRule of inferencePatch (Unix)HypermediaScripting languageUser interfaceRange (statistics)
12:52
Real numberMIDIoutputGraph (mathematics)QuicksortComputer animation
13:19
FlagSelectivity (electronic)Contrast (vision)AdditionInterface (computing)Personal digital assistantComputer configurationLine (geometry)Configuration space1 (number)NumberSound effectVideoconferencingProper mapIterationScaling (geometry)Electronic visual displayPlanningMedical imagingShader <Informatik>Lecture/Conference
15:24
MultiplicationWindowPlug-in (computing)InformationResultantCoefficient of determinationMultiplication signSound effectComputer animation
Transcript: English(auto-generated)
00:00
Thanks everyone, my name is Alexander Casey, and I'll present you Toonloop. This is a technical talk, so I'm going to go into details, and later this afternoon I have an artsy talk in which I will more rather present the ideas behind Toonloop
00:25
and how it can be used for creative stuff. But now let's get our hands dirty and open the hood of Toonloop. So, Toonloop is a live animation performance tool. I created it to allow artists to make performances in which they show their creation process
00:47
as well as the results in order to make live performances, like live shows. So the animation is shown, and also we can see the live input of the camera
01:02
at the same time as the results. And the result is a looping clip, so that's why the name Toonloop for looping cartoons. So it's a stop motion tool, and well I guess I'm going to give you a little demo.
01:27
Alright, so this is Toonloop. Actually I'm going to switch over to another camera, it's going to be more fun.
01:46
Whoa, that was a clip that I saved previously. I've done that clip in France a couple of months ago. I'm going to start a new project.
02:00
Okay, there you go, fresh start. So, what you can see on the left is the live video input of my little webcam.
02:21
Indeed this is not a very good camera, it's just a webcam, but it also works with DV cameras. So I'm going to press space bar a couple of times so that you guys can raise your hand or do stuff like that. Unfortunately I can't zoom right now.
02:45
Okay, now I'm going to rotate this camera so that everyone gets dizzy. Okay, so what we can tell right now is, well the image on the right is looping,
03:05
and so it's constantly looping. Yeah, looping is a word. And well, I can make this loop differently. Like this is a random loop, and this is going to be backward.
03:24
Or actually if we press I, we're going to have a little bit more information about what's going on. So a little bit more info here. The direction we can see it's yo-yo, so this is going back and forth. You guys are quite funny, isn't it?
03:42
And I'm going to make this full screen so that's more fun to look at. So there's other directions, this is backward. So if you check it out, it's going backward, remember?
04:00
Anyway. And there's other directions, like drunk. Drunk is like, well you go back and forth and then one step forward, two step backward, and then, you know, randomly, that's inspired from a Pure Data object. And this is, yeah, this is back to forward.
04:22
So well, I'm going to continue, give you a little tour. You can use toon loop in a portrait, like if you put your camera like this, like sideways, it works too.
04:41
And there's other layouts, there's like, well there's some layouts in which you can put the two images, one on top of each other. So that works also. So this is the info, you can make the image faster of course. This is 60 frames a second.
05:06
Okay. And well, there's some help, you can get some info about what key to press. Right now toon loop is only controlled by the keyboard,
05:23
mainly controlled by the keyboard, but there's other inputs and outputs, and I'm going to tell you more about this. Yes, question? Yeah, sorry, I might have missed it, but can you see the previous frame that you took as a reference so that you can... Yeah, there's an onion skinning feature.
05:44
Okay, I'm going to create a new clip actually, because that one was a little bit crazy. So I'm going to make some close shots of my eye maybe, something like that. So then if I press O, I can see an overlay of the previous frame I took so that I can
06:03
position my eye in this case on top of the previous eye. And you can change the opacity of the onion skin. Yeah, this is a lot of fun.
06:25
And, okay, I'm going to talk a little bit about the inputs, and then I'm going to talk a little bit about the outputs of toon loop. So for the inputs, there's video inputs, there's video for Linux, this is what I'm using right now with my little webcam,
06:41
and it also supports DV cameras. DV cameras are the old cameras with cassette, but they usually give you a pretty decent picture quality, so that you can zoom, you can change the shutter speed and stuff,
07:01
or like the opening of the iris. So that's a lot better, that's what I use for performances myself, DV camera. It also supports X11 input, which gives you the live screenshots of your desktop. That can be handy for presentations or screencasts.
07:20
I don't know, I never used it myself. It was just easy to implement, so I did it. And there's the Gstreamer test picture, but that's not quite useful. And so that's for the video input, and right now it supports only four to three ratio images,
07:44
but I'm planning to support more ratios, more image size ratios soon, such as 16 to 9 and stuff. That should be trivial to implement, really.
08:04
And I'm also planning to support HDV, I'm almost there. HDV gives you very large images, 1,400 per 1,080, and also I'm planning to support Gphoto2 input,
08:22
but that's for later, that's a little bit of work, so I need help for that if anyone is interested. Yes? I point to you to stop motion before, like this other animation software, I presented in a lightning talk, I think last time here in Montreal,
08:40
when it comes to supported input things, they have an interesting capability in that they actually support using just shell scripts to pull in images, so that the user can just configure a command line command, for that it's like capturing from, say, single frame from HDV or digital camera, or some alternate imaging source. It's just kind of an interesting option to have
09:01
in addition to hard-coded native capabilities. That's very interesting, thanks for the suggestion. I was actually planning to do this, like at least support some network messages that would allow you to import some image from the disk,
09:21
so that's pretty much what you mean. I was planning to do it, but I didn't thought about all those other input types that were open, so thanks for the suggestion. I'll do it today, like tonight. No, no, kidding, it's going to take a few days.
09:41
Talking of OSC, or of network protocols and stuff, Toonloop can be controlled using OSC protocol. The OSC protocol is a network protocol. It means open sound control, so that's intended to be used with
10:04
musical software, like audio software. It's rather simple. This is the OSC interface of Toonloop. It supports messages such as grab a frame, change the FPS, move the playhead to a given direction.
10:25
You can, of course, save the clip. You can also save the project. Toonloop has state saving, so all your images are saved as JPEG images on your hard drive.
10:40
You can add, remove frames, change the playback direction. Pretty much everything you can do with the user interface, you can do it with open sound control messages. One thing I didn't mention is the image size for the input
11:04
can be variable. You can specify whatever image size. There's actually V4L2 cameras that provide quite large images, so that can be quite useful for large images.
11:21
For input, Toonloop also provides MIDI interface. I'm going to show you a little MIDI script. This is an XML file that specifies what each note on a keyboard,
11:43
because MIDI stands for Musical Instrument Digital Interface, so it's for pretty much piano or other musical instruments. You can control Toonloop with musical instruments, and that's quite handy for live performances because I created Toonloop to make shows.
12:01
These are rules, MIDI rules. Each note is, in this case, hooked to selecting a different clip. On my keyboard, I have 40-something notes, so each note selects a different clip. Also, the controls,
12:21
those knobs on the keyboard, can apply effects and change the value of effect given a certain range, like this guy's saturation from 0 to 2, so 2 means 200%. I have a little...
12:40
I'll try to show you this quickly. I have a little example of PDPatch. Pure Data is a little software for coding with graphs and things like this.
13:01
I just need to select my MIDI input. Here's my clip. I should be able to change the miscellaneous stuff, like saturation. No, it's not working at all. Oh, I need to restart Toonoop, sorry.
13:21
I didn't use the proper flags. Right now, the interface is only for setting up your configuration options, you need to do it manually on the common line. That's quite annoying. I'm planning an assistant with launch Toonoop with no
13:43
common line option. It should display a little assistant in SVG buttons, in all the interfaces in Clutter. I use Clutter GST to display the video in Clutter.
14:05
Let's make another clip. What can I do? No, that's not nice. I'm going to do something like this.
14:24
Now I'm going to simulate sending MIDI notes. That should change the saturation of the image, here you can see. This is totally grayscale, this is like 200% saturation. That's in the middle. There's also weird effects like
14:41
additive crossfade. That's quite weird. This is all done through either Clutter opacity stuff or GLSL shaders. I'm changing the contrast here.
15:03
You can change the live feed opacity. Well, anyway. Select a different clip. I'm choosing clip number two, which is empty.
15:20
Now back to clip number one. It's a lot of fun. I'm planning to add plugins so that you can write more effects.
15:40
OK, I have no more time. I also have an info window, which is a separate window. There's a lot of paths for the future features, but I have no more time. I guess I'll tell you more about this this afternoon in my other talk. We have one extra talk this morning, so it's getting late. Maybe I'll delete.
16:00
Soon, 20 minutes. I think questions, we can keep it for this afternoon. We have one last there is one last talk.