Per facilitare il file per Excel è già

stato creato lo trovate qui

 

 

 

 

 

 

Come personalizzare i file di allarme per i POI di TomTom 5 Navigator  Trad. By Jackie Estacado


1. Create una cartella in C, chiamandola Tomtom (
C:\Tomtom)
2. Create in questa cartella altre 2 cartelle: Conversione Wav e UKVoices quindi avrete

C:\Tomtom\Conversione Wav e C:\Tomtom\UKVoices


3. Occorre procurarsi i 15 files (o meno a seconda di quanti ne volete personalizzare).

Generalmente questi files sono reperibili in formato Wav o creati dall’utente in formato Wav.

Nel caso siano creati dall’utente, una soluzione possibile è quella di registrarli 16000 Hz Mono PCM.

Ad ogni modo, ho trovato anche queste indicazioni, a seconda del dispositivo usato: Pocket PC's and

 Palms don't care and use bank 1 the GO needs bank 1 at 22050 Hz mobile phones need the second bank, and need 16000Hz
Per Bank 1, penso si riferisca alla tabella Excel che si andrà a creare in seguito.
Al momento io ho utilizzato i file sonori che si trovano all’indirizzo:  
http://www.poigps.com/poi/addon/wav_checkpoint.zip
Salvateli (scompattate il files scaricato) nella cartella
Conversione Wav
4. Trovati i file .wav, bisogna però convertirli in formato .ogg. Per far ciò, dovete procurarvi un convertitore.

Io ho usato vorbis-tools-1.0.1-win32.zip (basta fare una ricerca su internet, è freeware).

Io l’ho scaricato da: http://www.vorbis.com/files/1.0.1/windows/vorbis-tools-1.0.1-win32.zip
Salvate il file e scompattatelo nella cartella Conversione Wav, dovreste avere adesso i 15 files .wav e 5 nuovi files: oggdec.exe, oggenc.exe, ogginfo.exe, vcut.exe, vorbiscomment.exe
5. Convertire i file Wav in Ogg:
a) Da Start -> Esegui: digitare cmd, quindi invio oppure aprire il prompt dei comandi dos.
b) Posizionarsi in C: (se vi ritrovate in C:\Documents and Settings digitate cd\ e date invio finche non vi

ritrovate in C:\>)
c) Digitate cd Tomtom e premete invio
d) Digitate cd Conversione Wav e premete invio
e) Per ogni file wav dovete digitare
for %f in (*.wav) do oggenc %f e premere invio. Per es. se dovete convertire il file autovelox.ogg dovrete scrivere: for %f in (autovelox.wav) do oggenc %f e premere invio
Questa operazione va ripetuta per ogni file che volete convertire in ogg. (oppure trascinando il file WAV su oggenc.exe)
f) Terminata la conversion, digitate Exit e premete invio per chiudere la finestra Dos.

6. Aprite un nuovo documento Excel e salvatelo per es. nella cartella Tomtom col nome TomTom Poi converter
7. Andate in
Strumenti -> Macro -> Visual Basic Editor. Sarà aperta una nuova finestra.
8. A sinistra, dovreste visualizzare VBAProject e sotto la cartella Microsoft Excel Oggetti aperta.

Qui visualizzerete Foglio 1, Foglio 2, Foglio 3, ThisWorkbook. Fate doppio clic su Foglio 1. Sarà aperto un foglio bianco.
9. Incollate quanto riportato di seguito:

Sub data_chk_reload()
Dim g As Long
Dim b As Byte
Dim bt As Byte
Dim Maxfiles
Maxfiles = 30

'this folder holds the original data.chk file N.B. Following line modified by TomTomTim
folder = "C:\TomTom\"
'identifier of the data.chk version. complete file name is identifier.data.chk
fname = "4890"
'the OGG files need to be in the subfolder specified by cell C1
fnum = FreeFile
Open folder & fname & ".data.chk" For Binary Access Read As #fnum
flen = FileLen(folder & fname & ".data.chk")
g = get_long
Debug.Print fname; " Number of modules: "; g; " File size: "; flen
’If (g <> 102) And (g <> 120) And (g <> 123) And (g <> 136) Then
’a = MsgBox("Not a good DATA.CHK file. Please report your build version of the TomTom program to lutz@pocketgpsworld.com", vbOKCancel, "Error - wrong file version")
’Close
’Exit Sub
’End If
'get offsets
If g = 102 Then Maxfiles = 12
ReDim entry(g + 1)
For i = 1 To g + 1
entry(i).offset = get_long
entry(i).sourceoffset = entry(i).offset
If i > 1 Then entry(i - 1).length = entry(i).offset - entry(i - 1).offset
Next
'confirm file size
If entry(g + 1).offset = flen Then
Debug.Print "File size confirmed"
Else
Debug.Print "File size mismatch! Reported:" & Hex(entry(g + 1).offset) & " Actual:" & flen
End If

