Hi, I downloaded Neospeech Lily but I have a problem with it. I want to be able to specify the exact phonetic sounds that it makes. Because some Chinese characters can have more than one possible reading, and Lily often chooses a reading that's different from the one I want. I tried feeding it markup like this:
<PRON SYM="ni 3 hao 3"></PRON>
which is as is specified by Microsoft on MSDN for Chinese voices (romanised pinyin with a space before the tone number), but nothing happens (silence). If you put some text inside the PRON element, then the text inside is read, but interestingly the text is only read if the pinyin SYM attribute is valid pinyin (so it obviously validates it somewhere, but then it doesn't use it and just reads the text inside instead). Yes I have tried putting Chinese characters inside PRON that could possibly have the reading I specified, but instead it gives them a different reading (the same as if the PRON markup were not there). Yes I have tried doing only one character at a time. Yes I have tried wrapping it in all the markup (XML SPEAK= etc). Yes I have tried doing this with an English voice and confirmed that it does work when I specify an alternative English pronunciation, so I know that the method works but not on Lily.
Before I bought Lily, I wrote to NeoSpeech and asked them if it can read pinyin. They said yes, and that it ships with its own application that lets you feed whatever pronunciation you want to it. But the voice I got in the download did not have this application. It only had the SAPI 5 interface, which is what I am trying to use. (Oh yes there was a bundled copy of Microsoft's standard TTSApp.exe but it didn't get me any further than I got by sending the above code to SAPI myself.)
Having failed to get it to read pinyin, I also tried to find out if I could feed it DIFFERENT Chinese characters to get the pronunciation I wanted (I don't care if I have to give it the wrong characters as long as it gets the sound I want). So I wrote a program that went through all the Chinese characters in Unicode, one by one, feeding them to Lily and getting the way Lily pronounces them. After the program eliminated duplicate pronunciations, it found that there were 1,332 different possible syllables that Lily could utter in this way, and I've done a mapping table for them so I can get Lily to speak any of those 1,332 syllables whenever I want. That sounds good, but it's not enough, because there are 1,424 different syllables in use in the language (that number 1,424 is not the number of syllables that are theoretically possible, it is the number that are actually in use according to the Unihan database), which means 92 of them are still not accounted for. I wouldn't mind that if those 92 were all very rare ones, but unfortunately they include some not-so-rare ones that I want to use in my speech. (And my application is language practice so it's got to be right.)
So I'd like to ask (a) is there a way of getting Lily to read pinyin, or (b) if not, then Lily is no use to me as I can't rely on it to read everything I want, so can I possibly get my money back as part-payment for the MeiLing voice (assuming that MeiLing is SAPI 5 compatible) and try that instead.
Thanks.
Silas
