subscribe to rss feed
subscribe by email

Puppet Kaos - where Kelvin Kao plays with puppets and tell random stories

Running Sound Cues – The Second Time

In my previous post, I shared my experience of running audio cues for a show for the very first time. I was pretty nervous. I also predicted that I would be much more relaxed the second time around.

Well, I’ve just done it the second time, and I indeed felt a lot more comfortable doing it!

To recap, the Los Angeles Guild of Puppetry has been putting on Puppet Slams multiple times a year. What is a puppet slam, you asked? It’s just like a poetry slam, except instead of poetry, you have puppets. Basically, puppeteers sign up to each perform a short piece in the show. It’s really fun because you have no idea what each person is going to do, even though many of us know one another.

Since I’ve already run audio cues once (and did it well), I’m doing it again for the second time. Basically, my job is to compile all the music and sound effects from all the performers beforehand, and start and stop the playback on my computer at the right time during the show.

The Preparation

Last time, the sound designer, Noel, having realized that I was basically operating the audio cues out of a Spotify playlist, recommended using QLab instead. Apparently it is what professionals use and there’s a free version that has all the basic functionalities as well.

So I downloaded QLab and put together a list of sound cues. I clicked around and was glad to find that it handled many things for me that I had to do manually in the last show. For example:

  • In the last show, I had some sound files that were softer and some louder. I had to take notes during rehearsal on what the desired volume was, and adjust the master volume slider before playing each cue. With QLab, I can individually set the level of each cue during rehearsal. During the show, all I do is press the space bar.
  • In the last show, I had to insert silent tracks between the actual audio tracks in the playlist. This is so that when a track finishes playing, the user doesn’t hear the next track. With QLab, since it’s specifically designed for running audio cues, it doesn’t attempt to play the next track like a music player would do.
  • In the last show, I had to take notes in a text editor and refer back to it during the show. In QLab, there’s a box attached to every cue, so all I had to do is type my notes into whichever cue it’s attached to.
  • In the last show, if I had to only play part of an audio file, I had to import it into an audio editor, trim off the parts I didn’t need, export the edited version, and finally throw it back into the playlist. With QLab, I just say start at this timestamp and end at this timestamp. And that’s all there is to it.

What a pleasure to use a tool that’s specifically tailored to the task at hand!

I did run into a problem while trying it out, though. Every time I pressed the spacebar on my keyboard, the program just started playing the next cue, without stopping the previous sound. So when I pressed the spacebar five times, I heard five songs playing at the same time!

Obviously not what I wanted. So I went onto Youtube and watched several tutorials. Turned out that I need to think differently.

I needed to stop thinking about it like a music playlist. When you play music, you always play one song at a time. But in sound effects, I might start with some ambient sound of rain. Three seconds later, I might cue a thunder. After that, some sound effects for wind blowing through trees, all while still playing the background rain sound in a loop. This is why they overlap. So a cue is not a sound file, but some event that happens. A cue can be starting a sound. A cue can be stopping a sound that’s currently playing. A cue can be fading out a sound that’s currently playing. It works really well when you think about it differently.

Fortunately, as a software engineer, I’m very used to thinking about one problem in several different ways, and am above average at picking up a new piece of software.

Tech Rehearsal

As usual, we arrived a few hours before the show to get ready. We went over the transitions for each piece. This includes stuff like when a performer should enter the stage, when the lights should come up at which location, when the projection gets turned on, when the audio cues come in, which set pieces should be on stage, etc. TJ, the tech guy, was just so on top of everything, working out all the lighting and microphone needs with the performers. Kajal, the stage manager, figured out where each piece would move on and off stage. They were so awesome at this, that for the most part all I had to do was sit back and take notes about the audio cues.

In the picture at the top of this article, you would see Adrian with a clipboard jotting down notes about when and how things like the puppet stage, tables, and projection screens should move. You also see a puppet (though blurry) on the puppet stage. This is TJ and the performer Erik figuring out the lighting. You can also see my view from the back of the stage. On the left side of my computer screen is the lineup, my cheatsheet for which performer was next. On the right you see QLab, what I was using to run cues.

Show time!

Because I already ran the sound cues last time, and I was actually using a proper tool that I could offload most of my work to, it actually was somewhat uneventful (which was good!) for me during the show. For the most part, I just had to press the spacebar at the right moment, because I already programmed the cues during the rehearsal. Basically I just had to tell the program, “hey, do the thing that we figured out in rehearsal, now!”

