19#ifndef VOICESYNTHESIZER_HXX_
20#define VOICESYNTHESIZER_HXX_
22#include <simgear/sound/sample.hxx>
23#include <simgear/threads/SGQueue.hxx>
26struct _Flite_HTS_Engine;
34 virtual SGSoundSample *
synthesize(
const std::string & text,
double volume,
double speed,
double pitch ) = 0;
96 virtual SGSoundSample *
synthesize(
const std::string & text,
double volume,
double speed,
double pitch );
100 struct _Flite_HTS_Engine * _engine;
105 typedef SGBlockingQueue<SynthesizeRequest> SynthesizeRequestList;
106 SynthesizeRequestList _requests;
static std::string getVoicePath(const std::string &voice)
virtual SGSoundSample * synthesize(const std::string &text, double volume, double speed, double pitch)
FLITEVoiceSynthesizer(const std::string &voice)
static std::string getVoicePath(voice_t voice)
virtual ~SoundSampleReadyListener()
virtual void SoundSampleReady(SGSharedPtr< SGSoundSample >)=0
A Voice Synthesizer Interface.
virtual ~VoiceSynthesizer()
virtual SGSoundSample * synthesize(const std::string &text, double volume, double speed, double pitch)=0
SynthesizeRequest(const SynthesizeRequest &other)
SynthesizeRequest & operator=(const SynthesizeRequest &other)
SoundSampleReadyListener * listener
static SynthesizeRequest cancelThreadRequest()