Lip Sync?

Blitz3D Forums/Blitz3D Programming/Lip Sync?

Giano(Posted 2003) [#1]
There is any software for blitz or any code to syncronize facial animation with audio/text?

Probably I will do it if there arent...
Is Anyone interested on it?


Rob Farley(Posted 2003) [#2]
The problem with blitz is you have no idea where in a sample you are so syncing music or anything is basically impossible. I think if you use a dll you can get round it, but it's something I'd love to see in blitz.

Someone please tell me I'm wrong.


Vertex(Posted 2003) [#3]
Hi!
In my BASS-Stuff i have add a lipsync-demo.
mitglied.lycos.de/thevertex/download.php?c=media/BASSex.rar
cu olli


Giano(Posted 2003) [#4]
@Vertex But how about your BASS.Stuff...is free...
Is Bass a free layer of library?
Is for Blitz3d?
Ciao


Vertex(Posted 2003) [#5]
BitmaniaK: It is free, in freewaregames. (I think :) )
http://un4seen.com/
BASS is not written for Blitz, I've only convert the
lib to Blitz.

If You have only WAV-files, than You don't need this
DLL, becouse You can write Your own realtime analyser
(contact me if You want more information); It's complecated
to write a analyser for MP3 and i think, that that is too
slow for realtime)
cu olli


Doggie(Posted 2003) [#6]
Sound and commands to manipulate them are sorely lacking in Blitz. Sure, you can play wav files and midis but I'd really like to be able to get in to sound manipulation from code with Blitz. I think it's taken a back seat to just about everything else. Not a complaint really, just a thought.

Doggie


Danny(Posted 2003) [#7]
Hi BitmaniaK,

I don't think you want to start analysing digital samples or analysing human speech to usefull data for you game, why not translate it youself?! Humans still kick #ss when it comes to things like this :)

Say you have an .wav file that tells your player the game will be over soon, why not add a simple string that tells you EXACTLY what words are spoken in the wav file like this:

sThreat$ = "BossThreat.wav"
tThreat$ = "Hello! Prepare to Die!"

Where the amount of characters in the string corresponds to the length of the wav file. So, if you want to sync perfectly to the audio, you might need to tweak and edit it so it looks like;
"Hell.o!...Pre.Pare..To.Dieeee!"

This might sound silly but we actually used this dozens of times making tv commercials in lightwave. Dead simple, super accurate and fast as hell ;)

"All" you have to do is translate each letter (or phonym -spelling?) to a mouth position, or change the texture on the mouth to a different expression. If you have ie. 10 different mouth positions for speach (A, E, I O, U, T, S, etc ) it could become something like:
"HEEOO...PPEEEPAAA...OO.DDEEEE"

Remember for good believable lip-sync you dont need to express every single letter! Just the phonyms (really need to sort out my speling!)

Hope this helps / makes sense ;)

0.2

Danny


Giano(Posted 2003) [#8]
Yes is exactly what I think...just know if anyone has realized something similar in blitz before I start with something...
The main focus seems to be...animation interpolation with some b3d meshes...

Next days I will start to study blitz animation, but I know that animation tweening is only possible with md2 objects..
Isn't it so? May be animation tweening with b3d meshes and/or vertex manipolation (mouth, lips, face)?

Thankx


Tom(Posted 2003) [#9]
Tweening works in .B3D files as it does in .MD2, though only from anim to anim. You'd be better off adding a few bones to the lips & jaw area and creating a few functions to manualy move them.

I don't think I've ever seen a game model with a tongue b.t.w :) Just make sure the bones can move the jaw, and make the lips do some OO AAA MMM poses, along with eyebrow movement, and that should be good enough IMO.

Tom


Danny(Posted 2003) [#10]
Perhaps it would be possible / faster to have a small single-poly object as a mouth and apply a different texture to it?
Or place 10 of those objects in front of / parented to his mouth and always only show 1 mouth..... ??????
That would defenitely be easier to code, right??

my 2 cents..

danny


MSW(Posted 2003) [#11]
www.wosit.org

Has a host of info about file formats includeing WAVs and MP3s...what most games companies did for this was to create an application that can be given a sound file, scan through it, and generate a seperate file that is used to store the facial animation data and such...load both at run time, then play the sound while applying the data from the seperate lip sync file to the model as the sound is playing...you wouldn't need any seperate DLLs or anything to do this as both Blitz3D and Blitzplus has the ability to read individual bytes from a file and such...sure it's not the perfect solution, but with work it...wel...works.

Honestly though, I feel that lip-syncing is overrated...comapnies like Square have made dozens of hugely successful RPG without lip-synced characters and such...we are quickly approching the point of deminished returns as far as these flashy features go in games...meaning, altho impressive, not a lot of gameplayers are going to be turned completely off from playing your game if it doesn't have lip-synced dialog...so the effort to include it is kinda a time waister...better off putting your effort into makeing the game as fun as can be...just my $.02


BerhanK(Posted 2003) [#12]
guys there was a tool that could do text to speach with german, italian and other accents - can't remember their page though..


Danny(Posted 2003) [#13]
MSW, you're absolutely right.

It's better to have no lip-sync than bad lip-sync ;)