Hi! We see you’re using an ad-blocker. We’re fine with that and won’t stop you visiting the site.
But as we’re losing ad-revenue from this then why not make a donation towards website running costs?. Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!
It seems the voices files have embedded .wav files , looking at it in a text editor its full of "RIFF4WAVEfmt" ???? which I find in other .wav files. .vpm probably stands for Garmins own "voice processing module"
These big Garmin files probably look like file systems under whatever OS an I3 uses, seems to be some bespoke Garmin OS not Palm OS or anything like that. 99% of the data in the .vpm file is probably wav file, the rest will be start, end of file markeres , pointers, directory related stuff. If you spend enough effort looking at the files you can probably work out a section of file which is a .wav cut it out and rename it as a wav and play it. Then make your own .wavs and spice them back in where the original was.
Ther voice files may be compressed but I would doubt it. If they were compressed they would likely be embedded mp3s. What ever they are the 1Mb file is read by the Garmin I3 and the data transfered into a flash memory on the I3, this would happen when you change language. If you are brave enough you could confirm this by deleting the English_British file off your SD card and try using it, bet it would still talk until you tried changing the language again.
The .vpm file contains a header, followed by around 120 packed .wav files. The .wav files are (IIRC) 16-bit mono @ 22050Hz. I'm still looking into the contents of the header section...
I knocked up this bit of perl to split the file, over lunch. It creates 129 files part001.wav thru part129.wav. part001.wav is not really a .wav thats a header. Never used perl before, its pretty easy if anyone fancies a go, plenty of stuff on the net and on man pages if your on linux. Probably be some free perl downloads for windows.
# cat split.pl
############################################
# #
# Im anybodies do what you will with me! #
# #
############################################
# perl split.pl to run me
# make sure you have English_British_.vpm in the dir you run this in
# produces part???.wav files.
use strict ;
my $vpmfile = "English_British_.vpm" ;
open(INFILE,$vpmfile) or die "Can't open $vpmfile: $!" ;
my $outprefix = "part" ;
my $masterchunk = 1 ;
my $filechunk = substr("000".$masterchunk,-3,3) ;
my $outpostfix = ".wav" ;
my $outfile = $outprefix.$filechunk.$outpostfix ;
open(OUTFILE,">$outfile") or die "Can't open $outfile: $!" ;
while (<INFILE>)
{
my @data = split(/RIFF4/) ;
my $chunks = $#data ;
my $chunk = 0 ;
print OUTFILE $data[$chunk] ;
while ($chunk < $chunks)
{
close(OUTFILE) ;
$chunk += 1 ;
$masterchunk += 1 ;
$filechunk = substr("000".$masterchunk,-3,3) ;
$outfile = $outprefix.$filechunk.$outpostfix ;
open(OUTFILE,">$outfile") or die "Can't open $outfile: $!" ;
print OUTFILE "RIFF4$data[$chunk]" ;
}
}
close(OUTFILE) ;
close(INFILE) ;
######################################
Part001 is not actually a wav its the header.
Part002 says One,
Part003 says Two, etc,
Part026 and part039 are both {Bing} one is probably the speed camera alert.
Next thing I need to write another script to patch it all back up together, was unsure if perl was the best tool , it kicked up a good few messages about non readable characters but listening to the output wavs it did seem to work. As I say need to patch it back to gether to test it properly so dont get too excited
Was being thick there for a second,
patch it together?
because I have linux I can just:
# cat part* >English_British_.vpm
confirming with
# diff English_British_.vpm English_British_.orig
and the files are identical, no damage.
So If you can make your own version of my perl script, get your 129 files have a listen and start changing.
Whip them all back together with cat, or if you got windows write another perl script to do it, there you go.
Part026 and part039 are both {Bing} one is probably the speed camera alert.
I thought (from memory) that it was around sample 68/69...
Analysing this particular sample, it certainly doesn't have anything like FSD - probably nearer 60%, so could be made to go a lot louder.
I'm guessing that the header is a vector table, but I haven't really had time to investigate. No idea where the sample filenames come from, though - I'd be surprised if they were hard coded.
Sorry , Speed cammera is bing,bing. Think thats 66,or 67 other 2 are single bings. I been a bit pre-emptive with my posts.
I agree, I think that the header is a table used to connect .wavs together to create sentances. The grammer being diferent in French, English etc this is different for each language file.
Only problem theres no INFO, INAM at the end of each .wav's. I dont know how the files are named/indexed so changing them, changing the length in particular could effect the start end byte positions which could invalidate the data in the header. Only way to see it to try it. There are some voice changing applications available where you could take the original .wavs and alter the tone, deeper higher etc, Make the womans voice sound like a man or like micky mouse. I'd try running the wavs through something like this, put a helium voice effect on them as thats easiest and stringing them back together as a first stab if you get success then move on to something more sophisticated.
I note you said the files were (IIRC) 16-bit mono @ 22050Hz.
Using basic Microsoft Sound Recorder. The files seem to be
IMA ADPCM 22.050 kHz, 4 Bit, Mono
I tried some editing using software called WavePad which changed them to PCM 22.050 kHz, 16 Bit, Mono which increases the size of each file would prefer to keep them in original format. Sound Recorder can edit and change them back but its a labourious process editting everything twice.
I havent tried uploading anything to the SDCard, misslayed my card reader anyway.
Any sugestions on best free sound editting software for recording and for adjusting pitch/speed. Most sound editting software on the web seems to be to allow men to impersonate children and teenagers over internet voice communication in real time. Very dubious.
Posted: Today Post subject: Pocket GPS Advertising
We see you’re using an ad-blocker. We’re fine with that and won’t stop you visiting the site.
Have you considered making a donation towards website running costs?. Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!
All times are GMT + 1 Hour Goto page 1, 2, 3, 4, 5, 6, 7, 8, 9, 10Next
Page 1 of 10
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!
Hi! We see you’re using an ad-blocker. We’re fine with that and won’t stop you visiting the site.
But as we’re losing ad-revenue from this then why not make a donation towards website running costs?. Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!