Me pasaron una voz de Torrent para el TomTom 5 y cuando fui a probarla no me funcionó. Entonces me puse a buscar a ver por qué no funcionaba y pensé, ¿y si miro el archivo por dentro?. Aquí está el resultado de la investigación:
Análisis
Comparando varios archivos de voces se ve que hay una cabecera que es siempre la misma. Esta cabecera es:
00 00 00 3b 00 00 00 f4
A continuación cada grupo de cuatro bytes parece indicar la posición del
comienzo de un nuevo archivo Ogg Vorbis.
00000000 00 00 00 3b 00 00 00 f4 00 00 25 3c 00 00 4e 78 |…;……%<..Nx| 00000010 00 00 70 ec 00 00 91 08 00 00 be f0 00 00 e7 a0 |..p.............|
En esas direcciones tenemos:
00002530 24 af a6 f1 db 37 ab d2 aa 06 03 0e 01 00 0a 4e |$….7………N|
00002540 00 00 00 01 00 00 00 08 00 00 29 2b 4f 67 67 53 |……….)+OggS|
00002550 00 02 00 00 00 00 00 00 00 00 01 00 00 00 00 00 |…………….|
00002560 00 00 96 fc 0f 56 01 1e 01 76 6f 72 62 69 73 00 |…..V…vorbis.|
00002570 00 00 00 01 22 56 00 00 00 00 00 00 1e 9d 00 00 |….»V……….|
00002580 00 00 00 00 a9 01 4f 67 67 53 00 00 00 00 00 00 |……OggS……|
Indica realmente la posición en la línea en hex anterior a partir de la cual empieza el nuevo archivo. Es decir, si en las líneas anteriores podemos ver que nos ha indicado 00 00 25 3c y ahí tenemos 0e, en la línea siguiente debajo del 0e, queda el último byte del archivo anterior y a continuación comienza el siguiente Ogg Vorbis. El nuevo archivo empieza en la posición 00 00 25 3c + 0x10.
Veamos si se cumple con el siguiente también. Tenemos 00 00 4e 78. En esa
posición hay el siguiente fragmento:
00004e70 4a dd 45 7e 21 00 0e 00 01 00 08 9c 00 00 00 01 |J.E~!………..|
00004e80 00 00 00 08 00 00 22 62 4f 67 67 53 00 02 00 00 |……»bOggS….|
En la posición 00 00 4e 78 tenemos el byte 01. Debajo de éste se encuentra el 4f 67 67 que es el `Ogg’. De nuevo es 00 00 4e 78 + 0x10. ¡Se cumple!
Como comprobación adicional veamos el último indicado en el fragmento de cabecera que hemos tomado para la demostración. Tenemos 00 00 e7 a0. Si nos vamos a esa posición encontramos:
0000e7a0 01 00 0b 34 00 00 00 01 00 00 00 08 00 00 2c c4 |…4……….,.|
0000e7b0 4f 67 67 53 00 02 00 00 00 00 00 00 00 00 01 00 |OggS…………|
Con lo que tenemos de nuevo 00 00 e7 a0 + 0x10 = e7 b0.
Los archivos Ogg Vorbis extraídos tienen el siguiente formato:
$ ogginfo voces10.ogg
Processing file «voces10.ogg»…
New logical stream (#1, serial: 00000001): type vorbis
Vorbis headers parsed for stream 1, information follows…
Version: 0
Vendor: Xiph.Org libVorbis I 20020717 (1.0)
Channels: 1
Rate: 22050
Nominal bitrate: 40,222000 kb/s
Upper bitrate not set
Lower bitrate not set
Vorbis stream 1:
Total data length: 5871 bytes
Playback length: 0m:00.811s
Average bitrate: 57,876629 kb/s
Logical stream 1 ended
La última palabra de 32 bits que indica dónde termina el último Ogg, lo
cual coincide con la posición del último byte del archivo, se encuentra
a partir de la posición 0000 00f0.
Después de la posición 0000 00f3 del archivo hay cuatro palabras de 32 bits
más antes del primer Ogg. Estas cuatro palabras en marta son:
0000 00f4 -> 0100 0911
0000 00f8 -> 0000 0001
0000 00fc -> 0000 0008
0000 0100 -> 0000 2438
Y en el caso de raul:
0000 00f4 -> 0100 0a82
0000 00f8 -> 0000 0001
0000 00fc -> 0000 0008
0000 0100 -> 0000 29f9
Ni idea de para qué se usan. ¿Será una especie de suma de comprobación?
Aplicación
En base a estas averiguaciones he programado dos pequeñas aplicaciones en python. Una de ella extrae los sonidos de un archivo existente, la otra crea un archivo de sonidos a partir de una serie de Ogg que contengan las nuevas voces grabadas. Adicionalmente un pequeño guión en bash codifica en Ogg archivos wav en el formato usado por TomTom5. A continuación los enlaces a cada una de las aplicaciones:
28 comentarios en “Las voces del GPS”
mayo 13th, 2006 en 18:48
Joe, tas hecho un crack (o un enfermo)! Hay que estar muy aburrido para mirarse el código hexadecimal xDD
Bueno seguro que a alguien le sirve. Gracias!
mayo 14th, 2006 en 20:13
¡Artitta! No se si alguna vez lo usaré, pero el hecho de poder hacerlo ya me emociona (enlavin, si te curras el archivito, que rule, ¿no? Podemos hacer un proyecto colaborativo de esos…)
Yo tenía pendiente escribir un post sobre Marta y las voces en mi cabeza, pero ya después de esto no se si soy digno…
mayo 14th, 2006 en 01:17
muy buen trabajo juanete. como te lo curras flipado me he kedado.
abur
mayo 13th, 2006 en 21:00
¿La última vez que cogiste un editor hexadecimal no te ventilaste la FAT de un disco duro? :P
Ahora ya puedo ponerle la voz de Homer :D . Buen trabajo tio :)
mayo 15th, 2006 en 23:52
Miedo me da de pensar que una mente privilegiada como la de Nauj pudiera pasarse al lado oscuro…
Imagináos: Semáforos encendiéndose y apagándose de manera aleatoria, cajeros del banco escupiendo dinero, el windows 2089 filtrado en su versión final…
mayo 20th, 2006 en 18:22
Perdono, pero como no soy informático no me he enterado de casi nada. ¿Al final funciona la voz de Torrente en el tom tom?. Si es así ¿que es lo que hay que instalar y donde?. Yo tengo una Acer NC35 con el tom tom.
Salu2.
http://blogdeldescanso.blogspot.com/
septiembre 6th, 2006 en 02:08
Hola a todos. como se utiliza el python para hacer funcionar «extraerSonidos» y «epaquetarsonidos»?
septiembre 13th, 2006 en 00:00
Donde puedo usar esos programas para editar los chk?
Gracias
septiembre 13th, 2006 en 00:01
Donde puedo usar esos programas para editar los chk?
Gracias
agosto 23rd, 2006 en 19:44
Hola de nuevo. Efectivamente tenia un problema en el path. El script funciona perfectamente. El problema es que el fichero de voces que descarge esta mal y los ficheros ogg resultantes son vacios o incluso faltan algunos. Los tamaños de cada ogg son enormes e incluso alguno negativo. En fin que se le va a hacer.
Un saludo y muy buen trabajo.
junio 4th, 2006 en 11:07
perdón, es que el chino no lo comprendo. por mas que leo lo que poneis no me entero de nada, que pijo son esos cuadrados? Es un idioma nuevo? me he quedado obsoleta?
junio 5th, 2006 en 22:19
Uys, perdona gemy, es que a veces se me va,.. se me va !
julio 20th, 2006 en 19:27
Me podrias decir que tengo que hacer para que el tomtom me advierta con voz de los radares. Hasta ahora solo me aparecen en la pantalla y no puedo estar todo el rato pendiente de ella.
julio 3rd, 2006 en 18:33
Hola.
He visto tu página en internet para editar los archivos de voz del tomtom 5 y me parece muy interesante.
Necesito hacerte un par de preguntas.
La primera. ¿Se puede, con los programitas que ofreces, incluir voces propias en los archivos con extensión .chk propios de tomtom?.
La segunda. Sé programar en algunos lenguajes, pero no he oido nunca lo de python y bash. ¿Puedes decirme de que van o como conseguir los programas o las aplicaciones para poder utilizar los programitas que tú has creado?
Gracias anticipadas.
Manuel.
julio 3rd, 2006 en 21:00
Hola Manuel,
Sí se puede, de hecho son para eso. Puedes cambiarlos todos o solo el que quieras. El que extrae tiene puesto un nombre fijo dentro del código pero puedes cambiarlo por el nombre de cualquier otro archivo .chk de tu tomtom.
Respecto a la segunda, puedes encontrar mucha información tanto para aprender como para descargarlos en:
http://www.python.org
http://www.cygwin.com
http://www.gnu.org/software/bash/
[…]
agosto 11th, 2006 en 12:11
Hola, he ejecutado el script de extraccion, procesa los 59 ogg, pero no escribe a fichero ninguno. No faltaría escribir el resultado de la estracion de cada fichero.
Un saludo y muy buen trabajo.
agosto 11th, 2006 en 12:33
Hola Miguel Angel, deberían de escribirse con el nombre 0.ogg, 1.ogg… suponiendo que ‘dd’ está en el PATH y que tienes permisos de escritura donde lo ejecutas :-?
octubre 17th, 2006 en 11:54
Hola a todos,
Necesito tu ayuda nauj… o Juan?
Soy economista y no entiendo un pijo de informatica, pero tengo una pda y putineo en ella, poniendole aplicaciones, juegos y le cambio la voz al tom tom.
Buscando en algunos foros, he conseguido grabar mi propia voz, añadiendole frases divertidas y algo picantes. Tengo las grabaciones en ogg y me faltaria unirlas en chk.
Cual de las aplicaciones que nombras debo utilizar y como?
«hablame sensillo» pleaseeeee
Graciasssssss
octubre 17th, 2006 en 13:09
Hola ellecita, la que debes usar para crear el archivo chk es empaquetarSonidos.py teniendo archivos con nombres 1.ogg hasta 59.ogg.
Para saber qué grabación debe ir con qué nombre o número puedes usar extraerSonidos.py con un chk original y oir lo que dice cada uno de los ogg extraidos.
octubre 17th, 2006 en 13:29
Hola de nuevo,
Ya tengo los archivos grabados con el nombre correcto, en ogg y también he descargado la aplicación empaquetarSonidos.py, pero con que programa funciona? no se como abrirlo…
Gracias.
octubre 17th, 2006 en 14:15
Para hacerlo funcionar necesitas python y cat. Si usas GNU/Linux lo más seguro es que lo tengas instalado. Si usas Windows puedes usar cygwin [1] asegurándote de marcar python en la instalación.
Una vez que lo tengas abres un terminal y teniéndo todo en el mismo directorio lo ejecutas.
[1] http://www.cygwin.com
noviembre 1st, 2006 en 00:53
perdonadme, se que la intencion es buena y que quereis ayudar, pero esto ms parece un foro de frikis y de mucho cuidado, no se si os habeis enterado, pero no todos entendemos lo que decis, asi que no se trata de demostrar que tant sabeis, sino hacer que los demas lo sepan, porque en todo caso es mejor no poner nada, porque lo unico que conseguis es marear a la gente, si la intencion realmente es buena, deberian redactar un tutorial de como utilizar los programas paso a paso y no alardear de conocimientos informaticos.
noviembre 1st, 2006 en 20:42
hay alguien?
noviembre 1st, 2006 en 21:49
No he conseguido agrupar los archivos ogg en chk, siguiendo vuestras explicaciones entiendo que con xp debo instalar el cygwin, para utlizar el empaquetador de archivos. Lo he instalado desde internet, en una carpeta nueva con el mismo nombre
noviembre 1st, 2006 en 21:56
Luego cuando me pregunta: Default text file type: unix / binary o dos/text; supongo que es binary, es asi?
noviembre 1st, 2006 en 22:23
lo de python donde se le marca? gracias
marzo 15th, 2007 en 00:33
che una mas facil es usar el editor de sonido soundforge…lo puene descargar en cualquier lado
diciembre 18th, 2007 en 20:28
A sculpture supposedly created by in is reveals her <a href=» http://www.fixascruptos.com «>fixa scruptos best</a> moment, what’s hot about
actually dkeejghtdy the work of a counterfeiter