Andere Stimmen selbst basteln (vpm-Dateien verstehen)

  • (Dieses Thema wurde in zwei anderen Threads angerissen, soll aber einen eigenen neuen Thread bekommen, damit es hier komprimierter diskutiert werden kann.)


    Archie hat auf einen Thread in einem englischen Forum hingewiesen, in dem diskutiert wird, wie man sich seine eigenen Navi-Stimmen bzw. .VPM-Sprachdateien für Garmin-Navis in Handarbeit bauen kann:


    http://www.pocketgpsworld.com/modules.php?name=Forums&file=viewtopic&t=31721


    Flipper500 bat um eine Zusammenfassung der englischen Diskussion dort. AntiBit steuert folgendes bei:



    flipper500 meint dazu:


    Zitat

    Original von flipper500


    Es scheint also dabei zu bleiben, daß es zu eigenen Stimmen auf einem Garmingerät noch ein weiter Weg ist.
    Aber wer basteln will, bitte gerne. zuzwinker


    Eigene/lustige Stimmen mögen zwar kurze Zeit ganz reizvoll sein, aber wenn ich mir vorstelle, daß mich die ganze Zeit ein mehr oder minder Prominenter vollquatscht und nervt . . .


    Alle Leute mit "Hacker"-Ambitionen sind eingeladen, hier Wissenswertes zur Vorgehensweise und zur Struktur von vpm-Dateien zusammenzutragen.


    Eine Google-Suche zu den Begriffen "garmin" und "vpm" verspricht noch mehr Webseiten, die Infos zum Thema haben könnten: http://www.google.de/search?num=100&hl=de&q=vpm+garmin+&btnG=Suche&meta=

  • Jo, nur funktioniert das dort beigesteuerte Programm derweil nur mit dem I3 Soundfile English_British, da da einiges hardgecoded ist und sich die Dateien bei den unterschiedlichen Geräten (also z.B. I3 vs. Nüvi) und Sprachen unterscheiden.


    Ich hab jetzt ein bisschen Zeit damit verbracht ein eigenes Programm zu coden, welches die Sprachdateien vom Nüvi entpacken kann. Das funktioniert im Moment aber noch nicht 100%ig, ich bekomme zwar die einzelnen Ansagen-WAVs durch mein Programm raus, diese sind aber etwas scrambled und nicht ganz klar - Bei dem Vorgang geht mir wohl etwas an Daten-Info verloren. Ich versuchs weiter wenn ich Zeit hab.



    EDIT: Problem gelöst: Hab alle wavs aus dem deutschen File rauslösen können :D


    Jetzt brauch ich theoretisch nur mehr das umgekehrte Programm zum Zusammenfügen schreiben...
    /EDIT

    3 Mal editiert, zuletzt von AntiBit ()

  • Hi, darf man fragen wie ? Bin auch grad heftig am Hacken und hab zwar die wav-Files, nur klingen die recht dürftig..........

  • Also, nehmen wir doch diesen Thread für die gesammelten Informationen und führen die Diskussion im anderen Thread



    Die Sprachfiles stehen im Unterverzeichnis voices.


    beim meinem 510 stehen da eine Unmenge Files, alles verschiedene Sprachen, fein säuberlich im Namen die Sprache.


    Die Deutsche heisst Deutsch_.vpm


    Von einem anderen Streetpilot 2272 oder sowas (für den gibts Sprachfiles im Update, URL irgendwo auf dem Board) gibts eine VoiceGerman_220.exe.
    Die kann man Unzippen und findet eine Updater.exe und eine deutsch_220.rgn.


    Die RGN und die VPM sind durchaus ähnlich, aber nchit gleich, und ausserdem sieht es so aus, als ob das verschiedene Versionen der deutschen Stimme sind (im vpm steht was von ....240).


    Wenn man in die Files hineinschaut (VPM und RGN), dann findet man mehrfach die Filestruktur eines WAV, und vorn im File noch nen Haufen unverständliches. Offensichtlich also ein File mit ziemlich strenger Struktur, der sich an "offizielle" Fileformate hält. Wär komisch , wenn sich das für den ersten Teil (das Inhaltsverzeichnis) nicht auch heraustellen würde.



    Zitat

    Original von Ralph525
    hmmm.....hat schon jemand mal versucht die Stimmen vom Nüvi auf einen C510er oder C550er zu "überspielen".........wäre ein Versuch wert oder ?


    ob Nüvi oder andere, es muss nicht sein, dass das geht, aber es wär mal interessant, die Fileformate zu vergleichen.
    Reinspeichern müsste mit dem Updater gehen - falls der nicht das andere Navi erkennt. ich werd jedenfalls in der richtung mal was ausprobieren. Falls sich ein Nüvibesitzer bei mir per PN meldet....

    Einmal editiert, zuletzt von I2C ()

  • Man kann die Sprachfiles im Unterverzeichnis voices über USB einfach schreiben, lesen, löschen umbenennen.


    Der zweite File gleichen Namens (.sum) scheint die Länge das VPMs zu enthalten. Er ist anscheinend nicht notwendig, geht auch ohne.


    Man kann weitere Sprachfiles unter anderem Filenamen in das Verzeichnis setzen - die erscheinen allerdings unter dem ursprünglichen Sprachnamen und nicht unter dem Filenamen (Schade!)
    Wo kommt der Sprachname im 510-Auswahlverzeichnis her? ich hab ihn ihm VPN noch nicht gefunden.


    Ohne die Wavs schon gehört zu haben (das englische Board gibt genügend hionweise), die WAV-Files sind die ganzen notwendigen Sprach-Stückchen, der erste Teil des Files dürfte eine Liste von Pointern enthalten, wie daraus die Sätze und die Sprachgrammatik aufgebaut ist. Das ist ja Sprachabhängig, muss also im File stehen.


    Ich denke, dass dies logische Pointer sind. (dann könnte man die Länge der WAVS ändern, ohne die Pointer zu ändern).

  • Zum Thema VPM-File und RGN-File:


    (crosspost aus dem englischen Board)


    Hi all,


    this is my first post on this forum and english is not my native language (so bear with my grammar ).


    For those of you who have either a Mac or the Nuvi webupdater do not find any new TTS languages (as it was in my case), I've found another way to install or update the TTS languages.


    Please be aware that the following procedure is not for the faint hearted and of course I will not take any responsibility for a destroyed Nuvi.


    Now here's the procedure:


    1.) Download the TTS language of your choice from the Garmin C340 website (here)


    2.) Open the downloaded .exe file with WinZip and extract the .rgn file.


    3.) Rename the .rgn file to .vpm.


    4.) Open the .vpm file with a hex-editor (e.g. UltraEdit).


    5.) Delete from the beginning of the file 60 bytes (leaving 16 bytes in front of the string "DSKIMG"). Save the changed file.


    6.) Copy (or drag/drop) the changed .vpm file manually to the Nuvi (into the directory \Garmin\Voice). The name of the file is not important only the extension .vpm is.


    7.) Delete (or save) the original TTS file.


    8.) On the Nuvi change to the new language (settings->Language->Voice Language).


    9.) To check, go to settings->System->About dialog and check the Audio Version. You should see the new version.


    FreeBird

  • Zitat

    Original von I2C
    Ich denke, dass dies logische Pointer sind. (dann könnte man die Länge der WAVS ändern, ohne die Pointer zu ändern).


    Das HOFFE ich.
    Mein erster Versuch dahingehend lief schief:


    Ich hab die wavs extrahiert, eines ausgetauscht und wieder zusammengepackt. Danach ab in den Nüvi und schauen was passiert.


    Und was ist passiert? Der Nüvi hat teilweise Ansagen einfach ausgelassen bzw. unvollständig ausgesprochen. :evil:


    Das heisst, 2 Möglichkeiten:


    a) Mein Programm hat noch wo einen logischen Fehler drinnen


    oder


    b) *böse* Diese Pointer beziehen die Länge der wavs auch irgendwie ein und müssten auch verändert werden. Dann glaub ich können wir das Thema abhaken.


    Ich arbeite dran um zu schauen ob es a oder b ist ;)


    mfg
    AntiBit

  • Zitat

    Original von I2C
    Ich denke, dass dies logische Pointer sind. (dann könnte man die Länge der WAVS ändern, ohne die Pointer zu ändern).


    Das HOFFE ich.
    Mein erster Versuch dahingehend lief schief:


    Ich hab die wavs extrahiert, eines ausgetauscht und wieder zusammengepackt. Danach ab in den Nüvi und schauen was passiert.


    Und was ist passiert? Der Nüvi hat teilweise Ansagen einfach ausgelassen bzw. unvollständig ausgesprochen. :evil:


    "Jetzt ___ abbiegen" statt "Jetzt rechts abbiegen"
    Oder "In ___50 Metern ___ abbiegen" statt "In 250 Metern rechts abbiegen"



    Das heisst, 2 Möglichkeiten:


    a) Mein Programm hat noch wo einen logischen Fehler drinnen


    oder


    b) *böse* Diese Pointer beziehen die Länge der wavs auch irgendwie ein und müssten auch verändert werden. Dann glaub ich können wir das Thema abhaken.


    Ich arbeite dran um zu schauen ob es a oder b ist ;)


    mfg
    AntiBit

    Einmal editiert, zuletzt von AntiBit ()

  • Zitat

    Original von I2C
    Wo kommt der Sprachname im 510-Auswahlverzeichnis her? ich hab ihn ihm VPN noch nicht gefunden.


    Schau mal ins File GarminDevice.xml. Dort findet man zu jedem Sprachfile eine PartNumber.


    Und im Firmwarefile GUPDATE.GCD findet man diese PartNumber auch, mit der entsprechenden Bezeichnung. Das sind zwar noch nicht die Bezeichnungen der Auswahlliste, aber eine entsprechende Liste findet sich auch an anderer Stelle im Firmwarefile. Das heisst, die Sprachfilebezeichnung ist in der Firmware vermutlich fest verankert.


    Evtl. könnte man versuchen durch Umbiegen des entsprechenden Eintrages in der Datei GarminDevice.xml eine andere Sprachdatei einzubinden.


    mfg
    JLacky

  • Ich glaube im englischen Board stand, dass die Wavs gleiche Länge hatten.


    Ich würd also zunächst im Wav nur die Daten austauschen ( und den Original-Header des Wvs gleich lassen).


    Dsa WAV-Format MUSS dann aber identoisch sein, soinst gehts eh nicht.


    WAV-Format hier

  • Also ich hab mal den Output meines Programms, ohne ein wav auszutauschen, binär mittels eines Programms "Exam Diff Pro" mit dem Original verglichen . Ergebnis laut Programm: absolut gleich.


    Das heisst mal dass meine Programme zum Splitten und zum Zusammenfügen funktionieren.


    Das heisst auch, dass man nicht einfach ein wav beliebiger Länge statt eines garmin-eigenen reinschummeln kann. Man muss also mit den wav-Dateien spielen.


    Ich werd mal meine Programme noch etwas ergänzen und euch dann zur Verfügung stellen, evt. hat jemand von euch Lust sich mit dem wave-Austauschen zu beschäftigen.

  • Zitat

    Original von JLacky


    Evtl. könnte man versuchen durch Umbiegen des entsprechenden Eintrages in der Datei GarminDevice.xml eine andere Sprachdatei einzubinden.


    mfg
    JLacky


    Ist wohl nicht nötig, ist so sogar von Vorteil:


    1) man entwickelt die neue Sprachdatei aus einer der gleichen Sprache
    2) gibt ihr einen neuen Filenamen
    3) man entfernt (und sichert) die originale Sprachdatei der Sprache
    4) schon kann man alte und neue Sprache auseinaderhalten.


    Deine Vorgehensweise ist notwendig, unfd führt wohl dazu, wenn man zwei Sprachdateien der gleiche Sprache einbinden und zwischen diesen umschalten will - ist ja für Versuche auch sehr nett.

    Einmal editiert, zuletzt von I2C ()

  • Zitat

    Original von AntiBit


    Das heisst auch, dass man nicht einfach ein wav beliebiger Länge statt eines garmin-eigenen reinschummeln kann. Man muss also mit den wav-Dateien spielen.


    Ich werd mal meine Programme noch etwas ergänzen und euch dann zur Verfügung stellen, evt. hat jemand von euch Lust sich mit dem wave-Austauschen zu beschäftigen.


    Du bist sicher, dass dein File-format des WAV stimmte?


    Ich werd was in Delphi machen, ist nur momentan ein Zeitproblem.

  • Zitat

    Original von I2C
    Du bist sicher, dass dein File-format des WAV stimmte?


    Fals Euch das evtl. hilft: Im Firmwarefile ist ein Hinweis auf die Firma GoldWave http://www.goldwave.com/ enthalten.


    Evtl. lässt das Rückschlüsse auf das verwendete WAVE-Format zu?


    Sehr oft stehen da auch die Begriffe RIFF und WAVE zusammen. RIFF hat doch was mit dem WAVE-Format zu tun, oder?


    mfg
    JLacky


  • Danke für die URL


    Lies bitte den Link auf das WAV-Format durch und vergleiche mit dem File, da steht alles drin, und du hast recht, das gehört zusammen.


    DasWave-Format kann man mit jedem Guten Wave-editor ermitteln.