본문 바로가기

안드로이드

안드로이드 tts 남자목소리 여자목소리 구분

TextToSpeech tts = new TextToSpeech(this, new TextToSpeech.OnInitListener() {
    @Override
    public void onInit(int status) {
        if(status!=TextToSpeech.ERROR){
            tts.setLanguage(Locale.KOREAN);
            tts.setPitch(pref.getValue(RbPreference.TALK_PITCH,1));//기본값은 1.0이며, 0.5와 2.0 사이의 값으로 조절한다.
            tts.setSpeechRate(pref.getValue(RbPreference.TALK_SPEED,0.8f));//값은 0.0에 가까울수록 느려지며, 1.0에 가까울수록 빠르게 말한다.


            if (tts.getVoices() == null) {
            } else {
                for (Voice voice : tts.getVoices()) {
                 
                 
                        if (voice.getFeatures().contains("gender=female")) {

                            tts.setVoice(voice);
                            break;
                        }
              
                        if (voice.getFeatures().contains("gender=male")) {

                            tts.setVoice(voice);
                            break;
                        }
                    }


                }
            }
            
              tts.speak("안녕하세요", TextToSpeech.QUEUE_FLUSH, null, null);

    


        }


    }
});