Tekst ten piszę dla osób w miarę zorientowanych w obsłudze komputerów. Jednocześnie mam nadzieje, że ktoś doprowadzi to co zacząłem do końca, samemu ciężko pracuje się nad takimi projektami.
1. Zasada działania nawigacji
W oprogramowaniu systemowym MMI znajduje się program główny nawigacji. Tam zawarte są procedury wyświetlające mapę z płyty, interfejs użytkownika, obsługa modułu GPS itd.
To nas nie interesuje. Dzięki nieoficjalnej polonizacji MMI, tą sprawę mamy załatwioną.
W czytniku płyt z bagażnika znajduje się właśnie napęd DVD i elektronika sterująca tym napędem + pamięć trwała na którą zrzucane są z płyty dane używane najczęściej:
- głosy lektorów,
- koordynaty punktów POI
Sensownie. Zrobione po to, aby nie mieliło płytą przy każdym wypowiadanym komunikacie lektora.
2. Co to w ogóle jest.
Nawigacja w MMI 2G to antyczny Harman-Becker, model stworzony na przełomie wymierania nawigacji działających na zasadzie "strzałka w lewo, w prawo" na prostym wyświetlaczu led, oraz wchodzenia na rynek nowości w postaci pełnego graficznego prowadzenia kierowcy wraz z mapą okolicy. Właśnie dlatego nawigacja ta ma trochę wspólnego z jednym i drugim (jeśli chodzi o strukturę danych na płycie).
3. Zawartość płyty.
***
Może kiedyś opiszę wszystko, teoretycznie można tworzyć własne POI'e, edytować mapę itd.
***
Pliki lektora:
SPE060504EUWS3.DB - dla wersji EU
SPE061113RUSWS3.DB - dla wersji RUS
4. Narzędzia
a) navfldb_tool.exe - rozpakowywanie i pakowanie głównych baz danych.
Rozpakowywanie bazy: navfldb_tool.exe -x plik.DB
Pakowanie bazy: navfldb_tool.exe -c nazwa_katalogu\metafile_fldb.txt
b) navvoice_tool.exe - rozpakowywanie i pakowanie baz z plikami dźwiękowymi lektora.
Rozpakowywanie bazy: navvoice_tool.exe -x plik.SM5
Pakowanie bazy: navvoice_tool.exe -c nazwa_katalogu\metafile_voice.txt
UWAGA: zykle po utworzeniu w ten sposób postaje plik bez rozszerzenia np. RUS_FRAU1_V0500_30 trzeba zmienić nazwę na RUS_FRAU1_V0400_30.SM5
c) navlwdb_tool.exe i speedlimit_tool.exe to narzędzia do edytowania limitów prędkości i punktów POI, to nas w tym momencie nie interesuje.
5. O co chodzi wewnątrz plików SM5
Wewnątrz bazy danych konkrentego języka znajdują się pliki RAW i plik metafile_voice.txt
Pliki RAW są włąśnie poszczególnymi komunikatami, których nie będziemy mogli odtworzyć na komputerze. Wynika to albo z dziwnego sposobu zapisu dźwięku,
lub co bardziej prawdopodobne, z nieprawidłowego wypakowania i nadania nagłówków plikom przez program rozpakowujący. Nie zmienia to faktu, że możemy swobodnie pakować i rozpakowywać pliki nie niszcząc ich struktury i możliwości odczytu przez nawigację.
metafile_voice.txt - NAJWAŻNIEJSZE W TYM TEMACIE:
Wewnątrz znajdziemy nagłówek pliku który opisuje język i wersję. Nie dotykamy tego.
Poniżej znajduje się przyporządkowanie odnośników z mapy do plików dźwiękowych.
6. Czego nie możemy.
Nie możemy zedytować, przynajmniej na tą chwilę, odnośników w mapie. Ten sposób polonizacji byłby najprostszy.
7. Co możemy.
Możemy podmienić nazwy samych plików z jednej wersji językowej na drugą.
Jedyną polską wersję jaką znalazłem, pochodzi z nawigacji Harman-Becker Traffic PRO 10.
Z bazy polskiej (polska_lektor.rar) najlepiej skopiować wszystko do katalogu z wersją angielską czyli GB_FRAU1_V3400_32.SM5 (po rozpakowaniu obu oczywiście) oprócz metafile.
Następnie porównujemy oba pliki metafile i próbujemy zmodyfikować ten z wersji angielskiej.
Przykład (tylko przykład, nie pamiętam czy akurat te pliki tak się nazywały):
left; sample_left.raw
zmieniamy na:
left; sample_lewo.raw
I to działa.
Sprawa troszkę się komplikuje jeśli chcemy aby nasz lektor brzmiał gramatycznie.
Jeśli oprzemy naszą pracę na wersji angielskiej to wygląda to tak: "Turn left" czyli "Skręć lewo". Tak jest brzydko.
Dlatego producent umożliwił tworzenie linków.
Przykład:
Kod: Zaznacz cały
-lewo; sample_lewo.raw
w-; sample_w.raw
left; link: w- -lewo
Linki nie są ograniczone do 2 słów, można generować dłuższe zwroty.
Producent w innych wersjach językowych opisał sobie pliki myślnikami. Jeśli myślnik jest przed słowem oznacza to, że jest częścią dłuższej frazy doklejaną do jej końca. Analogicznie z myślnikiem z tyłu słowa, jest to początek.
Należy pamiętać o zachowaniu struktury (średniki i inne znaki). Jeśli się pomylimy, otrzymamy błąd podczas pakowania pliku, na szczęście z opisem gdzie jest błąd.
8. Problemy gramatyczne
Jak bardzo byśmy się nie starali, angielska gramatyka jest zbyt prosta aby na jej podstawie budować polskie zdania.
Najbardziej denerwującym przykładem są wszelakie odmiany liczb.
Po angielsku 300 to 300, zawsze. My mamy "trzysta", "trzystu".
Tworzenie liczebników przez system teoretycznie zaplanowane jest jako liczba 1-9 + ew. końcówka "dziesiąt", "set".
Nawigacja tak przetłumaczona działa, doprowadzi nas do celu. Ale jest jakiś niesmak.
Jeśli chcemy to naprawić, musimy oprzeć się na innym języku. Słowiańskim języku. Rosysjkim.
Do tego celu potrzebujemy całą płytę nawigacyjną wypuszczaną na Rosję ale z mapą Europy.
Zasada polonizacji jest podobna. Interesuje nas plik RUS_FRAU1_V0400_30.SM5.
W tym przypadku zapis odnośników to język rosyjski, zapisany fonetycznie przez niemca. Ogólnie bajzel. Z pomocą google translatora w formie fonetycznej da się to ogarnąć.
W języku rosyjskim mamy czasami nawet za dużo odmian danego słowa, liczby itd.
Możemy spokojnie powielić jeden plik w kilka miejsc i sprawdzić co się stanie.
*MOŻEMY* kasować odnośniki do plików, zmieniać im nazwy np dodając końcówkę _tmp aby sobie był, ale nie przeszkadzał.
Komunikat całkowicie skasowany z pliku nie powoduje wystąpienia żadnego błędu w nawigacji. Nie jest odczytywany i koniec.
8. Kompilacja
Po przetłumaczeniu fraz w pliku metafile, składamy wszystko do kupy.
Prosty plik wsadowy ułatwia testowanie, tworzymi plik.bat w folderze w którym umieszczamy rozpakowane katalogi (SPE061113RUSWS3.DB_contents, RUS_FRAU1_V0400_30.SM5_contents).
Kod: Zaznacz cały
cls
navvoice_tool -c RUS_FRAU1_V0400_30.SM5_contents\metafile_voice.txt
ren RUS_FRAU1_V0400_30 RUS_FRAU1_V0400_30.SM5
copy /Y RUS_FRAU1_V0400_30.SM5 SPE061113RUSWS3.DB_contents
del RUS_FRAU1_V0400_30.SM5
del RUS_FRAU1_V0400_30
navfldb_tool.exe -c SPE061113RUSWS3.DB_contents\metafile_fldb.txt
pause
Wynikiem jest wspomniany plik, który po prostu dołączamy do naszej kompilacji płyty.
9. Wypalanie
Nawigacja nie ma żadnych zabezpieczeń. Tworzymy kompilacje w ImgBurn "Write files/folders to disc" dodajemy do naszej kompilacji wszystko co było na oryginalnej płycie z navi zastępując oczywiście jeden z plików tym nad którym pracowaliśmy. Sumy kontrolne czy inne bzdury nie są istotne, nie są sprawdzane.
10. Testowanie
Pierwszy raz jest fajnie. Wkładamy płytkę, nawigacja po chwili pyta się nas czy zrobić update, zatwierdzamy, MMI się restartuje i gotowe.
Przy kolejnych poprawkach plików nawigacja nie wie, że na płycie nastąpiły zmiany, ponieważ sprawdza tylko i wyłącznie nazwy plików, a te się nie zmieniły.
Wydaje mi się, że wystarczyło by zmieniać cyfry w nazwie pliku z mapą na inne miesiące/lata ale nie chciało mi się testować. Ja po prostu wkładałem najpierw płytkę z innego roku lub inną wrsję językową (jak była rus to eu), wgrywanie, restart i od razu moją nową wypaloną płytkę, wgrywanie, restart, testy.
11. Testy
Albo się przejedziemy po okolicy, na początku to nawet dobre. Później potrzebujemy bardziej wyszukane komunikaty. Ronda, zjazdy itd. Do tego mamy tryb DEMO w opcjach nawi. Aktywujemy, dzięki temu przy rozpoczęciu prowadzenia możemy zaznaczyć prowadzenie w trybie demo.
12. Czy to jest szkodliwe dla nawigacji.
Dla nawigacji nie. Nie aktualizujemy oprogramowania sprzętu tylko same bazy. Natomiast możemy zabić laser, jeśli będziemy próbować kilkanaście-kilkadziesiąt płyt dziennie na 13 letnim laserze. Wtedy może paść, na szczęście wymiana jest prosta i starczy na lata.
13. Gotowce
Załączam dla w pełni złożone pliki. Jeden dla wersji EU, zastępuje język angielski (bardziej spolonizowany). Drugi zastępuje język rosyjski i wymaga płyty rosyjskiej (ja oparłem się o Audi-MMI-2G-2015-RUS-2.iso 2,21 GB (bajtów: 2 380 419 072)).
14. Ważne
Przy każdym włożeniu płyty z poprawkami do języka, nawigacja musi wykonać aktualizację baz. Musi to zostać wymuszone w jakiś sposób.
15. Cwaniaki z Allegro.
Nieprawdą jest że coś trzeba wylutowywać z nawigacji. Oni wylutowują kość pamięci po to, aby wrzucić tam bezpośrednio lektora, aby nie dało się go zgrać/przegrać/pożyczyć komuś innemu.
W zasadzie nie chcę atakować uczciwych firm i ludzi, którzy poświęcili czas i zrobili prawdobodobnie to samo co ja. Aczkolwiek powiem szczerze, zarobili już na tym. Ponad 1000 zł za piracką przerobioną płytę do ponad 10-letniej nawigacji to przegięcie.
Tutaj pojawia się problem logistyczny, od dawna niczego nie udostępniałem w sieci, wybrałem pierwszy lepszy serwis, mam nadzieje że działa.
Narzędzia
http://s000.tinyupload.com/?file_id=694 ... 6198440510
Wersja PL dla mapy EU
http://s000.tinyupload.com/?file_id=243 ... 9835867906
Wersja PL dla mapy RUS
http://s000.tinyupload.com/?file_id=006 ... 0303759244
Polski lektor, z innej nawigacji, plik dla tłumaczy.
http://s000.tinyupload.com/?file_id=181 ... 48205[code][/code]
Kod: Zaznacz cały