When the lights came up for Tara’s piece, I pressed spacebar and proceeded to just enjoy the show. If I weren’t using QLab, I would have been adjusting the audio level, and watching the audio playback so it didn’t spill into the next cue.

With Kate’s piece, same thing. Lights came up. I pressed spacebar and just enjoyed the performance.

With Grayson’s piece, I waited for her to give me a nod. And then I… pressed spacebar and just enjoyed the performance. Are you bored about this spacebar thing yet? That’s how uneventful it can be if you had programmed the cues properly during rehearsal.

Christine’s piece was actually a more interesting one, tech-wise. The stage was dark. I was waiting for the lights to come up before I cued the music. But then it seemed to me that TJ did not have the intention of doing so. Right away it became clear to me: apparently he was expecting me to go first, while I was expecting him to go first. So I just went ahead and cued the audio. Right after that, TJ cued the lights and Christine walked her puppet onto stage.

This decision was made in a fraction of a second. The audience wouldn’t have noticed anything unusual there.

Originally, Christine told me to abruptly cut her music at around the two minute mark. Since I was using QLab, I just needed to set an end marker for the cue instead of actually editing it. During the rehearsal, I learned what her originally intention was. She wanted the music to end when she popped the balloon. She was going to time it so that the balloon pop at around the two minute mark. I told her she could just do that forever, because I would just manually cut the music whenever I saw the balloon pop. And that was what I ended up doing.

And then it was Adrian’s piece. She would get into a pose and have this funny facial expression. And that’s when I would know when to cue the music. Again, spacebar.

Afterwards, I asked to Christine whether she was expecting music or light to go first, just out of curiosity. She said they were supposed to come up around the same time, but the audio would be the one taking the lead. So I guess I was the one that was wrong (oops). She said she didn’t hear the music or see the lights come up, so she was just going to start walking the puppet onto stage anyway. And at that moment, the music and lights both went into action. So I guess there was a delay of a fraction of a second, due to me not writing detailed enough notes. However, the audience wouldn’t have noticed anything.


This is yet another fun show. And once again, everything went smoothly. It had been a much more relaxing experience for me. Because of the proper tool, for the most part I’m just pressing a key and enjoying the show as if I were a regular audience member.

Enough about tech for now. I will post some pictures from the show soon!

Running Sound Cues for the First Time!

The Los Angeles Guild of Puppetry has been putting on Puppet Slams multiple times a year. What is a puppet slam, you asked? It’s just like a poetry slam, except instead of poetry, you have puppets. Basically, puppeteers sign up to each perform a short piece in the show. It’s really fun because you have no idea what each person is going to do, even though many of us know one another.

I have performed in the slams before. This time, however, I did not have a piece ready. Since I already told the organizer (Christine) that I would still help out with the slam in some way, and that the person that usually runs the sound cues (Adrian) could not be there for tech rehearsal that day, I was put on sound cue duty. This means that I would press play on my computer whenever a piece of music or sound effect needs to played.

Sounds simple, huh? However, sound is one of those things that when it’s done well, you don’t really notice it, but if there are problems, it’s very jarring. I would know. I’ve definitely seen my share of missed cues in college / community / amateur theater.

The Preparation

So, I really wanted to do it right. Besides, it just so happened that all of the people that have sound cues that day (Robin, Grayson, Alissa, Timmy) are my friends. I know how much they care about their art and really wanted everything to go well for them. I ended up going through a lot of preparation because of that. Some of it might be overkill, but hey, I wanted to try my best to get things right.

I actually started by creating a different user account on my computer. On this account, all sound effects like opening a window, and receiving a notification, are turned off. It is not running lots of programs at the same time, just to make sure that we don’t hear something that’s not intended to be part of the show. Notably, I disabled the sound that the Mac makes when you press volume up and volume down. This was so if I needed to adjust levels during the show, you wouldn’t hear the sound effects for that. (I went to a college show a few weeks later. They didn’t think of that, so you could totally hear the sound effects when they adjusted the volume. We wouldn’t want something like that.)

Then I listened to every piece to familiarize myself with them. I even opened them up as wave forms to see the levels to know which pieces were louder, and which were softer. Finally, I compiled them all into a playlist according to the order of pieces that was just given to me.

Tech Rehearsal

On the day of the slam, we arrived early at the theater for a tech rehearsal. We didn’t have time for a full run-through, but we did have a cue-to-cue. This means we basically practice all the transitions (moving set pieces, performers entering / exiting, sound cues starting / stopping, making lighting changes, etc.), skipping over most of the actual performance. Due to the lack of experience, I was starting music when I wasn’t supposed to, and forgot to cut music a few times. But hey, that was why we had rehearsals. As we heard the sounds on the sound system, I also wrote down what volume level each cue should be playing at and whether there was live vocals on top of them.

