KorGE is integrated with Rhubarb Lip-Sync.
It can load audio files
process using Rhubarb Lip-Sync, and generate lip synchronization files, that KorGE understands in a lightweight form.
You can use lipsync just including the maven module:
In order to integrate with Adobe Flash Player. Lipsync plugin provides an automatic handler for the property
lipsync. Where the value is the character name.
You should tag an instance that will hold a timeline with mouth shapes.
Inside that symbol, the timeline should have labels for each mouth shape:
Label names: ABCDEFGHX
You can find the whole mouth shapes description here.
TO DO + TO WRITE
IntelliJ/Gradle plugins will generate
.voice.lipsync files from
You can also preview voice files + mouth shapes directly in intelliJ.
You can read a Voice file using:
suspend fun VfsFile.readVoice(views: Views): Voice
or injecting with an associated
class MainScene( @Path("lipsync/simple.voice.wav") val myvoice: Voice ) : Scene()
You can use
Voice.play(name: String) method to play a voice file.
Views.lipSync.play(voice: Voice, name: String).
That will emit
data class LipSyncEvent(var name: String, var timeMs: Int, var lip: Char) events to the stage. You can register a handler for it in a
View or in a View’s
Component for manually handling it.
Also you can manually use the
LipSyncComponent component that is automatically registered for the property