diff --git a/crates/service/job/inference_job/src/job/job_types/vc/so_vits_svc/mod.rs b/crates/service/job/inference_job/src/job/job_types/vc/so_vits_svc/mod.rs index 93f485e5c9..2ff32c9496 100644 --- a/crates/service/job/inference_job/src/job/job_types/vc/so_vits_svc/mod.rs +++ b/crates/service/job/inference_job/src/job/job_types/vc/so_vits_svc/mod.rs @@ -1,2 +1,3 @@ pub mod process_job; -pub mod so_vits_svc_inference_command; \ No newline at end of file +pub mod so_vits_svc_inference_command; +pub mod svc_dependencies; \ No newline at end of file diff --git a/crates/service/job/inference_job/src/job/job_types/vc/so_vits_svc/process_job.rs b/crates/service/job/inference_job/src/job/job_types/vc/so_vits_svc/process_job.rs index fc94951847..180cfd17f6 100644 --- a/crates/service/job/inference_job/src/job/job_types/vc/so_vits_svc/process_job.rs +++ b/crates/service/job/inference_job/src/job/job_types/vc/so_vits_svc/process_job.rs @@ -48,9 +48,17 @@ pub async fn process_job(args: SoVitsSvcProcessJobArgs<'_>) -> Result) -> Result AnyhowResult { + Ok(Self { + inference_command: SoVitsSvcInferenceCommand::from_env()?, + }) + } +} diff --git a/crates/service/job/inference_job/src/job_dependencies.rs b/crates/service/job/inference_job/src/job_dependencies.rs index 697fc567d5..c3df91e6f9 100644 --- a/crates/service/job/inference_job/src/job_dependencies.rs +++ b/crates/service/job/inference_job/src/job_dependencies.rs @@ -31,7 +31,6 @@ use crate::job::job_types::tts::vall_e_x::model_downloaders::VallEXDownloaders; use crate::job::job_types::tts::vall_e_x::vall_e_x_inference_command::VallEXCreateEmbeddingCommand; use crate::job::job_types::tts::vall_e_x::vall_e_x_inference_command::VallEXInferenceCommand; use crate::job::job_types::tts::vits::vits_inference_command::VitsInferenceCommand; -use crate::job::job_types::vc::so_vits_svc::so_vits_svc_inference_command::SoVitsSvcInferenceCommand; use crate::job_specific_dependencies::JobSpecificDependencies; use crate::util::common_commands::ffmpeg_logo_watermark_command::FfmpegLogoWatermarkCommand; use crate::util::scoped_execution::ScopedExecution; @@ -164,7 +163,6 @@ pub struct JobCaches { pub struct JobTypeDetails { pub tacotron2_old_vocodes: Tacotron2VocodesDetails, pub vits: VitsDetails, - pub so_vits_svc: SoVitsSvcDetails, pub sad_talker: SadTalkerDetails, pub vall_e_x: VallEXDetails //pub tacotron2_modern: ..., @@ -189,10 +187,6 @@ pub struct VitsDetails { pub inference_command: VitsInferenceCommand, } -pub struct SoVitsSvcDetails { - pub inference_command: SoVitsSvcInferenceCommand, -} - pub struct SadTalkerDetails { pub downloaders: SadTalkerDownloaders, pub inference_command: SadTalkerInferenceCommand, diff --git a/crates/service/job/inference_job/src/job_specific_dependencies.rs b/crates/service/job/inference_job/src/job_specific_dependencies.rs index abc6cee625..5b91b198d4 100644 --- a/crates/service/job/inference_job/src/job_specific_dependencies.rs +++ b/crates/service/job/inference_job/src/job_specific_dependencies.rs @@ -1,25 +1,36 @@ use log::info; + use enums::by_table::generic_inference_jobs::inference_model_type::InferenceModelType; use errors::AnyhowResult; + use crate::job::job_types::vc::rvc_v2::rvc_v2_dependencies::RvcV2Dependencies; +use crate::job::job_types::vc::so_vits_svc::svc_dependencies::SvcDependencies; use crate::util::scoped_execution::ScopedExecution; pub struct JobSpecificDependencies { pub maybe_rvc_v2_dependencies: Option, + pub maybe_svc_dependencies: Option, } impl JobSpecificDependencies { pub fn setup_for_jobs(scoped_execution: &ScopedExecution) -> AnyhowResult { let mut maybe_rvc_v2_dependencies = None; + let mut maybe_svc_dependencies = None; if scoped_execution.can_run_job(InferenceModelType::RvcV2) { info!("Setting RVCv2 dependencies..."); maybe_rvc_v2_dependencies = Some(RvcV2Dependencies::setup()?); } + if scoped_execution.can_run_job(InferenceModelType::SoVitsSvc) { + info!("Setting SVC dependencies..."); + maybe_svc_dependencies = Some(SvcDependencies::setup()?); + } + Ok(JobSpecificDependencies { maybe_rvc_v2_dependencies, + maybe_svc_dependencies }) } } diff --git a/crates/service/job/inference_job/src/main.rs b/crates/service/job/inference_job/src/main.rs index 8758753fa6..eef5a26ccd 100644 --- a/crates/service/job/inference_job/src/main.rs +++ b/crates/service/job/inference_job/src/main.rs @@ -323,9 +323,6 @@ async fn main() -> AnyhowResult<()> { vits: VitsDetails { inference_command: vits_inference_command()?, }, - so_vits_svc: SoVitsSvcDetails { - inference_command: SoVitsSvcInferenceCommand::from_env()?, - }, sad_talker: SadTalkerDetails { downloaders: SadTalkerDownloaders::build_all_from_env(), inference_command: SadTalkerInferenceCommand::from_env()?,