Edit and change Garmin VPM voice file (TTS voice file only)

Main Features

  • Change phrases like "recalculating" to something more enjoyable
  • Control voice volume (level)
  • Change voice rate (speed)
  • Import/Export from/to text files (used for sharing, cleaning and copying to newer voice file)

Model Compatibility

TTSVoiceEditor has been tested on Garmin models:
  • Nuvi 1xxx and 3xxx
  • Nuvi 7x0, 255W, 260, 3x0, 6x0, 8x0, 1490
  • Nuvi 7x5, 255W, 265, 3x5, 6x5, 8x5
  • Zumo
  • StreetPilot C550, C580 and 2730.
  • StreetPilot C310, C340 and C510. Read this and that by Hornbyp.

It is NOT compabible with the following models:
  • Nuvi 250W (this model does not support TTS voice)
  • StreetPilot C320 (this model does not support TTS voice)

Screen Shots



  • 1- Start TTSVoiceEditor.
  • 2- Use File->Open to open a VPM file (TTS type only)
  • 3- Click twice on the word/expression you wish to change
  • 4- Enter the new word/expression. You are not limited to the original length. See "Hints" below.
  • 5- Click OK to change or Cancel to abort this change
  • 6- Modify as many words/expressions as you wish by repeating steps 4&5.
  • 7- Optionally, you can change the voice rate, the voice level and the screen name.
  • 9- Use File->Save to save the new VPM file. Add ".vpm" to your filename. You still need to use the original .vpm file name.
  • 10- Copy it on your Garmin in the Garmin/Voice directory.

Hint #1: Use the comma "," to make a short pause. Use the period "." to make a long pause.The exclamation mark "!"and the interrogation mark "?" sometimes do something.

Hint #2: There are a couple reserved words that can be used to modify how text is pronounced. Here are some examples:

  • <spell> and <end_spell>: Any enclosed letters will be spelled. Example: <spell>LOST<end_spell> will be spoken as "L-O-S-T".
  • <digits> and <end_digits>: Any enclose numbers will be enumerated. Example: <digits>123<end_digits> will be spoken "1-2-3".
  • <pause=s>: creates a small pause (P1) in the text.
  • <pause=m>: creates a medium pause (P5) in the text.
  • <pause=l>: creates a long pause (P9) in the text.
  • <address> and <end_address>: not tested yet.
  • <wait=0>: waits for something, but what? What is the difference with <pause>? Not tested yet.
  • <wait=1>: waits for something, but what? Not tested yet.
  • <wait=2>: waits for something, but what? Not tested yet.
  • <rate=s> and <end_rate>: change the speech rate temporarily to 15 instead of 50. Not tested yet.
  • <volume=l>: change volume to low (volume = 25). Not tested yet.
  • <volume=m>: change volume to medium (volume = 50). Not tested yet.
  • <volume=h>: change volume to high (volume = 75). Not tested yet.
  • <phon> and <end_phon>: speaks enclosed letters as phonems. Example: <phon>Ek.'sIt_R+a&It<end_phon> means "Exit on right"

Note: At the end of the listbox, you may notice single letter words or strange characters. They do not appear in all languages. Don't modify them and no harm will be done.


Latest version:

  • Please DONATE if you like it! See below.

Previous versions:

Revision History

Changes from v2.89 to v2.90:
  • Fixed an issue with new British Emily v2.40

Changes from v2.88 to v2.89:
  • Added support for Arabic_Maged v1.10

Changes from v2.86 to v2.88:
  • Added support for Espanol_European_Isabel v1.90
  • Extended volume to 0 for some devices.

Changes from v2.85 to v2.86:
  • Added support for Canadian_Francais_Julie v1.70.

Changes from v2.82 to v2.85:
  • Made a quick patch (hardcoded) to support Portugese_European_Madalena.

Changes from v2.81 to v2.82:
  • Enabled voice rate on 255W/265 models when rate is lower than 100%.

Changes from v2.80 to v2.81:
  • When editing a voice promt, there is now a copy&paste button to initialize the new voice prompt with the current prompt. It is often a good place to start.

Changes from v2.75 to v2.80:
  • Added icons in Menu, keyboard shortcuts to common functions and shortcut icons. No change in processing.

