|
From: Jonathan D. <jo...@ta...> - 2010-06-28 22:38:50
|
On 28 Jun, Reece Dunn <ms...@go...> wrote: > I now have this building, but running espeak causes a segmentation > fault > with $PLATFORM=big_endian I may be a endian compatibility problem with the data. Unfortunately I am not able to test on a big-endian processor here. The little-endian data in espeak-data in the eSpeak download (specifically espeak-data/phondata,phonindex,phontab) is wrong for a big-endian processor. Either you must re-compile the data using espeakedit (which I think you have done) or use a program 'platforms/big_endian/espeak-phoneme-data' in the eSpeak-source download to convert it. > 0x00007ffff7867286 in CalcLengths (tr=0x614560) at setlengths.cpp:751 > 751 pitch_start = p->pitch1 > ((p->pitch2-p->pitch1)*pitch_env[0])/256; What's the immediate cause of the segfault? What's the value of variable 'env2' before the segfault (you could use a printf() to get its value). How did you run eSpeak? Did you use a command such as: espeak -v en "Hello world" ? Which voice (eg. 'en') did you use? > ----- 8< ----- > This is with: > espeak-data-local: espeak-phoneme-data espeak-data > rm -rf espeak-data-local > cp -a $(HOME)/espeak-data espeak-data-local > platforms/$(PLATFORM)/espeak-phoneme-data espeak-data-local > espeak-data-local espeak-data-local/phondata-manifest > mkdir -p espeak-data-local/mbrola > mkdir -p espeak-data-local/mbrola_ph > mkdir -p espeak-data-local/soundicons > mkdir -p espeak-data-local/voices/test > rm -rf espeak-data-local/dictsource > rm -rf espeak-data-local/phsource > rm -rf espeak-data-local/phondata-manifest > ----- 8< ----- > to generate the espeak-data directory (from the content of > epeak-data-local, with $PLATFORM=big_endian). I'm sorry, but I don't understand what this means. Does eSpeak pick up your data from $HOME/espeak-data which has been compiled or converted for big-endian? |