Page 1 of 4

Voice navigation 1.37 FMOD conversion

Posted: 08 Mar 2020 16:15
by Koen
Starting from version 1.37, FMOD will be the new sound engine. This will break most sounds, including voice navigation.
I created a few scripts that I used to convert my TomTom voices mod from 1.36 to 1.37.

- This presumes you already have the folder structure of your old satnav voice somewhere.
- This also presumes you have FMOD installed, and have downloaded the template provided by SCS.
- This also presumes you have some idea of how scripts and the command prompt work. If either of these two scare you, then look for another guide.

It supports one or more voices simultaneously (in my case I had 69 of them in total, hence this tool).

First, set the variables in scs2fmod.js.

Set the folder variable to wherever your satnav voice's sound\navigation folder is. Don't forget to escape the backslash (so use \\ instead of \).
Set the build variable to wherever the build folder of the SCS FMOD project template is.
Set the datas variable to the voices you want to convert. These are the internal names of your voices (in my case, they're internally called dataXX, in your case probably something like dutch_steve).

Create a folder "scripts" in the template folder, copy the scs2fmod.js file there.
Open the FMOD project. It will freeze, just wait. Then click continue when it asks you for build conflicts.

Then, set the variables in fmod2scs.py, same as before.
When the building is done, execute fmod2scs.py with Python 3. Please make sure fmod2scs.txt is in the same folder as fmod2scs.py, and you execute fmod2scs.py with that folder as working directory.

Now your original satnav voice folder will contain an additional .bank and .bank.guids file for every satnav voice.
This, combined with the files already there, makes your satnav voice compatible with both 1.36 and 1.37.

(You can also manually copy the .bank from the build folder, and compile the .bank.guids by concatenating the .bguid, fmod2scs.txt and .guid files.)

Note: This does not support multiple voices for the same event (e.g. start_1.ogg, start_2.ogg). Make sure you always have a "normal" one, i.e. start.ogg. That will be the only one used.

This tool comes without any warranty, or copyright for that matter. Do with it as you wish, but do not expect any support from me.
Please use this topic for discussion. I will probably answer some of your questions if they arise (and others may as well), but you are not entitled to an answer ;)
I just figured that, since it helped make my life easier, it might make your life easier as well.

http://www.mediafire.com/file/q1hv5gz90 ... t.zip/file

Re: Voice navigation 1.37 FMOD conversion

Posted: 24 Mar 2020 10:48
by devboilol
Can you give me a full tutorial video?

Re: Voice navigation 1.37 FMOD conversion

Posted: 25 Mar 2020 13:35
by Koen
@devboilol If you get stuck at some step, feel free to ask. However, I am not going to create a tutorial video.

Re: Voice navigation 1.37 FMOD conversion

Posted: 26 Mar 2020 10:04
by devboilol
fmod is so hard

Re: Voice navigation 1.37 FMOD conversion

Posted: 03 Apr 2020 13:35
by Omenanraato
I used your TonTom mod while learning.
I recorded my own .oog-files for the navigator. I replaced the your TomTom audio files with my own files in the Data27 folder. I tested the mod in version 1.36 and my own navigator works.
Then I did the conversion according to your instructions and yes I got the .bank and .bank.quids files just right. When I added the files to the mod, my own navigator appears in the game, but there is no sound.
After that, I tried to do the same conversion directly to your Data28 folder. This also appears in the game, but voice navigation doesn’t work there either. So obviously I'm doing something wrong when I create .bank, or .bank.guids files? Do I need to do an “export guid” function in fmod?

Do I have to do anything other than “build”-function in Fmod?

Re: Voice navigation 1.37 FMOD conversion

Posted: 03 Apr 2020 16:46
by Koen
So I take it you replaced these files?
[ external image ]

