[BRLTTY] the flite speech driver is broken
Nicolas Pitre
nico at fluxnic.net
Fri Oct 7 13:13:08 EDT 2011
On Fri, 7 Oct 2011, Dave Mielke wrote:
> [quoted lines by Nicolas Pitre on 2011/10/06 at 23:25 -0400]
>
> >Attempting to start latest BRLTTY from SVN with the fl speech driver
> >produces this:
> >
> >brltty: /lib/brltty/libbrlttysfl.so: undefined symbol: register_cmu_us_kal
> >brltty: cannot load speech driver: /lib/brltty/libbrlttysfl.so
> >brltty: speech driver not loadable: fl
>
> The make file for the driver is removing the trailing 16. When I remove that
> bit of code then I get an unresolved symbol. I'm assuming, therefore, that this
> is a change that Festival Lite has made which isn't backward compatible. Do you
> think you might be able to help figure out in which version of Festival Lite
> this change was introduced? Perhaps we can use the constants in flite_version.h
> to deal with it.
Well, I don't know much about flite myself.
The version installed here is libflite 1.4-release-2.
The content of /usr/include/flite/flite_version.h is:
#define FLITE_PROJECT_NAME "Festival Lite"
#define FLITE_PROJECT_PREFIX "flite"
#define FLITE_PROJECT_VERSION "1.4"
#define FLITE_PROJECT_DATE "December 2009"
#define FLITE_PROJECT_STATE "release"
#define FLITE_PROJECT_SHLIB_VERSION "1"
Those are all strings and therefore not immediately useful for
preprocessor conditionals.
Could the register/unregister symbols be dynamically resolved using
dlsym() instead? This way both possibilities could be attempted at run
time, and the default voice could even be changed with a driver
parameter using -S instead of being fixed at compile time.
Hmmm... looking at the interface exported by flite.h I don't see any of
those explicit voice register declarations. Instead there is a
cst_voice *flite_voice_select(const char *name) which looks more
appropriate it seems. There is also a list of query methods such
as flite_get_param_string() which I suppose could be used to get
the list/name of the available voice(s).
Nicolas
More information about the BRLTTY
mailing list