supertonic_core/
config.rs1use serde::{Deserialize, Serialize};
2use std::fs::File;
3use std::io::BufReader;
4use std::path::Path;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct Config {
8 pub ae: AeConfig,
9 pub ttl: TtlConfig,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct AeConfig {
14 pub sample_rate: i32,
15 pub base_chunk_size: i32,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19pub struct TtlConfig {
20 pub chunk_compress_factor: i32,
21 pub latent_dim: i32,
22}
23
24pub fn load_cfgs<P: AsRef<Path>>(onnx_dir: P) -> Result<Config, anyhow::Error> {
25 let cfg_path = onnx_dir.as_ref().join("tts.json");
26 let file = File::open(cfg_path)?;
27 let reader = BufReader::new(file);
28 let cfgs: Config = serde_json::from_reader(reader)?;
29 Ok(cfgs)
30}