Scott Garner has taken an effective and useful approach for his motion class assessment. Rather than do the assignment himself, he decided to program an assignment-completing robot!

This is a screencast of a Processing sketch I developed called TypeStar. It’s basically a karaoke machine that renders lyrics in realtime according to a number of preset visualization schemes.

It was originally created for a project in my Type in Motion class which required students to create a kinetic type animation for the Busy Bee scene from the movie Best in Show. I decided that rather than create yet another kinetic type piece, I would write a kinetic type engine.

TypeStar from Scott Garner on Vimeo.

The mouse controlled camera is pretty rough, but of course Scott has thought of this. I’d love to see some smooth, generative camera-control added as well.

Currently the sketch can be controlled via keyboard and mouse along with rough support for SMS control on laptops, iPhone control via OSCemote and oscP5, joystick control via proCONTROLL and midi controller support via proMIDI.

This kind of problem solving is precisely where the world of artistic, accessible code is taking us. Rather than each project having to reinvent the wheel to achieve a particular style, if one person has taken the time to build a framework, each subsequent artist can help to increase its capabilities, and use their creative time to find more interesting uses.

Update:  Scott has released standalone apps for Mac, Windows and Linux, bundled with the TypeStar processing code! Thanks Scott.

  • http://www.luthierlab.com Mudo

    Niiiiiiiice!

  • http://www.bulbcollective.com Owen

    Lovely, but am I being dense in not being able to find a d/l link for the processing sketch or library?

  • http://www.jaymis.com Jaymis

    @Owen: I don't think Scott has released it yet. He said that's his intention though.

  • http://www.bulbcollective.com Owen

    @jaymis wonderful – the last paragraph of the post led me to believe it had been shared. I shall await with baited breath! :)

  • dave

    baited breath…nerd

  • dietapete

    Well but I don't quite get it.. it is not being processed which words appear when or is it? That would be like magic.

  • http://scott.j38.net/ Scott Garner

    Hey all, I just put up some stand-alone application versions along with the source:

    http://scott.j38.net/interactive/typestar/

    Have fun!

  • 639me

    kool!!
    i'd love to have the following explained:
    what is the #GAP:?
    what are the second and third columns? in the following clipping it would be the 1, 2 and 3, and the 58, 60 and the 63?:

    : 19 1 58 I
    : 20 2 60 lost
    : 22 3 63 my

  • http://scott.j38.net/ Scott Garner

    Hey 639me,

    If I remember correctly, #GAP indicates the amount of time between the start of the song and the start of the lyrics. It isn't really necessary because you can just offset the lyrics, but I think it exists in case there is a music video that goes with the song where the actual audio doesn't start when the video does.

    The other two columns, I believe, are duration and pitch. I never did use pitch, but it might be interesting to play around with.

    I just dug up more info on the UltraStar file format here:

    http://ultrastardeluxe.xtremeweb-hosting.net/wiki