static File espeakToWAV(S text, S voice) { File wav = prepareCacheProgramFile("Computer Voices/eSpeak/" + uniqueFileNameUsingMD5_80_v2(appendIfNempty(voice, "|") + text) + ".wav"); if (fileEmptyOrNotThere(wav)) espeakToWAV(text, voice, wav); ret wav; } static File espeakToWAV(S text, S voice, File wav) { backtick("espeak " + "-w " + platformQuoteOpt(wav) + (nempty(voice) ? "-v " + platformQuoteOpt(voice) : "") + platformQuote(text)); ret wav; }