native_whisperx/config/
request.rs1use std::path::PathBuf;
4
5use serde::{Deserialize, Serialize};
6
7use super::{
8 AlignmentConfig, AsrConfig, DiarizationConfig, OutputConfig, TranslationConfig, VadConfig,
9};
10
11#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
12#[serde(rename_all = "camelCase")]
13pub struct NativeWhisperxConfig {
14 pub input: InputSource,
15 #[serde(default)]
16 pub asr: AsrConfig,
17 #[serde(default)]
18 pub translation: TranslationConfig,
19 #[serde(default)]
20 pub vad: VadConfig,
21 #[serde(default)]
22 pub alignment: AlignmentConfig,
23 #[serde(default)]
24 pub diarization: DiarizationConfig,
25 #[serde(default)]
26 pub output: OutputConfig,
27}
28
29#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
30#[serde(rename_all = "camelCase", tag = "kind")]
31pub enum InputSource {
32 Path {
33 path: PathBuf,
34 },
35 Samples {
36 samples: Vec<f32>,
37 sample_rate: u32,
38 channels: u16,
39 #[serde(default)]
40 source: Option<String>,
41 },
42}