'calculating new offsets etc
Debug.Print "Calculating new parameters"
i = 2
For f = g - Maxfiles To g
If (Cells(i, 3) > vbNullString) And (f < g) Then 'new file
Debug.Print "Verifying "; Cells(i, 3)
flen = FileLen(folder & Cells(1, 3) & "\" & Cells(i, 3))
entry(f).ogglength = flen
pad = 0
While flen Mod 4 <> 0
flen = flen + 1
pad = pad + 1

Wend
entry(f).blocks = (flen + 12) / 4
entry(f).length = flen + 16
End If
i = i + 1
Next

'recalculate header
Debug.Print "Recalculating header ";
For i = g - Maxfiles To g + 1
entry(i).offset = entry(i - 1).offset + entry(i - 1).length
Next
Debug.Print "- new File Size is "; entry(g + 1).offset

'write output file
Debug.Print "Writing CHK file "
On Error Resume Next
Kill folder & Cells(1, 3) & "\" & fname & "_new.data.chk"
On Error GoTo 0
fnum2 = FreeFile
Open folder & Cells(1, 3) & "\" & fname & "_new.data.chk" For Binary Access Write As #fnum2

'write header
'number of segments
put_long (g)
'offsets
For i = 1 To g + 1
put_long (entry(i).offset)
Next
'non-voice files
'position pointer
Get #fnum, entry(1).offset, b
h = entry(g - Maxfiles).offset - entry(1).offset
For i = 1 To h
Get #fnum, , b
Put #fnum2, , b
DoEvents
Next

'write sound files, either from source or from new OGG
Debug.Print "Writing CHK file - Sounds"
i = 2
For f = g - Maxfiles To g
If (Cells(i, 3) > vbNullString) And (f < g) Then 'read new file
Debug.Print "Including "; Cells(i, 3); " for "; Cells(i, 1)
'recreate header
b = 1
Put #fnum2, , b
b = 0
Put #fnum2, , b
b = entry(f).blocks \ 256
Put #fnum2, , b
b = entry(f).blocks And 255
Put #fnum2, , b
put_long (1)
put_long (8)
put_long (entry(f).ogglength)
fout = FreeFile
Open folder & Cells(1, 3) & "\" & Cells(i, 3) For Binary Access Read As #fout
For h = 1 To entry(f).ogglength
Get #fout, , b
Put #fnum2, , b
DoEvents
Next
'padding
b = 0
flen = entry(f).ogglength
While flen Mod 4 <> 0
Put #fnum2, , b
flen = flen + 1
Wend
Close (fout)
Else 'read from source
'position pointer
Get #fnum, entry(f).sourceoffset, b
For h = 1 To entry(f).length
Get #fnum, , b
Put #fnum2, , b
DoEvents
Next
End If
i = i + 1
Next
Close
Beep
MsgBox ("OK – La dimensione del nuovo file creato è: " & FileLen(folder & Cells(1, 3) & "\" & fname & "_new.data.chk"))
End Sub
'required because of the little endian storage of long values
Function get_long() As Long
Dim b As Byte
l = 0
For h = 1 To 4
Get #fnum, , b
l = l * 256 + b
Next
get_long = l
End Function
Sub put_long(ByVal l As Long)
Dim b(4) As Byte
For h = 1 To 4
b(h) = l And 255
l = l \ 256
Next
For h = 4 To 1 Step -1
Put #fnum2, , b(h)
Next
End Sub

10. A sinistra, dove avevate trovato il Foglio 1, cliccate con il pulsante destro su Microsoft Excel Oggetti,

scgliete Inserisci ->Modulo. Sarà aperto un foglio bianco. Incollate quanto riportato di seguito (per esser certi

che state incolando nel posto giusto, questo foglio deve avere due menu a tendina nella parte altra:

(generale) e (dichiarazioni):
Public fnum
Public fnum2
Type CHKentry
offset As Long
sourceoffset As Long
length As Long
tag As Byte
packtype As Byte
blocks As Integer
ogglength As Long
End Type
Public entry() As CHKentry

11. Salvate il codice e tornate sul foglio excel.
12. A questo punto occorre costruire la tabella di riferimento per i files vocali. La tabella ha 3 colonne.

A partire dalla cella A1, l’intestazione delle 3 colonne deve essere la seguente: Nome, Sampling, UKVoices.

La tabella che creerete sarà simile alla seguente:
Nome Sampling UKVoices
Beep 1 11025 Autovelox.ogg
Beep 2 11025 probabileautovelox.ogg
Beep 3 11025 rilevatoredisorpasso.ogg
Beep 4 11025 telecameraconrilevatore.ogg
Beep 5 11025 telecamerasuincrocio.ogg
Bell 1 11025 max50.ogg
Bell 2 11025 max90.ogg
Bell 3 11025 max130.ogg
Boing 11025 rallentare.ogg
Bugle 11025 rallentarevelocitaelevata.ogg
Cow 11025 velocitelevata.ogg
Chuckoo 11025 transitovietato.ogg
Polite 1 11025
Polite 2 11025
Polite 3 11025
Beep 1 16000 Autovelox.ogg
Beep 2 16000 probabileautovelox.ogg
Beep 3 16000 rilevatoredisorpasso.ogg
Beep 4 16000 telecameraconrilevatore.ogg
Beep 5 16000 telecamerasuincrocio.ogg
Bell 1 16000 max50.ogg
Bell 2 16000 max90.ogg
Bell 3 16000 max130.ogg
Boing 16000 rallentare.ogg
Bugle 16000 rallentarevelocitaelevata.ogg
Cow 16000 velocitelevata.ogg
Chuckoo 16000 transitovietato.ogg
Polite 1 16000
Polite 2 16000
Polite 3 16000
Shutter 11025
Come potete notare, nella prima colonna viene inserito il nome originale del file di TT5, mentre nella terza colonna dovete inserire

il nome dei vostri files .ogg. I valori della seconda colonna impostateli così come sono.
Se non indicate nulla nella terza colonna, il file creato, manterrà il file audio originale

(nel mio caso ho mantenuto i polite).
Il nome dei vostri files NON deve contenere spazi ed il programma si aspetta che siano tutti

nella cartella C:\Tomtom\UKVoices (RISPETTATE LE MAIUSCOLE NEL NOMINARE LE CARTELLE)
13. Stando sempre sul Foglio Excel, dal menu Visualizza ->Barre degli Strumenti->Strumenti di controllo  

(se non è già abilitata, abilitatela). Sarà visualizzata una nuova barra di pulsanti di excel.
14. Cliccate sul pulsante che raffigura una
squadra blu.
15. Cliccate sul pulsante che rappresenta un pulsante di comando (il quarto nella prima colonna di pulsanti presenti).
16. Spostatevi in una zona del foglio excel e disegnate il vostro pulsante.
17. Se volete cambiare l’etichetta del pulsante che avete creato, cliccate sul pulsante con il pulsante destro del mouse, scegliendo Proprietà. Sarà aperta una nuova finestra. Cambiate la descrizione in corrispondenza della voce Caption

e avrete un nuovo nome sul vostro pulsante.
18. Cliccate ora con il pulsante destro, sempre sul vostro pulsante e scegliete Visualizza codice.
19. Individuate le linee di comando (dovreste avere già il cursore pronto là):
Private Sub CommandButton1_Click()
e
End Sub,
Ed aggiungete in mezzo la seguente riga di codice:
data_chk_reload
20. Salvate e chiudete il Visual Basic Editor e tornate sul foglio Excel.
21. Copiate il file
data.chk dal vostro palmare. Dovreste trovarlo in \programmi\navigator.

Gia che ci siete fatevi una copia sul palmare, o rinominatelo in data.chk.original

(in questo modo, potrete sempre ripristinarlo quando volete).
22. Incollate il file data.hk che avete appena copiato dal vostro palmare, nella cartella C:\Tomtom
23. Rinominate il file in
4890.data.chk.
A questo proposito, verificate la versione del vostro tom tom prima di rinominare il file sul palmare.

Se la verione è 5.000 (4890) allora procedete come ho fatto io, altrimenti, il file che rinominate,

dovrebbe riportare il numero della vostra versione, cioè quello tra parentesi, inoltre, dovrete tornare nel codice Visual Basic (tramite l’editor) e cambiare il numero di versione da 4890 al vostro, ogni volta che viene riportato. Se non fate così, probabilmente non funzionerà la reazione del vostro file audio.
24. Ora siete pronti per creare il vostro file audio per TT5. Tornate sul foglio Excel e cliccate sul pulsante che avete creato. Attendete qualche minuto, finchè non comparirà il messaggio: Ok – La dimensione
del nuovo file creato è:
25. Controllate nella cartella C:\Tomtom\UKVoices e troverete il
file
4890_new.data.chk
26. Rinominate questo file in
data.chk e incollatelo nella cartella del vostro palmare programmi/navigator.

Vi consiglio di rinominare il data.chk originale per non perderlo definitivamente.
27. Avviate TT5 sul palmare e divertitevi con i nuovi suoni. :-P

 

Eventuale problema: Ho provato a seguire le tue indicazioni ma al momento della compilazione del file mi da un errore. Il debug mi segnala ERRORE DI RUNTIME 9

Ho litigato con il problema in comune e l'ho risolto copiando il file "data.chk" originale nella directory c:\TomTom e rinominandolo a "4890.data.chk" dopodichè lanciando il file di Excel non ho avuto più problemi ed ho fatto quello

che volevo.

Come fare per:

Suggerimenti presi dai vari forum

Cambiare i files sonori degli allarmi