[TECHNICAL] FF7Voice Programmer's Discussion Thread

  • Thread starter Thread starter FF7Voice
  • Start date Start date
Status
Not open for further replies.
I have a thought.. Once this is all done, rather than the user replacing one LGP File with another, we should have Marcis or Ficedula create an installer that will do everything for the user automatically... BUT, the crucial thing I would like to suggest is that the Installer scans the Final Fantasy VII Directory to verify that the user is indeed playing a legitimate copy of Final Fantasy VII and not a pirated copy. It's one thing to say that a user cannot use FF7Voice without a legitimate copy of the game, but it's another to prevent the user from completing the installation without a legitimate copy of the game :)
 
Judging from what I've read you do not plan on editing the script to queue the voices at the beginning of a dialog?
I suppose you might be able to hook into the script and entity data for it. What do you plan on doing for custom named characters? IE instead of Tifa "Babe" and Aris/Erith "Nuttso" Cid "ElCide" etc etc.

Side note "what would Palmer sound like?" Just the thought is rather amusing to me.

Erstwhile, Depending on Q-gears progress it may be an interesting 'addition' to put into Q-gears.

I am trying to remember if multiple simultaneous dialogs occur in FF7.

I should play it again sometime. :D

I assume you plan on numerous language variants?

Cyb
 
Sorry for the long time to respond Cyberman.  This has been a rather busy week on my end.

The current pattern of the program is that it "hooks" into ff7.exe to listen for when the MSG opcode is used in the game and then proceed to extract info about that line of text.  That info is the actual text displayed, who spoke the text in-game and in what field file what it spoken from.

With that info, using a text file based config, we can allocate a wav (or mp3 down the road) to that specific line in that specific scene.  It really is a really easy system to setup that Ficedula came up with.  Also, as in Loveless and Cosmo, the character names actually appears as default in the catched text even if you customized them. That means that changing names in game won't affect the sound bites.  Obviously though the recorded dialog will use the default names.

I haven't heard Palmer's voice actor so far.  I'm pretty curious about it too!

As for Q-Gears integration, I personally don't see any issue with that since I also remember Q-Gears planned to require an original game to run as well.  Of course this is a team project so my opinion is only one of many but as for myself, I would be more than happy if you did so.

As for multiple dialogs being spoken, it does happen at a few select times such as on the highwind operations room after cloud wakes up.

And for multiple languages, the program is not, as far as I can tell, language specific.  However, we won't be recording lines in a language other than english.  If people did want to make other languages versions, they'd need to record their own lines and do their own scripts in their native language and do the game files setup.  It is certainly technically possible however.

PS : for people who have been following this thread, I spoke to Ficedula via e-mail and he's agreed to continue developing this project in the time he does have.  He also mentioned that if anybody wanted to take a shot a it, he's also open to that so interested people might want to get in touch with him.
 
As I mentioned, I'd be interested in helping out in whatever way I can.  I'm a pretty quick learner if I'm taught.
 
