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