This section is written in English since developpers
understand this language most of the time. Many of them are
not French people.
Instructions to install an use E.F.M. are contained in paragraph I.1 (in French). The goals of this project and the technical solutions I implemented are described here (in English).
The only question to answer now is why decided not to continue this project ?
The quickest answer is that I discovered Speech Dispatcher 0.6.1 during the development of this project.
To sum up, I planed in the E.F.M. project to implement a Festival 1.96-beta client for Emacspeak 24 directly in Emacs 21.4a. Indeed I wanted to use Emacspeak with Festival since I first think that Festival has good speech qualities and secondly since Festival can be multilingual which is a appreciable feature for a French guy.
However, Speech Dispatcher is a very powerful interface between the applications and the speech systems and in a certain sens developing an Emacs client for the Festival server was reimplementing Speech Dispatcher. Indeed Speech Dispatcher comes with a well developed Emacs client Speechd-el 2.1. Speech Dispatcher is able to manage the messages in a very clever manner defining priorities and a full featured communication protocol SSIP. Implementing such a protocol is a tricky and not very funny work and moreover it was done!
However the are two objections: First introducing a layer between Emacs and Festival could make the process slower and decrease its responsiveness. Sure but computers are faster everyday as well as cheaper! According to my own experience using Speech Dispatcher between the application and the server doesn’t not make the computer talk slower!
The second objection is that Speechd-el is not Emacspeak and that many Emacspeak users don’t find their favor it Emacspeak features in Speechd-el. I have been an Emacspeak user for a long long time and I can understand this point of view. I do agree with the idea that it could be a goal to implement the well known and powerful Emacspeak features for Speechd-el.
However I think I sufficiently explained before why for me the solution is not to rewrite a full featured Emacs client for Festival.
The direction in which a think that it is reasonable to work is to use the high level Emacspeak modules and to connect them with Speechd-el. However is it a tricky work as well since the philosophy of both project is definitely not the same and someone could say definitely incompatible! I don’t think so since Speechd-el provides a very flexible library which can be used to reimplement the low level Emacspeak methods.
The module which is mainly concerned is emacspeak-speak which is meant to protect the high level modules from the speech-server dependency. The job to be done in a certain sens is to rewrite completely this module with the Speechd-el routines. I already detected some traps in such a work: for instance certain tasks which were dedicated to Emacspeak (like punctuation filtering for instance) are now accomplished by the Speech Dispatcher server and must simply be called by the client. So before writing any line of code we should list all these features.
Other features were hard coded in Emacspeak and can be obtained simply by customizing 5 certain variables with Speechd-el.
Finally I must say that I am a quite good experimented emacs-lisp programmer and that I investigated deeply both Emacspeak and Speechd-el codes.