1. Attachments are working again! Check out this thread for more details and to report any other bugs.

2006 Nav DVD

Discussion in 'Knowledge Base Articles Discussion' started by walt, May 6, 2006.

  1. walt

    walt New Member

    Joined:
    Jan 14, 2006
    195
    1
    0
    Location:
    Bel Air, MD, USA -=- Blair, Merlin, Merka
    Vehicle:
    2006 Prius
    Got curious one Saturday afternoon, and thought I would see how easy (or hard) is would be to make a backup copy of the nav dvd that came with my 2006 Prius (built in 11/05).

    Step 1 - Slide the driver's seat all the way toward the front of the car. Press the "power button" (with foot off the brake, you don't want to start the car, just get some juice to all the electrical components).

    Step 2 - Open the back seat door, and take a look.

    [​IMG]

    Step 3 - Locate the outer plastic "dust" cover that protects the dvd slot. Two tabs, press down on the tabs to release them. My finger is on the left tab in this photo ...


    [​IMG]

    Step 4 - ... and remove the "dust" cover.

    [​IMG]

    Step 5 - Now that we actually can see the dvd player, if you look closely, there is a small button that says "push" - my finger is on the button - push the button in and ...

    [​IMG]

    Step 6 - ... while holding the button in, slide your finger and the button to the left. The dvd will pop out - this is why the electricity is needed - the dvd has a small motor to slide the dvd in and out.

    [​IMG]

    Step 7 - Use your favorite backup software (I used Alcohol 120%) and back up your nav dvd. As you can see, the US nav dvd is version 05.1.

    [​IMG]

    Step 8 - For info purposes, the dvd contains US data current through 2004, although the 05.1 version dvd was mastered in August 2005. To return your nav system to a useable state, reverse the steps (insert dvd, slide button to right, replace external "dust" cover, return driver's seat to its normal position).

    Bonus - There are some threads on PriusChat regarding the female voice. There apparently is only one voice on the US dvd - and it is identified as VFJILL - I assume Voice Female Jill. So that should settle (for one segment of the Prius population at least :unsure: ) the discussion of the name of the voice. Other Prius owners from other regions have anything different?
     

    Attached Files:

  2. bobr1

    bobr1 New Member

    Joined:
    Nov 21, 2005
    306
    2
    0
    Location:
    Portland, Oregon, USA
    Now if only someone could reverse-engineer the format of the voice data files, they could be replaced with any voice and any phrase we wanted!

    Instead of "You have arrived at your destination. The route guidance is now finished.", you could just have Mr. Burns say "Excellent." Think of the time savings. :)

    - Bob R.
     
  3. oly_57mpg

    oly_57mpg New Member

    Joined:
    May 2, 2005
    360
    3
    0
    Location:
    Olympia, Portland, Seattle...
    Vehicle:
    2005 Prius
    <div class='quotetop'>QUOTE(bobr1 @ May 6 2006, 09:41 PM) [snapback]250923[/snapback]</div>
    [attachmentid=3299]
     
  4. auricchio

    auricchio Member

    Joined:
    Mar 31, 2006
    921
    7
    0
    Location:
    Cambria, CA, USA
    Vehicle:
    2006 Prius
    You inspired me to do some digging myself.

    I used to enjoy breaking open files like this; it probably started at a job I had in 1984. Here's what I've found out so far:

    1. VF_JILL.DAT and VFBE_JIL.DAT appear to be equivalent. VF is a "little-endian" format, and VFBE is the "big-endian" copy. The difference between big-and little-endian is that some CPUs (e.g. Motorola 68K) expect data with the highest-order byte first; others (e.g. Intel) expect it the other way 'round. (See http://en.wikipedia.org/wiki/Endian).

    Thus we only have to decode one of the copies.

    2. It appears that the first 100 bytes are a header of some kind. They're identical in both files, except for a couple of numeric fields that differ in endianness.

    3. Then there's a few dozen bytes of some other data structure. This again has some endian-dependent numeric fields.

    4. We next encounter a large data table, which at first guess might be pointers to separate samples later in the file. This table appears to be 40960 bytes long (which sounds like a sensible number; that's 4096 * 10).

    5. Beginning at byte 41176 ($A0D8), the files are identical. My guess is that this section of the file (out to the 8.3MB end) is where the audio samples are.

    I can't tell what those samples are. Each seems to have a preamble section of varying length. The preamble of the first is about 500 bytes; the next is perhaps 400ish; the next about 175, the next about 256.

    The audio might be encoded using MP3, but I'm unfamiliar with MP3 format. Could be the audio is MP3 and perhaps these tags or some other header? Beats me. Anyone?
     
  5. auricchio

    auricchio Member

    Joined:
    Mar 31, 2006
    921
    7
    0
    Location:
    Cambria, CA, USA
    Vehicle:
    2006 Prius
    Here's an even better idea. Does anyone know what voice the Lexus nav uses?

    If it's different than "Jill," I suspect it would be easy to simply substitute the Lexus voice. Betcha he's named Jack.
     
  6. bobr1

    bobr1 New Member

    Joined:
    Nov 21, 2005
    306
    2
    0
    Location:
    Portland, Oregon, USA
    Heh... haven't had to deal with endianness when coding for years, that takes me back to my Amiga days. "One little two little three little endians..."

    I wonder if they are including both versions of the file because they just happened to come with the voice library, or if they have different Nav systems out there that will work off the same DVD but actually have different CPUs?

    I doubt that the voice is MP3... I'm pretty sensitive to hearing the kinds of distortion that MP3 introduces (if they were aiming for a small memory footprint, they probably would have over-compressed the audio, and I just don't hear the artifacts.) But who knows?

    Have you tried loading the file into a waveform editor to see if there is any pattern to it? Maybe it is a medium bit-rate raw sample. You don't need a whole heck of a lot for voice.

    You were definitely the first to post those two filenames to the web... a Google search turns up no hits whatsoever!

    Interestingly, I found the following press release from April that indicates Toyota/DENSO has some interesting new Nav tech coming out, including 3D rendering:
    http://www.denso-europe.com/DENSO-Develops...0010000002.aspx

    - Bob R.
     
  7. bobr1

    bobr1 New Member

    Joined:
    Nov 21, 2005
    306
    2
    0
    Location:
    Portland, Oregon, USA
    Update: Could it be that the DENSO navigation system used in the Prius runs Windows CE or Windows Automotive?

    Scroll down to the bottom of this article from 2003:
    http://www.ipv6style.jp/en/netapplnc/2003/0425_w_ms.shtml

    And look closely at this specific image:
    http://pc.watch.impress.co.jp/docs/2003/0424/ms17.jpg
    (the image is described in the article as a DENSO nav system running under Windows CE)

    The image appears very similar in resolution and functionality to the 2004-2005 Prius nav system. The buttons are a bit different graphically, but they are in the same place as they are now and the compass and position indicator functions appear basically the same.

    Snark alert: I wonder if those sudden vehicle shutdown problems they had on the '04 and '05 models were Windows related? :)

    - Bob R.
     
  8. auricchio

    auricchio Member

    Joined:
    Mar 31, 2006
    921
    7
    0
    Location:
    Cambria, CA, USA
    Vehicle:
    2006 Prius
    <div class='quotetop'>QUOTE(bobr1 @ May 8 2006, 05:36 PM) [snapback]251830[/snapback]</div>
    It looks similar to the Prius nav, but not exactly the same. And I suspect that most nav systems start to look similar.

    As for the voice samples, I'm beginning to think they could be 22050Hz 8- or 16-bit samples. Probably 16. There's this text field in the main header: '1.00 enu 22050 Jill 391 155mrf22 ' which really makes me think that 22050 is meaningful information.

    I just have to figure out how to shove some of that data into a waveform editor. Most editors want the data in a standard file format. I can easily extract raw data from the VF file, just have to "wrap" it into a standard audio file format.

    I suspect the two endian versions are there for different-CPU systems. It's possible that Navtech (Navteq?) puts the voice files on there and Denso then implements the rest of the system. So Navtech puts on both endian formats---besides, there's probably plenty of room on the DVD.

    Though it would seem strange for Navtech to put voice prompts on there if Denso is doing the rest of the coding.
     
  9. ibcs

    ibcs New Member

    Joined:
    Aug 26, 2005
    351
    31
    0
    Location:
    Englewood , Ohio
    Vehicle:
    2006 Prius
    This is why I read PriusChat every day. Who in their right mind would exploit the nav system to change the voices or understand how it works. Great job and keep us posted if we can burn a replacement CD for new updates.
     
  10. Trevor

    Trevor Member

    Joined:
    Jul 5, 2004
    352
    8
    0
    Location:
    Staten Island, NY
    Vehicle:
    2006 Prius
    Model:
    N/A
    I can't help myself. I'll be making a backup myself tonight. I'm so tempted to customize some text just for the heck of it.
     
  11. vortx21

    vortx21 New Member

    Joined:
    Dec 9, 2005
    23
    0
    0
    Location:
    Burlington, VT
    <div class='quotetop'>QUOTE(Rick Auricchio @ May 9 2006, 03:58 PM) [snapback]252321[/snapback]</div>
    Rick - sounds right. 22050 is a standard frequency for wave files, and I imagine it'd have to be 16-bit since if it was 8-bit, little-endian vs big-endian wouldn't be an issue. But I opened it up as raw wave data and there was nothing but static.

    I see that just before that header part you listed, is the word SCANSOFT. Scansoft makes Dragon Naturally Speaking. They merged / became Nuance last year - check out this page:
    http://www.nuance.com/automotive/
    Looks like they make auto software for both voice recognition and speaking address names. So I'm thinking this might not have wave data in it, just a voice template for that software. Makes sense I suppose, that file is only big enough for 3 minutes of uncompressed 22khz 16-bit sound.

    So I doubt we could modify the voice ourselves, but there might be other compatible DAT files out there that we could replace Jill with...
    -Carl
     
  12. vortx21

    vortx21 New Member

    Joined:
    Dec 9, 2005
    23
    0
    0
    Location:
    Burlington, VT
    Poking around more, in the solo.hdr file, it says "RealSpeak Solo v4.0"

    If you go to
    http://www.nuance.com/realspeak/demo/
    pick Solo, US English, it will let you type text and speak it in Jill's voice. Doesn't sound that good, I guess they cleaned up the phrases they knew they'd be using for the Prius.
     
  13. auricchio

    auricchio Member

    Joined:
    Mar 31, 2006
    921
    7
    0
    Location:
    Cambria, CA, USA
    Vehicle:
    2006 Prius
    <div class='quotetop'>QUOTE(vortx21 @ May 10 2006, 10:28 AM) [snapback]252886[/snapback]</div>
    Cool...I figured someone else would find out something.

    The samples (or what I think they are) are definitely the same in both files, either big- or little-endian. But they certainly aren't conventional 8- or 16-bit samples (as we would have with AIFF audio). They bounce around way too much to be a waveform.

    So they're probably some oddball format used by RealSpeak.

    Given this turn of events, I don't know whether it's worth it to keep fooling around.
     
  14. vortx21

    vortx21 New Member

    Joined:
    Dec 9, 2005
    23
    0
    0
    Location:
    Burlington, VT
    Yeah, text-to-speech usually doesn't have whole recorded words, just smushes together sounds it generates. So it'll mash puh + rr + eee + uh + sss to say Prius. There may not be anything recorded at all, just rules on how to make syllables that blend together. So that blows our chances of anything simple like replacing a "Prius" wave with a "robocar" wave.

    On the other hand, it runs on windows or windows CE - who's going to be first to open up their NAV box and look for any ports?
     
  15. bobr1

    bobr1 New Member

    Joined:
    Nov 21, 2005
    306
    2
    0
    Location:
    Portland, Oregon, USA
    <div class='quotetop'>QUOTE(vortx21 @ May 10 2006, 10:28 AM) [snapback]252886[/snapback]</div>
    Actually, it sounds _just like_ our 2006 Prius, but here's the deal.

    A lot of people don't realize this, but the 2006 Navigation system has TWO types of voices. One is the prerecorded sample voice we are all familiar with hearing: "Left Turn", "You have arrived at your destination", etc.

    But, if you are using the voice recognition feature to set an address, the system will use a synthetic voice (identical to the RealSpeak demo) to repeat things back to you.

    You can demo this for yourself in a 2006 Prius with Nav...

    First, get to the map display (hit "OK" on the disclaimer, etc.)

    Now, press your steering wheel speak button. At the prompt, say:

    "Address"

    After your command is recognized (good luck), press the speak button again and say:

    "Oregon"

    The synthetic voice will say "Oregon". Press the speak button again and say:

    "Portland"

    The synthetic voice will say "Portland". Press the button again:

    "NorthEast EightySecond Avenue"

    If you are a very lucky person, this will be repeated back to you.

    Now press the button one last time and say "Three".

    You have just entered the address of the Walgreens. You can now get your drugs.

    Now, the first person who can get that !@&%ing voice recognition system to recognize the phrase "Unincorporated Clackamas County" without being replied to with "Unincorporated Hood River County" or "Unincorporated Grant County" wins my respect and admiration.

    Here is an interesting point:

    The file we are looking at may not actually contain any phrase samples at all. It may only be the file that is used for the synthetic text-to-speech voice. The file with prerecorded samples may be hiding somewhere else, or worse, be compiled in to a primary executable.

    - Bob R.
     
  16. auricchio

    auricchio Member

    Joined:
    Mar 31, 2006
    921
    7
    0
    Location:
    Cambria, CA, USA
    Vehicle:
    2006 Prius
    <div class='quotetop'>QUOTE(bobr1 @ May 10 2006, 11:33 AM) [snapback]252948[/snapback]</div>
    Exactly what I now think. These strings of bytes could simply be some type of coding of voice sounds. They sure don't look like conventional audio samples.
     
  17. jmpenn

    jmpenn New Member

    Joined:
    Apr 24, 2006
    110
    0
    0
    Location:
    Rockaway, NJ
    These seem to be the same voices that Garmin is using in my Nuvi GPS.

    American english is Jill, British english is Emily. The nav system uses text to speech so most likely the sounds are just phonetics and the words spoken are built from those. You may be looking at a file of common words built up for speed. :huh:
     
  18. auricchio

    auricchio Member

    Joined:
    Mar 31, 2006
    921
    7
    0
    Location:
    Cambria, CA, USA
    Vehicle:
    2006 Prius
    I agree, it's probably speech-synth codes, so I think we've hit the wall of fooling around.
     
  19. jr1972

    jr1972 New Member

    Joined:
    May 28, 2006
    1
    0
    0
    hum was just wondering if their was a way to change the voice to a male voice the woman voice is to soft for me
     
  20. bigbear01

    bigbear01 New Member

    Joined:
    Jun 24, 2006
    4
    0
    0
    <div class='quotetop'>QUOTE(jr1972 @ Jun 1 2006, 09:02 PM) [snapback]264372[/snapback]</div>
    Actually, this is so high-tech, I was hoping to replace Jill with StarTrek's Uhura. "Captain, your destination is 100 parsecs on the right."