• Re: eSpeak - can't access file en_rules

    From Harriet Bazley@harriet@bazleyfamily.co.uk to comp.sys.acorn.apps,comp.sys.acorn.programmer on Tue Mar 1 23:16:59 2022
    From Newsgroup: comp.sys.acorn.programmer

    In message <c3da14c259.harriet@bazleyfamily.co.uk>, Harriet Bazley <harriet@bazleyfamily.co.uk> wrote:

    I've been playing around with creating an en_extra file inside !eSpeak
    in order to correct the program's pronunciation of various proper nouns,
    and managed to get it to work for a while, though the process is not
    exactly user-friendly.

    But when I tried to recompile it again after a few days' rest, I
    couldn't get anything other than the perplexing error "Can't access
    file"

    *show espeak*
    eSpeak$Dir : SCSI::SSD.$.Sound.!eSpeak
    *speak --compile=en
    Can't access (r) file 'en_rules'
    *

    OK, I've had a blinding flash of inspiration and worked out the issue
    here - it works if you *set the current directory* from the command-line
    to !eSpeak.dictsource first... which I have very vague memories of doing
    for some reason or other during my original experimentation.

    So the module is looking for the literal file "en_rules" in the CSD,
    rather than in the location "<eSpeak$dir>.dictsource.en_rules". Probably
    the classic Unix/RISC OS directory separator problem? (Unless the code
    really is written only to operate on files in the root directory, which
    seems unlikely....)
    --
    Harriet Bazley == Loyaulte me lie ==

    If it's not broken, don't fix it.
    --- Synchronet 3.21d-Linux NewsLink 1.2