Changes from v2.74 to v2.75:
  • Added support for newer Nuvi 265/255w English_American_Jack/Samantha.vpm

Changes from v2.73 to v2.74:
  • Added support for newer Francais_European_Virginie.vpm & Sebastien

Changes from v2.72 to v2.73:
  • Added support for newer Espanol_Americas_Paulina.vpm

Changes from v2.71 to v2.72:
  • Added support for newer Portuguese_Brazilian_Raquel.vpm

Changes from v2.70 to v2.71:
  • Added support for newer NederlandsClaire.vpm

Changes from v2.68 to v2.70:
  • Added support for new voice structure files. The text appears in the editor, but I am not sure all GPS will get the changes. The structure is different. Still, no harm can come to your GPS. If there is any problem, just revert to the original VPM.
  • Added display of the voice version number.

Changes from v2.67 to v2.68:
  • Added support for Chinese voice MayLing.

Changes from v2.66 to v2.67:
  • Added support for new Katerina (russian voice). Yes, another version of it.

Changes from v2.65 to v2.66:
  • Corrected a bug introduced with v2.65 with Deutch_Steffi and other files from the Zumo550. Could affect other models too. All is good now.

Changes from v2.64 to v2.65:
  • Added support for new Jill v200 and Jack v150 (bugged for Zumo550 - see above)

Changes from v2.63 to v2.64:
  • Added support for voice British English Serena on model 255.

Changes from v2.62 to v2.63:
  • Corrected a bug introduced by v2.62. All is good now.

Changes from v2.61 to v2.62:
  • Added support for Katarina.VPM (russian voice). This version is bugged for many other languages. Use v2.63 instead.

Changes from v2.60 to v2.61:
  • Corrected display of screen name when file with different size are loaded.

Changes from v2.51 to v2.60:
  • Added support for StreetPilot models C310/C340/C510 using .RGN files directly.

Changes from v2.50 to v2.51:
  • Added support for models 350 which was showing only garbage text. This problem was due to obsolete voice files. I you encounter this problem, update your voice files to a newer version using the WebUpdater. You may need to update your GPS firmware to the latest version for the WebUpdater to show you the new voice files.

Changes from v2.42 to v2.50:
  • Added Import/Export in file menu. This can be used to share your phrases.

Changes from v2.41 to v2.42:
  • Corrected an issue where the voice rate was corrupted on model 2x0 and 255w.

Changes from v2.40 to v2.41:
  • Added a warning about using the original .vpm file name. If you do not use the original .vpm file name, the new voice cannot be selected. I will try to fix it.

Changes from v2.31 to v2.40
  • Added functionality to change the voice name when displayed in the voice selection menu. Voice name must be the same length or shorter than the original. Sorry, I feel lazy right now, but I will improve this later.
  • Added a file confirmation when saving to an existing file
  • Search is now case insensitive

Changes from v2.30 to v2.31
  • Corrected table detection for voice Nanna and maybe others.
  • Only allocate buffer space to new strings longer than the current string.
  • Added some file info like the voice name to indicate which file has been opened. Added the VPM file type to indicate if voice file is compatible with Nuvi 7x0/3x0 or 255W models.

Changes from v2.20 to v2.30
  • Added support for Nuvi 255W (and compatible TTS-type) VPM files.
  • Displays also the number of bytes left in the buffer.

Changes from v2.10 to v2.20
  • Added Edit menu with Find (Ctrl-F) and Find Next (F3). Really cool to search for known text.
  • Now text in listbox must be double clicked to edit.

Changes from v2.02 to v2.10
  • Added voice Rate and Volume
  • Corrected the problem of garbaged items at the end of the listbox when multiple files were loaded. False items were created and could cause problems if modified. Still, you should not modify items you can't read.

Changes from v2.01 to v2.02
  • Corrected an issue where pointers got screwed up and changes were affecting other strings.
  • Disabled changes on string "1-" for now.

Changes from v2.00 to v2.01
  • Corrected an overflow issue due to bad type conversion. Validated on British Daniel&Emily.
  • Corrected table search for Espanor Javier&Pauline.
  • Corrected output file size issue when file previously existed.

Changes from v1.00 to v2.00
  • Completely re-done in Visual Basic. Same functionality as V1.00.
  • v1.00 would not work unless you have Matlab installed on your computer.

  • first release.