There were two things that really helped. One was that the video system had its own sound set-up so we didn’t need to worry about that part. Two (and more importantly) was that the audio tech, Noelle, was very experienced and was on top of everything.

Pre-Show Time

Finally, it was time to open up the house and let people in. Kujal, the stage manager, wanted to put some house music on. Unfortunately I didn’t have any prepared. So she just set up a Motown station on her Pandora and connected her phone to the sound system. I also took the time to make a few silent tracks so I could insert them into the playlist so that one cue wouldn’t spill into the next one (which, of course, I’ve also seen in college theater, especially in the earlier days when we ran all cues from a CD player!). I was just using Spotify for this, since it was what I was familiar with, hence least likely to make a mistake during the actual show. Noelle suggested using a piece of specialized software, QLab, which would make all these problems go away. I noted that and will try it next time.

The Show

And then the show started. I have to say, running sound cues (for the very first time) is more nerve-wrecking than actually performing on stage for me. Though I was watching the show from the back, I couldn’t enjoy it as much as when I was just an audience member, because I had to think about the next cue.

As the host, Victor, introduced Robin, I got her cue ready. I waited for her to scratch her butt for the second time, and the pointing of the finger, and then set the first cue to play. And then it just went the way it was supposed to go. I sort of joked to myself, “Robin and I are still friend after the show, check.”

And then I got to watch the show a little more because there were some pieces that either didn’t use sound cues or were videos.

The next cue was for Grayson. It was a shadow puppet piece. I was to watch for a particular visual element to appear at about the two minute mark and fade the music. I was also adjusting the levels subtly throughout the piece, because she was reading a poem on top of the music. I’ve been to performances where the background music would overpower the performers’ voices. The music would sound great but then the words (and hence the meaning) would be lost. So I was very consciously making sure her voice wasn’t drown out by the background music.

I initially was a little concerned that I wasn’t able to clearly see the visual to fade the music. Good thing that was only because we didn’t turn all the lights off during the rehearsal, and the shadows actually read much better during the actual show. Greg B., who was on the lights, gradually faded the lights and I faded the music out when we saw the cue. I thought it was great that the people on light and sound cues are both performers. You can fade the lights and sound in many ways (fast, slow, gradual, abrupt, etc.) but I felt like we just had this instinct of how to do it in a way that served the piece.

Two down, two more cues to go.

Next is Alissa’s piece. Now, this was the very first puppetry piece she created a few years ago, so I know it was very personal to her. I also know how much she cared about the sound going the way it should. In some other venues we’ve performed in before, I know she would ask the music to be turned up to a certain level because those venues didn’t have monitors. (Monitors here refer to speakers pointed at the performer or those earpieces they wear.) It might surprise some that, without monitors, the audience might hear the music, while the performer couldn’t hear the music themselves. Or rather, they could hear a little bit of the sound bouncing off the wall from the speakers that are pointing at the audience, but once they started singing themselves, they could no longer hear the faint music. Yes, I’ve had that problem myself before, and couldn’t tell if I was singing on beat and in key or not.

To prevent that from happening, I walked onto the stage myself during the rehearsal just to see if she would be able to hear the music. During the actual performance, we had another problem, though: her wireless microphone had some interference and was buzzing. Since she has this beautiful, but more importantly, strong operatic voice, Noelle decided to dial down her microphone. Afterwards she told me she would rather have the performer less amplified than have the buzzing sound. In response, I also dialed down the background music. My fingers were tweaking the volume levels the whole time, though, and I was ready to turn the volume back up if it looked like she had trouble hearing. The piece went smoothly. This was another example of us making quick decisions on the spot to deal with the situation and serve the piece as a whole. This is a live show. We couldn’t just stop it and do it over, so we got to quickly make these decisions based on what we thought would be the best thing to do in that scenario.

After that we had a few more pieces that didn’t require my cues. Finally it was the last cue of the night. I just needed to play a track for Timmy and fade it out when the characters (well, really just two hands) walked off the stage together. Easy. And phew, I was done.

We had a special guest, Kate Micucci, to sing her “Puppets Understand” song (you should watch the video; it’s quite cute!). She was awesome. It was always nice to see someone that obviously loves puppets and interacts super comfortably with them.

