Ya he publicado el codigo arriba. Seguramente se pueda simplificar un poco pero llegados a un punto deberia cambiar alguna variables para no perderme asi que por ahora lo dejo asi

D
Esta requeteprobado, si os da algun problema decirmelo y lo reviso que igual algo se me haya podido pasar un poco. por supuesto el resultado lo deja en la variable %AMPM a la cual llamo desde el comando decir(aunque dejaria un wait de 2 segundos entre la ejecucion de la hora escrita y el "decir")
He probado Ivona y he decidido dejarlo por varios motivos:
1º lo que comentas de beta, no quiero acostumbrarme a algo bueno sin saber lo que acabarán cobrando
2ª Ocupa 120Mb
3º Con esta tarea lee los ceros mientras que el de base no los lee, por ejemplo el tts que me viene de base en el nexus 4 me dice que "son las uno y media de la mañana" mientras que ivona me dice que "son las cero uno y media de la mañana"
PD: No se como acostumbrais a publicar aqui el codigo, si veis que hay que ponerle color dimelo y si puedo lo coloreo un poco. acabo de leerte caravantes y en cuanto me digais si debo mejorar la gramatica lo publico en uno aparte
Otra cosa, vereis que en algunos casos el numero de lineas crece solo por hacer uso de operaciones simples, ya que no se si podria por ejemplo hacer operaciones del tipo x+y-(JJ+X-Y2)
aun se puede mejorar la expresividad, por ejemplo decir "una" en lugar de "uno" pero habria que añadir alguna condicion mas. pero si quereis me animo y lo pongo

D