Demo module with HAK files.
Displays a cutscene of multiple character speaking with voiced lines, with FXE animated lip-sync files generated from the tool.
I think I might have got this to work. There were two important details left out of the readme: one, the sounds must be in the FXE generator folder in the program files and, two, the sound files must be in mono. At least, for me, it worked when these two details were followed and not when they weren't.
I shall vote when I eventually come to use this tool, and if it works as I would like, I'll give it a minimum of 100.
It's a long time between entries, but here is the text of my unhandled exception, which means little to me.
************** Exception Text **************
System.Runtime.InteropServices.COMException (0x80045003): Exception from HRESULT: 0x80045003
at SpeechLib.ISpeechRecoGrammar.DictationSetState(SpeechRuleState State)
at FXE_Editor.Sapi_Lipsync.GeneratePhonemes(Boolean useGrammer)
at FXE_Editor.Sapi_Lipsync.GeneratePhonemes()
at FXE_Editor.Sapi_Lipsync.ReadWaveFile(String actualText)
at FXE_Editor.FXE_Generator.btnGenerate_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5446 (Win7SP1GDR.050727-5400)
CodeBase: Link
----------------------------------------
FXE_Generator
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: Link
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5446 (Win7SP1GDR.050727-5400)
CodeBase: Link
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5447 (Win7SP1GDR.050727-5400)
CodeBase: Link
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: Link
----------------------------------------
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: Link
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: Link
----------------------------------------
Interop.SpeechLib
Assembly Version: 5.1.0.0
Win32 Version: 5.1.0.0
CodeBase: Link
----------------------------------------
Oh and you can of course also try the loads of wav files that are part of the OC and expansion packs themselves. Those are high quality files, and it was random samplings of those that I did my primary comparison testing against, by seeing how they compared during in-game playback against the original version's of the FXEs.
I've fixed the demo mod and included the missing FXE files for Port into the fxe hak. Thanks for letting me know.
Send me a PM on the bioboards, or post a link to download the wav files you are having difficulty with and I'll see if there is anything that can be done. Are you using the text field to enhace the recognition results? A clean audio sample does wonders. I have tried random web samplings before during my initial testing and the audio files in many cases were too poor to get good results. (Poor is defined by excess background noise (even if human ears can't hear the noise), high compression and low quality sampling rate (resulting in loss of detail), which makes it hard for a COMPUTER to understand it, not necessarily that a HUMAN can't understand it)
The algorithm being used is from Microsoft's SAPI 5.1 speech engine. It's a pretty good free one, no its not the best, but the best usually cost money to license. Also the values used for the FXE data is based off a probability table I created from all 12000+ FXE files that exist for the OC and MotB, so they still are an approximation (but a pretty close approximation). Ideally, I need to let the user manually edit the values and just use the probability values as initial starting points. However that would require substantial user interface coding in order to present the info to the user in a manner that makes sense and is easy to edit, something I wont have time to do for a while yet. I appreciate your feedback though.
Conceptually, this is a brilliant piece of work. I would have liked to rate it a 10 were it not for some problems I came across while testing this tool.
I've tried the FXE Generator Tool on a number of voice samples found at the Vault, and I've never succeeded in getting it to recognize most of the spoken words. Consequently, the speaking animations do not match the voice overs well enough. I've followed the steps outlined in the accompanying readme file, but I still couldn't get the FXE Generator to work well.
Regarding the demo module, I noticed that Port the half orc does not have any speaking animations. Perhaps the creator of the module may want to fix that.
This tool is still better than nothing, although I kind of wish that its speech recognition algorithm worked better than it does now. Here's hoping that the problem will be fixed eventually. _________________________ Yay, I have a blog. Faithless: The Making of an NWN2 Module
I've discovered a bug which I'll fix in the next update.
If you generated an FXE file from a filename which contained uppercase letters, the animations won't display properly. TO fix just rename the file to all lowercase and regenerate.
10 - A Masterpiece, Genuinely Groundbreaking 9 - Outstanding, a Must Have 8 - Excellent, Recommended to Anyone 7 - Very Good, Deserves a Look 6 - Good, Qualified Recommendation 5 - Fair, Solid yet Unremarkable 4 - Some Merit, Requires Improvements 3 - Poor Execution, Potential Unrealized 2 - Very Little Appeal 1 - Not Recommended to Anyone