converting text to speech java code

被刻印的时光 ゝ 提交于 2019-12-06 07:38:24

The despeak method does not exist. You should call dospeak instead and with regular quotes:

obj.dospeak("foo", "kevin16");

please Download freetts-1.2.2-bin from google from given link and

http://sourceforge.net/projects/freetts/?source=directory

try my program in net beans

do not forget to add all jar files into your library folder code is given below. Its working .. my method ---

private static final String VOICENAME = "kevin16";                                        
void mySpeak()
{
Voice voice;
VoiceManager vm = VoiceManager.getInstance();
voice = vm.getVoice(VOICENAME);
voice.allocate();
try{
voice.speak("Hi Mr Gaur Welcome to VITS. Thanks To choose Us");
}catch(Exception e){}
} 

call this method from your inner code..

Very nicely explained Complete procedure with running code - Text To Speech in Java Using Freetts

Working Code :

import javax.speech.*;    
import java.util.*;    
import javax.speech.synthesis.*;    

public class Text2Speech    
{    
String speaktext; 
public void dospeak(String speak,String  voicename)    
{    
    speaktext=speak;    
    String voiceName =voicename;    
    try    
    {    
        SynthesizerModeDesc desc = new SynthesizerModeDesc(null,"general",  Locale.US,null,null);    
        Synthesizer synthesizer =  Central.createSynthesizer(desc);    
        synthesizer.allocate();    
        synthesizer.resume();     
        desc = (SynthesizerModeDesc)  synthesizer.getEngineModeDesc();     
        Voice[] voices = desc.getVoices();      
        Voice voice = null;
        for (int i = 0; i < voices.length; i++)    
        {    
            if (voices[i].getName().equals(voiceName))    
            {    
                voice = voices[i];    
                break;     
            }     
        }    
        synthesizer.getSynthesizerProperties().setVoice(voice);    
        System.out.print("Speaking : "+speaktext);    
        synthesizer.speakPlainText(speaktext, null);    
        synthesizer.waitEngineState(Synthesizer.QUEUE_EMPTY);    
        synthesizer.deallocate();    
    }    
    catch (Exception e)   
    {    
        String message = " missing speech.properties in " + System.getProperty("user.home") + "\n";    
        System.out.println(""+e);    
        System.out.println(message);    
    }    
}    

public static void main(String[] args)    
{    
    Text2Speech obj=new Text2Speech(); obj.dospeak("Hello i am kevin ","kevin16");    
}    
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!