What does the ATS log show when you load the voice? It should display an error of sorts (tilde key in-game, it will probably be in red).
You should not need to export the GUIDs or build for that matter, the script does that for you (because otherwise you wouldn't be able to figure out which GUID belonged to which bank).

Re: Voice navigation 1.37 FMOD conversion

Posted: 03 Apr 2020 16:54
by Robinicus
Just a couple of things that I have seen as common errors helping people:

Did you use the SCS template as a starting point or attempt to create from scratch? It will not work from scratch unless you know how to create your own master and strings

Did you route the events? There is a pic of proper routing for nav on page 1 of FMOD thread

Did you set the events as 2d? Again, is included in the tips section of page 1 in FMOD thread on proper event settings for type

Looks to me like you missed some of the basic steps in how FMOD works; suggest reviewing the docs at SCS and in post 1 of the FMOD thread. I intentionally wrote that post to walk people through the process....

Re: Voice navigation 1.37 FMOD conversion

Posted: 03 Apr 2020 17:23
by Omenanraato
Koen wrote: 03 Apr 2020 16:46 So I take it you replaced these files?
Yes, but i also tried with your default audio files. So I don't think my audio files would be a problem.
Koen wrote: 03 Apr 2020 16:46 What does the ATS log show when you load the voice? It should display an error of sorts (tilde key in-game, it will probably be in red).
You should not need to export the GUIDs or build for that matter, the script does that for you (because otherwise you wouldn't be able to figure out which GUID belonged to which bank).
I didn't touch .sii files, but it seems to give an error: pack dir

00:00:10.049 : <WARNING> Ignoring obsolete attribute 'pack_dir' of unit '.tomtom.pack' (of type 'voice_navigation_config').
00:00:10.049 : <WARNING> [navigation] The voice pack 'data27' doesn't contain valid sound bank!
00:00:10.206 : Forcing sector data!
00:00:10.206 : Sector force started.
00:00:10.529 : Sector force finished.
00:00:16.603 : <WARNING> Ignoring obsolete attribute 'pack_dir' of unit '.tomtom.pack' (of type 'voice_navigation_config').
00:00:22.568 : <WARNING> Ignoring obsolete attribute 'pack_dir' of unit '.tomtom.pack' (of type 'voice_navigation_config').
00:00:22.568 : <WARNING> [navigation] The voice pack 'data27' doesn't contain valid sound bank!
00:00:27.951 : quit
Robinicus wrote: 03 Apr 2020 16:54 Just a couple of things that I have seen as common errors helping people:

Did you use the SCS template as a starting point or attempt to create from scratch? It will not work from scratch unless you know how to create your own master and strings

Did you route the events? There is a pic of proper routing for nav on page 1 of FMOD thread

Did you set the events as 2d? Again, is included in the tips section of page 1 in FMOD thread on proper event settings for type

Looks to me like you missed some of the basic steps in how FMOD works; suggest reviewing the docs at SCS and in post 1 of the FMOD thread. I intentionally wrote that post to walk people through the process....
I did just that, and with that script, but the same result in both ways

Re: Voice navigation 1.37 FMOD conversion

Posted: 03 Apr 2020 17:53
by Robinicus
If you are getting an invalid bank error it means you have an assembly error somewhere; if you did all the above I suggested correctly then it could be the timing of when you created the GUIDS reference and renamed it.

Re: Voice navigation 1.37 FMOD conversion

Posted: 03 Apr 2020 18:02
by Omenanraato
Now I did everything again and now the error message changed a bit



00:00:12.329 : <WARNING> Ignoring obsolete attribute 'pack_dir' of unit '.tomtom.pack' (of type 'voice_navigation_config').
00:00:12.482 : Forcing sector data!
00:00:12.482 : Sector force started.
00:00:12.786 : Sector force finished.
00:00:12.851 : <ERROR> Seeking in zlib compressed files is not allowed
00:00:12.851 : <ERROR> [fs] cached read - buffer update failed (<D:/steamtallennukset/American Truck Simulator/mod/tomtom.scs | >/sound/navigation/data27.bank)
00:00:20.579 : <WARNING> Ignoring obsolete attribute 'pack_dir' of unit '.tomtom.pack' (of type 'voice_navigation_config').