• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-4794
Type: New Feature New Feature
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Tofu Linden
Reporter: Mm Alder
Votes: 102
Watchers: 18
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

Babble loop for voice visualization

Created: 10/Feb/08 05:19 PM   Updated: 04/Nov/08 02:14 PM
Component/s: Voice
Affects Version/s: 1.19.0 Release Candidate
Fix Version/s: 1.20 Release Candidate

File Attachments: 1. File avatar_head.llm (1.59 MB)
2. File avatar_lad.patchfile (0.8 kB)
3. Text File babble-1.20.patch (32 kB)
4. File FL77495.patchfile (18 kB)
5. File RC79209.patchfile (18 kB)
6. File RC81609.patchfile (18 kB)

Issue Links:
Relates

Source Version: RC 1.19.0(79209) and FL 1.18.6(77495)
Linden Lab Issue ID: DEV-10409
Patch attached: Patch attached


 Description  « Hide
This code adds rudimentary lip sync for voice chat.

There is a patchfile for the WindLight FirstLook viewer (FL77495.patchfile)
and one for the ReleaseCandidate viewer (RC79208.patchfile). The difference
is due to a non-functional edit in the WindLight branch.

There is also a patchfile for character\avatar_lad.xml (avatar_lad.patchfile)
and a replacement file for character\avatar_head.llm

The avatar_lad.xml and avatar_head.llm files are compatible with the standard
viewer, and the modified viewer works without changing these, but not as well.

See the documentation at http://wiki.secondlife.com/wiki/User:Mm_Alder/LipSync
for a description of the functionality.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Mm Alder added a comment - 11/Feb/08 01:38 PM
Since I don't have a file server, one of the beta testers, evolutie, has graciously volunteered to host the binaries until (I hope) the code gets incorporated into the official viewer. See http://www.creativemachinery.org/lipsync_viewer.html

I have binaries compiled for the 1.18.5(3) stable version and the 1.18.6(77495) WindLight version. This is no longer the current WindLight version being tested by LL. You can get the earlier version at http://firstlook-secondlife-com.s3.amazonaws.com/Second_Life_1-18-6-77495_WindLight_Setup.exe
As soon as the source becomes available for the latest release, I will compile a binary for it.


Geuis Dassin added a comment - 11/Feb/08 01:38 PM
This will very well put my Motor Mouth speech animator into the dustbin. I'm ALL FOR IT. Please, vote on this and lets get this integrated into the official viewer.

Ina Centaur added a comment - 14/Feb/08 02:34 PM
I agree, and it would be a lovely thing to have implemented ASAP with regards to the SL Shakespeare Company's upcoming live miniproductions... and, of course, our full length production of Hamlet in November. This isn't CrazyTalk, but the great thing is that the code has already been integrated (into the mess that is) the viewer the work done and (generously) donated by Mike/Mm, and we really just need some LL bureaucrat to say yes.

But, we will be using bot technology to facilitate the idea of an "infinite theatre" for enabling the same performance simultaneously in a number of sims across the grid. For this case, this means that it would be helpful to have the bot's mouth move even though voice would not be coming from the bot per se (but from the human actor's avatar). (Our tech teams are working on direct integration of the bots with SL voice or voice of some sort, so that voice data would be transmitted direct from – as opposed to a roundabout way of having a technician record the main live stream @ the main location, recording it and sending it off live to group voice chat etc.)

Can we also have a new set of LSL functions that control a character's lipsync?


Vector Hastings added a comment - 14/Feb/08 10:01 PM
This is a fabulous viewer – it's amazing how much it increases the life-like nature of SL.

I make the following appeals to you Linden folks to include this in the standard viewer:

