This tutorial is also included in the download package.
A more general
description of the tools is given in
About
LipSync
Files supplied in download pack
LipSync and
SyncPlug
Quicktime soundtrack
Director host movie
html docs (this file and "About LipSync")
text only versions of the html docs
sample sync data files
Xtras folder containing fileIO Xtra
Before Starting
If you want to be able to go back and forth between this tutorial and LipSync (alt-tab on Windows) it is best to run LipSync as a Projector (remember to make the FileIO Xtra available to your projector). The Xtras folder included in the download pack contains the fileIO Xtra. Keep this folder in the same directory as your projector.
SyncPlug should be in the "Xtras" folder that is in the same directory as Director.
Starting
Start LipSync. Load the soundtrack by selecting Load QT sound... from the File menu, set the frame rate to 15 with the Framerate menu.
Use
the Quicktime controller -> or
the variable rate slider ---> that
are located on the lower half of the Quicktime Tool
->
to play the soundtrack and hear the words that you are going
to lip sync.
Type
the words to be synced into the scrolling text
box. Choose
Save from the File menu to create a document
where you'll save the sync data. Once
the words are entered and the framerate is set, go
to "select word" mode by clicking the "select word"
button.
Working with words
Click on the first word in the scrolling text box to load it into the word editor.
Use the
Quicktime Tool to play the soundtrack until the first word is heard.
Use the rate slider or QT controller to back up to the start of the
word. Use
the frame step and frame play buttons to find the first
frame of the word. play
this frame go
to next frame play
next frame go
to previous frame
Click
on the "set word start" button to set the current word start
to the current frame.
The Word Editor
When
a word first has its start or end frame set, the end or
start frame is set to the same frame so a one frame word
appears in the word editor.
Click on the waveform icon at the bottom of the frames following this frame until you hear the end of the word.
Click
on the "set word end" button to record the end frame's
number. A
string of blank frames appears in the word editor spanning
the word's frames.
Assigning
mouths and previewing Click
on mouths in the mouth palette to assign them to successive
frames of the word. You can change a mouth by dragging a new
mouth from the mouth palette to that
frame. Click
on the "say word" button to preview the word
spoken. If
you find the word is cut off at the end you can
click on the last frame to release it from the end
tab and click on the end tab to extend the
word. Use
the "say word plus" button to make sure your frames
span the whole word.
You would then need to assign another mouth to the new cell
and preview it again with the "say word" button.
Next word
Before loading the next word click on the waveform icons in the frames following the current word - listening for the next word.
When
you hear it click on the next word button (or click on the
next word in the list) to make word 2 the current
word
and click on the "set word start" button to set the start of word
2.
Click
on the "play next frame" button until you hear the end of
the word. If
you overshoot back up one frame with the "previous frame"
button and
click on the "set word end" button to record this frame as
the last frame in the second word. Assign
mouths and preview the word. If it looks like the mouth
responds slowly, bump the whole word a frame earlier with
the front tab.
Finishing up
Continue through the rest of the words marking start and end and assigning mouths.
Or do all the word boundaries first and then assign the mouths.
Rewind
to the start of the soundtrack, click on the "say all"
button and move the rate slider to 0.5 to see all the words
spoken at half speed.
Once you've done all the words and made any changes it's time to get your animation to lip sync.
Creating your animation
When authoring your animation it is assumed that you have the QT soundtrack loaded so you can sync any other action to it.
Create mouth sets
LipSync uses a set of nine standard mouth positions. You need to create a set for each view of the character. It's important to use the order
AI - E - O - U - MBP - CDGKNRS.. - L - FV - WQ
because the position in the cast relative to the "MBP" position is used when swapping mouth positions. When drawing your character leave out the mouth.
For this tutorial you can just use the host movie supplied.
Place mouth on character
Wherever
a character will be lip syncing, place the closed mouth cast
member (MBP) from the appropriate set where it must appear
on the stage. If this is done as the animation is produced
the mouth can be moved and in-betweened along with the
character. Use the Matte or Bkgnd Transparent ink effects if
the mouth cast member isn't rectangular.
Use the same channel for the mouth sprite throughout each QT soundtrack.
For this tutorial you can just use the host movie supplied.
Incorporate the data with SyncPlug
SyncPlug is a Director Xtra which you access from the Xtras menu while your animation is loaded.
Choose SyncPlug from the Xtras menu and follow the prompts:
1.
Click "load sync file" to bring up a dialog box to locate
the sync data file you created with LipSync. 2.
Select any cell in the channel with the mouth sprite and
click "record mouth channel". This becomes the sprite that
is swapped to lip sync. 3.
Select the cell in the score where the QT soundtrack starts
and click "install data". LipSync will create 3 new cast
members. Two contain sync data and the other contains two
handlers to manage the sprite swapping.
Try playing the Director movie. It should lip sync using the mouth
positions you recorded with LipSync.
About the handlers
SyncPlug creates a script cast member with "startMovie" and "enterFrame" handlers.
If you have your own startMovie handler rename the one created by SyncPlug to something like startMovie2 and then put a call to this in your own startMovie handler.
If you have your own enterFrame handler in a movie script rename the one created by SyncPlug and call it from your own handler. If you have an enterFrame handler in a frame script it will be called first so just include a "pass" command in your handler.