News:

As a consequence of the forum being updated and repaired, the chatbox has been lost.
However, you can still come say hi on our Discord server!

Main Menu

How does Golden Sun piece NPC speech audio together?

Started by Triyence, 18, October, 2016, 02:07:32 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Triyence

I have extracted all the voices from the game thanks to this thread. However, I have recorded a couple sample voices from the game NPCs and I'm not sure how the audio is being pieced together.

It looks like they are 4 clips of audio per voice type with 8 voice types. So, 32 voice sound clips (makes sense).

Does anyone have any information as to how the game actually will select voice clips and piece them together? It's doing something different from just putting random clips from a voice type group end to end.

Atrius (He/Him)

I don't know much about it, but I do know that in the first Golden Sun game the code for handling voices is around 0x080815AC.  I believe the data array starting at 0x0809E9F0 is used to set the voice type according to the character/sprite.
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

charon the ferryman

#2
I can't tell you how golden sun does it, but one way that older systems tend to do it is make a list of "phonemes". Think of these as word parts, for example "ba" or "sha", then associate each sound with the particular phoneme. This is what LSDJ does.

Basically it's the sound equivalent of matching mouth movements.

Most phonemes can be grouped into several groups, so basically just associate a specific sound with a specific group and whenever one of the phonemes is reached in the string, play the sound specific to that phoneme. i.e. build a phoneme parser.

Another component you can add is the change of pitch throughout the sentence. Usually this changes from language to language but if you define a basic routine and allow the properties to be moddable, you can implement a routine that changes pitch throughout the sentence. Usually pitch in english starts higher when you start a sentence and drops down slightly as it goes on, rising again only at the end for a question or if there's some sort of break. Also, add breaks for certain characters such as commas and semicolons, and have the break a different length for each grammatical character.

I'm lazy though and just do randomly selected sounds in my game though lol

If you're looking for a perfect golden sun sound generator then I can't help you there, but I hope this gives you a bit of insight.