0

I'm working on a Python/C++ application that will run on Mac OS and relies on the Festival Speech Synthesis System, which I'm building from source here. In my project, I use Festival's shell-based API (i.e. calling compiled executables from within my app to perform tasks). I'm having issues compiling a portable build of Festival that I can ship around to other (Mac OS) machines. My issue is specifically with absolute paths; I can compile successfully with ./configure then make, but the resulting executables reference absolute paths on my system. Obviously transferring or shipping this build to other machines results in errors since those paths don't exist.

I'm looking for a way to create portable, standalone executables of Festival (on Mac OS). Is this an issue with how I'm compiling? Is there some default switch I can run at compile time to use relative paths, or would I have to edit the makefiles myself? I notice the top-level Makefile references a variable TOP that gets reused across other make files. It's declared as TOP=. but when I search the resulting build, I see that it's resolved to an absolute path on my system.

I'm not very deft with C compilers and I have the feeling I'm missing something obvious, since this must be a common task. Any advice would be much appreciated.

tom-g
  • 115
  • 2
  • 10
  • 1
    Flite is more or less portable. Festival isn't. You can also check rhvoice probably. – Nikolay Shmyrev Jul 06 '20 at 23:41
  • @NikolayShmyrev thanks for the response! I'm using Festival more for text dissection than its speech synthesis capabilities. (I'm extracting syllable durations from a text and using it as a backend for [Phonemizer](https://github.com/bootphon/phonemizer)). Flite appears to have some but not all of those capabilities. Was hoping to get some kind of portable Festival build - don't know if there's a way to hack the makefiles or something like that? Or maybe that's more trouble than it's worth. – tom-g Jul 07 '20 at 23:12
  • Well, there are much more modern frontends, python-based for example, are you sure you need festival? I don't get your syllable durations thing, phonemizer just converts text to phonemes, why do you need a syllable lenght – Nikolay Shmyrev Jul 08 '20 at 06:28
  • Thanks - agreed there are much more modern tools. By syllable durations I meant one of Festival's utterance features, e.g. `(utt.features utt1 'Syllable '(pos_in_word syl_vowel syllable_duration))`. The phonemizer usage is a separate piece of functionality and I'm sure I could find a replacement for that. Unfortunately my project is pretty tied to the values that come back from `syllable_duration` though. Thanks for your help! – tom-g Jul 08 '20 at 16:07

0 Answers0