AtisSpeaker: prepare for individual voices
This commit is contained in:
parent
36fc9790ed
commit
4cdb5ed1f3
1 changed files with 15 additions and 1 deletions
|
@ -75,13 +75,27 @@ public:
|
||||||
_stationId = stationId;
|
_stationId = stationId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setVoice(const string & voice)
|
||||||
|
{
|
||||||
|
_voice = voice;
|
||||||
|
}
|
||||||
|
|
||||||
|
const string & getVoice() const
|
||||||
|
{
|
||||||
|
return _voice;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SynthesizeRequest _synthesizeRequest;
|
SynthesizeRequest _synthesizeRequest;
|
||||||
SGLockedQueue<SGSharedPtr<SGSoundSample> > _spokenAtis;
|
SGLockedQueue<SGSharedPtr<SGSoundSample> > _spokenAtis;
|
||||||
string _stationId;
|
string _stationId;
|
||||||
|
string _voice;
|
||||||
};
|
};
|
||||||
|
|
||||||
AtisSpeaker::AtisSpeaker()
|
AtisSpeaker::AtisSpeaker()
|
||||||
|
:
|
||||||
|
_voice("/ATC/cmu_us_arctic_slt.htsvoice")
|
||||||
|
// _voice("/ATC/cstr_uk_female-1.0.htsvoice")
|
||||||
{
|
{
|
||||||
_synthesizeRequest.listener = this;
|
_synthesizeRequest.listener = this;
|
||||||
}
|
}
|
||||||
|
@ -115,7 +129,7 @@ void AtisSpeaker::valueChanged(SGPropertyNode * node)
|
||||||
FGSoundManager * smgr = dynamic_cast<FGSoundManager*>(globals->get_soundmgr());
|
FGSoundManager * smgr = dynamic_cast<FGSoundManager*>(globals->get_soundmgr());
|
||||||
assert(smgr != NULL);
|
assert(smgr != NULL);
|
||||||
|
|
||||||
string voice = globals->get_fg_root() + "/ATC/cmu_us_arctic_slt.htsvoice";
|
string voice = globals->get_fg_root() + _voice;
|
||||||
FLITEVoiceSynthesizer * synthesizer = dynamic_cast<FLITEVoiceSynthesizer*>(smgr->getSynthesizer(voice));
|
FLITEVoiceSynthesizer * synthesizer = dynamic_cast<FLITEVoiceSynthesizer*>(smgr->getSynthesizer(voice));
|
||||||
|
|
||||||
synthesizer->synthesize(_synthesizeRequest);
|
synthesizer->synthesize(_synthesizeRequest);
|
||||||
|
|
Loading…
Add table
Reference in a new issue