While this was happening, I was putting my engineering skills to use. I figured that the final bow could use a little bit of music and the song Kate was singing would be perfect for it. Since I had no access to wifi there, I used my phone for tethering. This means I turn my phone into a wifi router so my computer can connect and use my phone’s cellular data plan. I buffered the music video to make sure that it would play smoothly without hiccups. When her performance ended, and the host called every performer onto stage to take a final bow, I already had the song queued up to play in the background. The song happens to be very appropriate for the finale. I kept it playing as people exited.


And I was done. Everything went smoothly. I am certainly drawing a lot from my past experiences. College theater taught me a lot about all these things that could potentially go wrong. Engineering skills helped me put in place solutions and safety measures for things that might go wrong. All the time spent performing on stage taught me how to better serve the performance pieces and fellow performers. Hanging out with these people helped me be very aware of their needs during the show.

If I am to do this again, I’m sure I would feel like no problem, I got this. First time running sound cues made me nervous but it was also very fun and rewarding at the same time. I actually was already interested in running the sound cues since my college years, but I either ended up performing on stage or stage managing, depending on what the group needed at the time. It was nice to have this opportunity to do it for the first time. :-)

Me + Her (AKA “Cardboard”)

Want to see something really cool? How about a film where the entire world (characters and sceneries) were made of cardboard?


Click on the link to the film (11 minutes long) that was accepted into Sundance, and is now part of The Short List Film Festival:

Yes, I helped out a little bit on this (you can see my name in the credits among a big list of puppeteers).

Last year, my friend Keiko sent me a message telling me that she had signed on to be the lead puppeteer in a cool project named Cardboard. She would need additional puppeteers for some more elaborated scenes and said it would be great to have my help. Of course, I said yes. Later, she sent me some pictures of the characters and set pieces, all constructed out of cardboard. I was really impressed by how good they looked and the attention to detail.

Although what I did only showed up in the film for several seconds (a mouth movement here, a hand movement there, etc.), it was just nice to be involved with a cool project and work with fellow puppeteers (many of whom old friends). I will write about this experience later, but for now, enjoy the film!

PS. Oh yeah, I haven’t posted in like eight months. For the first half of the year, I was very busy working on major overhaul of an iPhone app that needed to be wrapped up before Apple’s big WWDC conference. But really, blogging just hadn’t been my top priority. And it looks like lots of communications and discussions just take place on social media now. But hey, I still like blogging and will still post here. So for the two (?) of you that’s still reading this blog, well… Hi!

Puppet Caroling

A few weeks ago, a friend had this idea of doing some Christmas caroling with puppets. We met and picked a few songs. And last weekend, we did a bit of puppet caroling at the Scholl Canyon Estates Retirement Community.

We were scheduled at noon, but there were some delays so we ended up doing it during lunch instead. We brought a smile to most of their faces. A minority of them were not showing much facial expression on their faces. They either weren’t quite capable of doing so, or were genuinely annoyed. But either way, we enjoyed doing it and most of them enjoyed it, as far as I can tell. It’s always nice to bring some joy into somebody’s life.


The songs we performed:
We Wish You A Merry Christmas
Silent Night
Deck The Halls
Let It Snow
Jingle Bells
Rudolph the Red Nosed Reindeer
Dreidel Dreidel

Michael Earl Benefit

On November 2, we had another benefit show for our friend, puppetry teacher, and the original Mr. Snuffleupagus, Michael Earl, who had been diagnosed with colon cancer. The organizer, Kristy Pace, turned the ReDiscover Center into an intimate theater space. Puppeteers Karin Tucker, Janine Pibal, Kevin Noonchester, Sarah Ho, and I provided entertaining puppet acts. Musicians James McKenna and Juliana Joya shared their great music with us.

Sarah and I performed a sketch about how puppets can make every sad and horrific movie scene better. The three we picked on were the scenes in which Rose let go of Jack in Titanic, in which Rhett walked away from Scarlett in Gone with the Wind (the “Frankly, my dear, I don’t give a damn” scene), and in which the movie producer discovered a horse head in his bed in Godfather. Here’s a picture taken during the performance. This is most likely the Titanic scene.


The audience loved it. It’s been a little while since I last performed a piece I wrote in front of a live audience (been mostly doing projects other people wrote), so it was good to see that reception. I also enjoyed working with Sarah, whom I’ve been friends with but haven’t gotten the chance to perform with. It was also nice to have friends Randy and Alvin (both computer programmers turned actor, for some reason) in the audience, as I haven’t seen them for some time as well.


It was also nice to finally meet Karin. She also trained at Puppet School and we have many mutual friends, so I knew we would meet sooner than later. (This isn’t exactly the biggest circle, you know.) More collaborations to come.

