Archivos: Mayo 2006

Fri May 19, 2006

Pedidos 10 CDs de Ubuntu 6.06

Acabo de ver en The Power of Mind que ya se pueden pedir los CDs de Ubuntu 6.06, de modo que ya estoy pidiendo una cajita de diez para x86. Han hecho bien con reducir el número de versiones para Mac o i64. De las versiones anteriores pocos he repartido que no fuesen x86. Para pedir los tuyos totalmente gratis visita este enlace para pedir Ubuntu.


Request accepted. Please note that requests usually take from 4 to 6 weeks to deliver, depending on the country of shipping.

Posted by: nauj27 on May 19, 06 | 9:26 pm | Profile

[21] comments (4985 views) |  [123] Trackbacks   [0] Pingbacks

Sat May 13, 2006

Las voces del GPS

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:


Posted by: nauj27 on May 13, 06 | 6:44 pm | Profile

[28] comments (7320 views) |  [183] Trackbacks   [0] Pingbacks

Fri May 05, 2006

Una bacteria contra la contaminación por uranio

El cierre de la central nuclear Zorita ha sido noticia recientemente. Además es un tema de actualidad debido al aniversario del accidente de Chernóbil.

Incluso hay quien habla en su blog sobre el tema y el co-fundador de Greenpeace se pronuncia sobre la energía nuclear.

Según unos estudios del Instituto Tecnológico de Georgia, una bactería podría ayudar en la limpieza por contaminación por uranio. Según estos estudios algunas bacterias presentes en el suelo y bajo tierra pueden liberar fosfato, que convierte el producto de la contaminación de ese elemento radiactivo en una forma insoluble e inmóvil. Durante su crecimiento liberan fosfato que ayuda a biomineralizar el uranio(VI) a una forma insoluble mediante precipitación.

Más información en Noticias de la Ciencia y la Tecnología.

Posted by: nauj27 on May 05, 06 | 1:50 pm | Profile

[5] comments (2423 views) |  [277] Trackbacks   [0] Pingbacks