开发者

Phonetic characters to speech

My purpose is that to be able to let my application to talk in less popular language (for example Hokkien, Malay, etc). My current approach is using recorded mp3.

I want to know whether there is 'phonetic characters to speech' engine exists for .net or any platform?

Phonetic characters here just like the phonetic entr开发者_C百科y in paper dictionary. Any idea?


What you need is a Large Vocabulary TTS Engine. Microsoft has a speech SDK that allows you to say as you type among other things, and also the Windows SAPI (Speech API - not sure if the SDK and API are the same things). I know that they do have male and female voices for English, but maybe not for other languages such as Malay (where there may not have been much of a market as yet). You might want to take a look at Festival Project at CMU. They usually have a lot of voices in different languages, but some of the less known ones may not be as well developed as the ones for English.

Further update:
Check the MBROLA site out. It is an open-source project for developing multi-lingual Large vocab TTS engines and they also have a malay extension. I do not know how good it is though. I tried out the Hindi one and feel that there is a lot of work that still needs to be done.

Also, check out the BabelFish site. They have links to a lot of free TTS engines that should have some support for Malay.

Update 3: I do not know if this will suit your purpose, but if the text that the application must speak out is low, then you can try concatenative speech synthesis over a limited vocabulary too. Record fragments of sentences in Malay (or any other language) and pass the output of your program to your own limited vocab tts engine where you create the output. One example could be (in English): " was the most valuable player." Here, "was the most valuable player" becomes one fragment while the "Player X" can be changed at will. This, if it serves your purpose, should work well.


Have you looked at the System.Speech namespaces?

In particular the System.Speech.Synthesis and System.Speech.Synthesis.TtsEngine namespaces.


Here is the VB.NET code:

'create the object. This object will store your phonetic 'characters'
Dim PBuilder As New System.Speech.Synthesis.PromptBuilder

'add your phonetic 'characters' here. Just ignore the first parameter.
'The second parameter is your phonetic 'characters'
PBuilder.AppendTextWithPronunciation("test", "riːdɪŋ")

'now create a speaker to speak your phonetic 'characters'
Dim SpeechSynthesizer2 As New System.Speech.Synthesis.SpeechSynthesizer

'now actually speaking. It will speak 'reading'
SpeechSynthesizer2.Speak(PBuilder)

And here is the converted C# code:

//create the object. This object will store your phonetic 'characters'
System.Speech.Synthesis.PromptBuilder PBuilder = new System.Speech.Synthesis.PromptBuilder();

//add your phonetic 'characters' here. Just ignore the first parameter.
//The second parameter is your phonetic 'characters'
PBuilder.AppendTextWithPronunciation("test", "riːdɪŋ");

//now create a speaker to speak your phonetic 'characters'
System.Speech.Synthesis.SpeechSynthesizer SpeechSynthesizer2 = new System.Speech.Synthesis.SpeechSynthesizer();

//now actually speaking. It will speak 'reading'
SpeechSynthesizer2.Speak(PBuilder);


The .Net System.Speech.Synthesis.PromptBuilder class will create audio from SSML strings. You can use these to construct sounds from raw phonemes and sampled audio. The audio is not language-dependent.


Maybe this? System.Speech.Recognition.SrgsGrammar.SrgsPhoneticAlphabet


I have tried the System.Speech.Synthesis.PromptBuilder. And I have to say that current implementation of phonetic characters are very elementary and not accurate. For example, the PromptBuilder lacks the speech intonation, and lack of stress emphasis in a word. PromptBuilder only able to output monotone and robotic sound which is very annoying.

My recommendation is that to keep using your current approach. Using mp3 to deliver message is more natural and cost effective in terms of time required to translate perfect phonetic characters of your speech.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