MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / prepare_generation

Method prepare_generation

src/models/pocket_tts/session.cpp:778–814  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

776 generation_request.voice = prepared_session_request_.voice;
777 const GenerationResult generated = generate(generation_request);
778 runtime::TaskResult result;
779 result.audio_output = runtime::AudioBuffer{
780 generated.sample_rate,
781 1,
782 generated.audio,
783 };
784 return result;
785}
786
787void PocketTTSSession::prepare_generation(const GenerationRequest & request) {
788 if (!manifest_) {
789 throw std::runtime_error("PocketTTS session is missing model assets");
790 }
791 const auto voice_plan = resolve_voice_conditioning_plan(model_dir_, request);
792 const FlowLMState voice_state = resolve_prepared_voice_state(voice_plan);
793 if (request.text.empty()) {
794 return;
795 }
796 const auto & manifest = *manifest_;
797 const int64_t text_chunk_size = request.text_chunk_size.value_or(kDefaultTextChunkSize);
798 const auto chunks = engine::text::split_text_chunks(request.text, text_chunk_size);
799 for (const auto & chunk : chunks) {
800 const TextConditioningResult text_state = text_conditioner_.prepare(manifest, weights_->host, chunk);
801 const AcousticGenerationConfig acoustic_config = resolve_acoustic_generation_config(
802 manifest,
803 text_state,
804 request,
805 acoustic_model_.config().latent_size);
806 const int64_t prompt_steps = static_cast<int64_t>(
807 text_state.text_embeddings.size() / static_cast<size_t>(acoustic_model_.config().hidden_size));
808 const AcousticCapacitySelection capacities = select_acoustic_capacities(prompt_steps, acoustic_config.max_steps);
809 (void) acoustic_model_.prepare_runtime(
810 execution_context().backend(),
811 options().backend.threads,
812 manifest,
813 *weights_,
814 text_state.text_embeddings,
815 voice_state,
816 acoustic_config,
817 capacities.prompt_capacity,

Callers

nothing calls this directly

Calls 8

split_text_chunksFunction · 0.85
emptyMethod · 0.45
prepareMethod · 0.45
sizeMethod · 0.45
prepare_runtimeMethod · 0.45
backendMethod · 0.45

Tested by

no test coverage detected