1. It'll add to SL's distinctiveness – who else has such a seamless voice-animation interface? This will mean an opportunity to advertise for additional subscribers. (And if another online world does have this feature, LL shouldn't let SL fall behind )

2. I submit that this has a much calmer feel of natural speech than the head-bobbing that currently 'animates' voice chat. As such, it may very well increase the adoption rate for voice chat, and thereby increase the immersive appeal of the second life experience. (Because some people my find the babble-loop aspect annoying, it might be good to add a click box somewhere on the chat tab in preferences to turn it on/off, in addition to the tweaking parameters currently available on the debug menu.)

3. It will be a big help to machinimators like us in putting a more compelling face on our SL-based productions. (No more having to log off the standard viewer with the latest fixes and enhancements to log on to the alternative viewer for filming dialog.) This in turn will help to increase interest in Second LIfe itself.

4. As a cost-to-benefit consideration, the code is already done (minimal cost to Linden Labs), and the beneficial change is obvious the moment you first open your avatar's mouth to speak.

Please give strong consideration to including this wonderful feature in the standard viewers.

Thank you.


Moriz Gupte added a comment - 15/Feb/08 01:32 PM
Please please do include Mm Adler's implementation in the next standard viewer. This is super cool!!! At last, avatar faces will be defreezed. Not a huge amount of convincing is called for here, certainly. The work speaks for itself.

Tofu Linden added a comment - 18/Feb/08 02:48 AM
Hi Mm, I have one thing I'm (sort of academically) curious about; How (and why) did you go about generating a modified avatar_head.llm?

Mm Alder added a comment - 18/Feb/08 02:52 PM
Tofu, you can get the full story at http://wiki.secondlife.com/wiki/User:Mm_Alder/LipSync#Oohs_and_Aahs and http://wiki.secondlife.com/wiki/User:Mm_Alder/LipSync#Smile_when_you_say_that but basically, it's so lip sync doesn't interfere with emotes.

I used SciLab and Emacs to edit the file. I put the file format on the wiki several months ago at http://wiki.secondlife.com/wiki/Avatar_Appearance


Fire Centaur added a comment - 25/Feb/08 07:14 PM
Totally Awesome, I watched the video at: http://irhbt.typepad.com/virtually_yours/2008/02/lip-sync-in-sec.html
and really adds realism to avatar to avatar communications. Increasing realism in avatar to avatar communication enhances immersion and community connections. Great going!

This for sure gets my vote. And I truly hope this gets integrated into the next release!

keep up the good work!


Valradica Vale added a comment - 03/Mar/08 03:23 AM - edited
This is a very important innovation for Second Life voice - more and more people are starting to use voice for business and educational applications in Second Life and the stiff faced avatar has to segue into more realism to make this useful and attractive to a real business community in Second Life.

I also am calling for LSL hooks that allow scriptors to utilize them to script other actions surrounding the avatar environment such as body animations, poses and interactivity with other avatars - I recently watched a video interview of Beyers Sellers and Michael Wison, the CEO of There.com. It took place in There and it was clear that they have implemented this at a level that puts SL to shame. (http://www.metanomics.net/metanomics then find the Wilson interview) In addition to mouth movement, they have also implemented head movements that compliment the facials and give a very good sense of a person actually talking. A little attention by LL would go a long way here.

In studying that video, not only were the lips moving, but the eyebrows moved in a way that clearly supplemented the energy of the effect. - take a good look at it - If SL could do this, we would be making much progress.

for the complete novice at viewer integration, is there anywhere I could learn how to add the patches and files required to make this work with my viewer?


Mm Alder added a comment - 03/Mar/08 03:43 PM
Valradica, there is a README file with the download at http://www.creativemachinery.org/lipsync_viewer.html that explains how to use the binary. The only tricky part is making sure you have the right version of SecondLife installed.

You might notice something interesting in the Michael Wilson interview. The Michael Wilson avatar is well animated while the avatar of the interviewer is completely different. It uses a babble loop for lip sync that seems to be keyed as an animation because you can note a few times when the camera moves to the interviewer avatar while the Wilson avatar is speaking and the interviewer's mouth is still moving. It does not appear to be synced to the speech. The interviewer avatar doesn't move its eyebrows or even its arms and is usually looking away from the Michael Wilson avatar.

I'm guessing that the Michael Wilson avatar uses manual puppeteering.


Valradica Vale added a comment - 04/Mar/08 03:47 AM
Ok, I think I worked through details and tried it, but yes, as you observed the tricky part is making sure I have the correct version of SL. From the website, the 1.18.6 is no longer available. So I tried with the current version 1.19.something and it did not work. Any clue where I could still get 1.18.6 or is there any hope that your patch could be updated to the current windlight or main viewer.

I heard from a friend who followed up on the wilson interview, that there are settings in There that Beyers forgot to set, since he is not really a There inhabitant that left him kinda dorky - since he did not know how to make it work. Don't know whether this is true.

Also would love to chat at some point about this lipsync thing and volunteer possibly to help out. This is an extremely important innovation (IMHO) for SL. (valradica@yahoo.com)


Mm Alder added a comment - 04/Mar/08 10:53 AM
Valradica, You can get the earlier WindLight version at http://firstlook-secondlife-com.s3.amazonaws.com/Second_Life_1-18-6-77495_WindLight_Setup.exe
and the earlier standard version at http://download-secondlife-com.s3.amazonaws.com/Second_Life_1-18-5-3_Setup.exe

Since you've already installed a later version, you may have to uninstall it first.

I'll compile binaries for the latest releases this weekend.

re There: Interesting that the default setting is "I'm a dork"

You can chat about the lipsync on either the SLDev or Machinamatographers mailing lists. I monitor both.


Texas Timtam added a comment - 04/Mar/08 09:39 PM
Don't assume TOO much about the There.com lip synch (or Beyers expertise) based on the Michael Wilson video. I was one of the camera people from SLCN logged into There. We had two cameras setup exactly the same, but displaying Beyers avatar a bit differently - and because it was 'Live TV' that's what got recorded in the video. We see this sort of discrepancy in Second Life a lot too, so I wouldn't jump to any conclusions about There based on the clip. I can confirm that the camera controls available in the client are pretty basic - and as someone else mentioned, all the avatars have Muppet eyebrows.

Tofu Linden added a comment - 05/Mar/08 03:10 AM
Hi Mm, thanks for the clean implementation!
I'd got this reviewed and testplanned and ready to roll internally, but (understandably) our main asset guy very much wants the avatar_head.llm changes to go into the source mesh from which the .llm is generated, instead of straight into the .llm which is super-tough to maintain.
Now, the obvious fly in the ointment is that you don't have the source mesh or the tools to manipulate it. We're digging up what we can (we haven't had to reprocess the mesh in a VERY long time!) and we'll try to get these in your hands ASAP.

Evo Szuyuan added a comment - 05/Mar/08 05:31 AM
Great news Tofu !!!

Mm Alder added a comment - 05/Mar/08 09:53 AM
OK, Tofu. I'll be expecting it.

Valradica Vale added a comment - 05/Mar/08 12:43 PM
This is wonderful news, Tofu - if there is any chance that in the implementation y'all could leave hooks so that users could fiddle with the settings, it would be terrific. I know in Mm's version, there is a bit of tweaking that can be done in the babble loops through the debug interface so that this could evolve a bit with use (unless I am missing something) and the more of this that is available, the better it will be for all of us: you know that what will emerge in SL will be better as well. Thanks

Mm Alder added a comment - 10/Mar/08 07:33 PM
Added patch file for 1.19.1.0 (81609). This version is the latest WindLight build at the moment. See VWR-5430, VWR-5515, and VWR-5519 also if building with this version.

Mm Alder added a comment - 10/Mar/08 07:35 PM
RC79209.patchfile also works for the 1.19.0.5 release.

Mm Alder added a comment - 11/Mar/08 08:42 AM
Until Evo gets the website updated, you can download the binaries from YouSendIt (at least until they expire next Monday).

Version 1.19.0.5 http://download.yousendit.com/233AD9E25AFC56C6
Version 1.19.1.0 http://download.yousendit.com/C51FAA3856DA305D

1.19.0.5 is the standard release. 1.19.1.0 is the Release Candidate with WindLight.
These binaries probably won't work with other installed versions.

Mike


Evo Szuyuan added a comment - 11/Mar/08 11:44 AM
I just updated the the website with the latest versions for Windows and Mac.
http://www.creativemachinery.org/lipsync_viewer.html

Evo


Mm Alder added a comment - 24/Mar/08 12:24 PM
RC version 1.19.1.2 is now available at http://www.creativemachinery.org/lipsync_viewer.html Thanks, Evo.

Mike


Mm Alder added a comment - 07/Apr/08 08:36 AM - edited
Version 1.19.1.4 is now available at http://www.creativemachinery.org/lipsync_viewer.html
It still uses the RC81609.patchfile.

We've also kept the 1.19.0.5 version there for those who prefer that version.

Now that WindLight is in the standard release, we won't be building any more Release Candidate versions (unless there's something interesting in them). We will build new standard releases as they come until the lip sync code gets incorporated by Linden.

Mike and Evo


Tofu Linden added a comment - 08/Apr/08 08:14 AM
After some digging (though our RCS archaeologists are still at work on it), the source avatar meshes seem to be MIA so personally I'm comfortable enough taking the patched LLMs for now - going to freshen up a branch for QA of this.

Mm Alder added a comment - 08/Apr/08 08:53 AM
Tofu, if you know the format of the mesh source files or you have the source to the tool that compiles the mesh source, I could try recreating source files from the binary meshes.

Mike


Tofu Linden added a comment - 08/Apr/08 09:13 AM
That would be terrific - I was going to add it to the global 'to-do' list with not much hope.
I did find the compilation tool in my digging so perhaps it'll help with the, uh, decompilation; I'll file separate issues for getting that code to you and actually doing the decompilation of the data.

Tofu Linden added a comment - 08/Apr/08 09:16 AM - edited
Oh yes, and 1.20 will be out soon, which makes the attached patches unappliable (some files gone or significantly changed); I'll attach a new diff for 1.20 when I've verified it locally.

Tofu Linden added a comment - 08/Apr/08 10:07 AM
Filed VWR-6198 and VWR-6199

Tofu Linden added a comment - 08/Apr/08 12:31 PM
Attaching patch relative to the trunk (and the unreleased 1.20 viewer).

nya Linden added a comment - 05/Jun/08 02:23 PM
This is fixed and released in 1.20 RC7 Viewer.