This is a small, intimate performance, so I doubt that we actually raised a big amount of money with the event. But I think what’s more important is the positive energy we are sending over. We all wrote notes that were sent to Michael. And he knew that he is inspiring all these puppeteers to come together, share stories, and use what he taught.

This is all very positive stuff, good for the mind and soul. I procrastinated on writing about this, so he’s already gone through his first chemo therapy by now. I’ve been told that all the encouraging messages that everyone has been sending him really helped him to be in better spirit. I was glad to hear that.

(Photos by Kristy Pace)

Poor Pussy – a short film

At the end of October and beginning of November, I spent two weekends helping out on set of a Columbia film school thesis film. It was tiring, but was a rewarding experience. Here’s a short video from their fundraiser page to give you a little bit of a background.

POOR PUSSY is a tragic love story set in late-1960s Chinatown. Mai, a proud but impoverished seamstress discovers that she may be pregnant with the child of her boss and lover, King. Over the course of a night on the town, Mai challenges King’s love, putting their relationship and her own future on the line, discovering a truth about him that changes her perception of him forever.

The director/writer, Kevin Lau, is currently going to Columbia, but decided to do the production in Los Angeles. His good friend, Leonard Wu, is co-producing the film, so he reached out to find people to help out. I signed on originally just because there are already a bunch of mutual friends (the co-producer, the assistant directors, the casting director, the lead actor, the sound guy, the art guy) on staff.

Originally, I was just going to be offering general help since I do know my way around a film set, but I also mentioned that I read and write Chinese pretty well and can help in that department. I, then, became the translator for the portion of the script that’s supposed to be in Mandarin.

Of course, the dialogue doesn’t always translate well between languages, so there’s a bunch of back and forth between the writer, the co-producer and me. Finally we finalized the script. I also provided phonetic transcriptions and voice recordings for the actors, since some of them can only speak Mandarin, but not read Chinese.

And then came the time of the shoot. I was on set supervising the language portion, as in, if some of them said a certain line wrong, I let the continuity supervisor know that so it doesn’t end up in the final edit. I provide last minute Chinese coaching if the actor is struggling with a particular line. Also, I would walk around the set and look at the posters and decorations on the wall to see if the handwritings look authentic. And if the newspaper on the table has a headline mentioning modern day politicians, I tear that out.

Beyond that, my job was to “do whatever Dave (the assistant director) tells you to do”. So I also helped out with general duties like distributing the walkie talkies. I have known the assistant director for a while now and I think that helped. He knew what he could rely on me to do.

For example, in one shot, he needed a janitor in the background. I was thinking, hm, I think I know what’s coming. And a few minutes later, he told me to put on a jump suit. Yep, totally saw that one coming. And he knew I would do it without any hesitation.

I also ended up being a background extra on some of the days of shoot. I was hanging at a bar, sitting at a table talking to a friend. Since the other chair, where my friend was supposed to be, wasn’t in the shot, they just left it empty. So it was just me sitting there talking to my imaginary friend. Maybe it’s the puppeteer thing, I don’t know, but I am excellent at having conversations with an empty chair (watch out, Clint Eastwood). Several cast and crew members noticed and asked what conversation I was having. Well, I don’t know either. Seems like an interesting conversation, though.

While on set, I enjoyed watching people who are really good at what they do work their magic. The actors are excellent at what they do. The crew set up the camera, do a few takes, change the angle, and do more takes, so sometimes it’s the same scene over and over. But still, it’s interesting to watch over and over. And there’s just something interesting about watching people’s facial expressions through lenses / on a monitor. I somehow enjoy watching the director giving notes to the actors and their reactions. The actors’ faces really do grab my attention more so than other people’s!

And I enjoyed watching the crew as well. The costume / wardrobe person was always going around fixing everyone’s clothing, sometimes taking a needle and thread and just started stitching what the actor was wearing while they were setting up a shot. As someone that works with puppets and is routinely fixing the puppet while it’s not on stage / on camera, I can totally relate and also enjoy watching her do her stuff. And the people setting up the lights, the camera, and dressing the set are all really professional too. It’s always fascinating to watch the people that are good at what they do adjusting all these small details to achieve perfection.

You can tell just by looking at the set, the props and the operation of the whole shoot to know that countless hours have been put into the planning. Some of them flew from New York for this too. I think it’s beautiful to see a bunch of people sharing a vision and just pour in their work even though they are receiving no monetary compensation. I am really looking forward to seeing the final product.

Next Page >>