Indeed, it could be trained. But then there is the problem that you'd need a lot of training to reach 80% accuracy or more, and at that point it'd start using quite a lot of memory. For example, there is this Dragon Naturally Speaking application for PCs. It can be used to dictate free speech to text in for example Word, but even with training it never reaches 100% accuracy. After enough training it reaches sufficient accuracy for most people, I suppose, but it starts taking several hundreds of megabytes of memory. As such I doubt it would be feasible on a device as limited as N900. One way to go around the memory and performance hits would be to do the recognition on a server and just stream the microphone input there, but that'd create some lag between the input and output and it still probably wouldn't be feasible over 3G.