Sorry for the long time to respond Cyberman.  This has been a rather busy week on my end.
Somehow I wish I got overtime in how much I've been putting in :D
The current pattern of the program is that it "hooks" into ff7.exe to listen for when the MSG opcode is used in the game and then proceed to extract info about that line of text.  That info is the actual text displayed, who spoke the text in-game and in what field file what it spoken from.
That greatly simplifies things on your part.
With that info, using a text file based config, we can allocate a wav (or mp3 down the road) to that specific line in that specific scene.  It really is a really easy system to setup that Ficedula came up with.  Also, as in Loveless and Cosmo, the character names actually appears as default in the catched text even if you customized them. That means that changing names in game won't affect the sound bites.  Obviously though the recorded dialog will use the default names.
Err wav? Wow.. you could end up with some MASSIVE sound files if you went with high quality data. Unless you used ADPCM wav data (still would be big just not AS big).  Ogg probably would work too (hey it's Open Source LOL).  Sorry I am a media encoder freak.  I assume the data is likely something like 16bit LPCM 48khz mono then? (DVD default sound quality).
I haven't heard Palmer's voice actor so far.  I'm pretty curious about it too!
Of all the characters I thought Palmer was the most .. eccentric.
As for Q-Gears integration, I personally don't see any issue with that since I also remember Q-Gears planned to require an original game to run as well.  Of course this is a team project so my opinion is only one of many but as for myself, I would be more than happy if you did so.
Well considering philosophies of development and functionality that wasn't an issue.  The main issue would be 'what API is needed' for the data to run. Judging from the messaging/event oriented system. This would be relatively easy to adapt to Qgears.

As for multiple dialogs being spoken, it does happen at a few select times such as on the highwind operations room after cloud wakes up.
How do you consider that would be handled? a single Mix of voices or a polyiphony of voices?

And for multiple languages, the program is not, as far as I can tell, language specific.  However, we won't be recording lines in a language other than english.  If people did want to make other languages versions, they'd need to record their own lines and do their own scripts in their native language and do the game files setup.  It is certainly technically possible however.
Hmmm I see I am wondering what system to make Q-gears multilanguaged.

PS : for people who have been following this thread, I spoke to Ficedula via e-mail and he's agreed to continue developing this project in the time he does have.  He also mentioned that if anybody wanted to take a shot a it, he's also open to that so interested people might want to get in touch with him.
Fice is still around? Well it is understandable he wants to work. I work too myself and sadly I am putting in 10 or more hours per day (that's just work).  I would rather work on projects those extra couple hours.

Cyb
 
Again, sorry for the big delay!

Err wav? Wow.. you could end up with some MASSIVE sound files if you went with high quality data. Unless you used ADPCM wav data (still would be big just not AS big).  Ogg probably would work too (hey it's Open Source LOL).  Sorry I am a media encoder freak.  I assume the data is likely something like 16bit LPCM 48khz mono then? (DVD default sound quality).
The wav files are just for better sound editing capabilities.  The actual release is going to be MP3.

How do you consider that would be handled? a single Mix of voices or a polyiphony of voices?
A single mix would most likely be simpler.

Fice is still around? Well it is understandable he wants to work. I work too myself and sadly I am putting in 10 or more hours per day (that's just work).  I would rather work on projects those extra couple hours.
Well this actually has changed.

ANNOUNCEMENT : There has been a change in coders for this project.

Unfortunately, we've been without news from Ficedula for a little while and our attempts to contact and locate him have unfortunately not yielded results so Dziugo has kindly accepted to take over this project from Ficedula in regards of the situation.  If Ficedula does come back eventually, his help, I'm sure, would still be welcomed by Dziugo as few people here have the wealth of knowledge Ficedula has.

Dziugo had shown interest in this project from day 1 and is an awesome coder as is showcased by his awesome programs around the board so I'm sure he'll be able to help us deliver a great program in the end.

Welcome aboard Dziugo and thanks for the hand!
 
Again, sorry for the big delay!
Not a big deal I added one this time :D
The wav files are just for better sound editing capabilities.  The actual release is going to be MP3.
What not OGG Vorbis? (LOL)
A single mix would most likely be simpler.
Best thing to do is make it work first I always say.
Well this actually has changed.

ANNOUNCEMENT : There has been a change in coders for this project.

Unfortunately, we've been without news from Ficedula for a little while and our attempts to contact and locate him have unfortunately not yielded results so Dziugo has kindly accepted to take over this project from Ficedula in regards of the situation.  If Ficedula does come back eventually, his help, I'm sure, would still be welcomed by Dziugo as few people here have the wealth of knowledge Ficedula has.

Dziugo had shown interest in this project from day 1 and is an awesome coder as is showcased by his awesome programs around the board so I'm sure he'll be able to help us deliver a great program in the end.

Welcome aboard Dziugo and thanks for the hand!
I've been working on speech synthisis stuff for a long time.  I may have a crack at something ... completely different but interesting.

Cyb
 
There's been a lot of issues with certain dialogs not showing up, which you'll see when I'm finished with the demo of Scene 1. Typically this occurs after a CGI cutscene takes place, the immediate dialog after does not show.
Also, Meteor is being a sack of shit. When I try to introduce a change, namingly inserting new dialog, I save the file but Meteor DOESNT save it. When I open the file again my changes have been undone entirely. Sometimes I can insert one or two dialogs through the opcodes but after that it won't allow further modification. What gives?

On a positive note, I like the notepad system for using the dialogs. Very simple. I noticed certain dialogs can't be repeated verbally, you only get them once. Others work fine. Not sure what the cause is. Anyhow, once a better compressed format is used, this is going to go very smoothly for whoever takes over for the whole game.
 
I'm sorry to say your demo doesn't use the right release as Dziugo hasn't sent us a version yet even though there's been good progress.

The setup system for files will also be totally different using an archive system instead of a folder system for a simpler setup as the text file system needs perfect text match-up which is, as you've no doubt found out, very time consuming.

The version you're using was Ficedula's version and is only a proof of concept which had its bugs.

I'm surprised Mesden didn't mention this to you.

I've also sent Mesden the temporary MP3 of Scene 1.  It brings down Scene 1's size from 100+ megs to under 10.
 
I'm sorry to say I don't care? The whole point is to give an idea of how it's going to look, and Ficedula's version does a good job of showing it. I'm not working on the entire game anymore anyways, so it doesn't matter if my work can't be used later. I kinda liked the notepad system, it wasn't time consuming at all for me. But that's someone else's job I guess. In any case, seeing how Dziugo's version isn't ready yet, I can't exactly make a demo out of anything else.
That said, expect the demo next week. Consider it motivational material  :-P
 
Last edited:
Well what's done is done and I'm sure you've found a way to make it work as well as it could so no need discussing it further.  If its stable enough, it might even turn out to be a good thing to have people's reactions over the actual content even though its not final.  I'd advise we absolutely deny any support request though since our actual software will be totally different.

As for the rest, the main drawback to the text file system to me was that it needed to be the exact correct phrase down to the period so the script needed to be perfect including the name of the speaker (and the game sometimes has an odd way of naming the speaker as there sometimes is no "name" attached to it even when Cloud or a party member speaks).  Other than that I do agree it was a pretty good system.

As for you not working on the entire game that's too bad, the script you made was pretty good.  Had good descriptions and all.
 
Hey I think I can audition for Godo if you read my reply under the "I been wondering..." topic.
 
hey i tracked down the demo from the old thread and ran it, but i got no voices...every time a dialog started it would make an error sound and when i alt-tabbed out of the game had a window claiming:

"Access violation at the address 0045C388 in module 'voices.exe'. Read address 00000000"

the title of the window was "voices"

i know this demo is old and possibly out of date...but i would think it should still work...but if this is expected let me know and ill drop it

EDIT: the voices program did not mention any errors and it had the text dialog of what was being said in it also
 
Last edited:
I believe the access violation error occurs when the expected voice file for that field (current location) identifier is not found. If I recall correctly that demo only had a few specific lines that it replaced, so you would need to be at a particular point in the game in order for it to actually work (on the bridge of the Highwind). Did you download and load the saved game?
 
As well that program is no longer the one we will be using so the bugs are not important at this point.

It was done as a proof of concept to show it was possible and was never improved upon after it was decided to head in a different direction program-wise.
 
ok thats what i thought...i read almost all of the posts on this today so i had an overload of information  :?

i did also download the highwind save file and was infact on the bridge...idk what the problem is...but ill be ok as long as the actual release works ill be happy!
 
Using the proof of concept (http://www.sylphds.net/f2k3/voices.rar), I was able to hear the dialog ingame, but the supplied sound files had very low volume levels, so I had to decrease my MIDI volume and increase my Wave volume (in volume control) in order to be able to hear them. But since you're getting access violation errors, I'm guessing something is amiss with your flevel.lgp file; though considering that file is what runs the game, I'm not sure how that could be.

But regardless, a new demo will be released in the future, I'm sure.
 
Mesden should have emailed relevant people a link to the demo video going through the first reactor mission by now. Eventually, I guess when you all are done looking at it, it'll probably go up for public access.
 
He did, but I think that demo is more of a proof of concept (as Marcis mentioned), since while it does work there are a few bugs in it currently. Not sure if Mesden would want that released until said issues were fixed, which would probably come with the new program.

The video, on the other hand...
 
It is indeed just a proof, it uses Fice's old program. I only went through the trouble of putting it together so you guys could get a vague idea of how everything would come together, and well everything went wrong lol. "Few" is understatement with that thing concerning bugs  :-D
From what I've learned, dziugo's successor is going to be no less than infinitely better.

EDIT 2 - Minor afterthought, if you get really bored sometime dziugo and have absolutely nothing to do, you should take a crack at updating the program to handle music ala FF7Music as well, and ramp the music down when dialog is hooked  :-P  Again, a very demanding task, I just think it'd look cool hah. A man can dream...
 
Last edited:
Status
Not open for further replies.
Back
Top