void mage_hts_engine_impl::do_initialize() { configure_for_sample_rate(); std::string bpf_path(path::join(model_path,"bpf.txt")); if(!bpf_load(&bpf,bpf_path.c_str())) throw initialization_error(); arg_list args; model_file_list dur_files(model_path,"dur"); append_model_args(args,dur_files,"-td","-md"); model_file_list mgc_files(model_path,"mgc",3); append_model_args(args,mgc_files,"-tm","-mm","-dm"); model_file_list lf0_files(model_path,"lf0",3); append_model_args(args,lf0_files,"-tf","-mf","-df"); model_file_list ap_files(model_path,"bap",3); append_model_args(args,ap_files,"-tl","-ml","-dl"); args.push_back(arg("-s",str::to_string(sample_rate.get()))); args.push_back(arg("-p",str::to_string(frame_shift))); args.push_back(arg("-a",str::to_string(alpha))); args.push_back(arg("-b",str::to_string(beta.get()))); args.push_back(arg("-u","0.5")); std::vector<char*> c_args; char name[]="RHVoice"; c_args.push_back(name); for(arg_list::const_iterator it=args.begin();it!=args.end();++it) { c_args.push_back(const_cast<char*>(it->first.c_str())); c_args.push_back(const_cast<char*>(it->second.c_str())); } mage.reset(new MAGE::Mage("default",c_args.size(),&c_args[0])); vocoder.reset(new HTS_Vocoder); }
void std_hts_engine_impl::do_initialize() { engine.reset(new HTS_Engine); HTS_Engine_initialize(engine.get()); engine->audio.audio_interface=this; std::string voice_path(path::join(model_path,"voice.data")); char* c_voice_path=const_cast<char*>(voice_path.c_str()); if(!HTS_Engine_load(engine.get(),&c_voice_path,1)) { HTS_Engine_clear(engine.get()); throw initialization_error(); } std::string bpf_path(path::join(model_path,"bpf.txt")); if(bpf_load(&engine->bpf,bpf_path.c_str())==0) { HTS_Engine_clear(engine.get()); throw initialization_error(); } HTS_Engine_set_beta(engine.get(),beta); HTS_Engine_set_audio_buff_size(engine.get(),HTS_Engine_get_fperiod(engine.get())); }
portaudio_library::portaudio_library() { if(Pa_Initialize()!=paNoError) throw initialization_error(); }