subx_cli/services/audio/
mod.rs

1//! SubX 音訊服務模組
2
3pub mod aus_adapter;
4pub use aus_adapter::AusAdapter;
5
6pub mod analyzer;
7pub use analyzer::{AudioFeatures, AusAudioAnalyzer, FrameFeatures};
8
9pub mod dialogue_detector;
10pub use dialogue_detector::AusDialogueDetector;
11
12/// 音訊能量包絡
13#[derive(Debug, Clone)]
14pub struct AudioEnvelope {
15    pub samples: Vec<f32>,
16    pub sample_rate: u32,
17    pub duration: f32,
18}
19
20/// 對話段落
21#[derive(Debug, Clone)]
22pub struct DialogueSegment {
23    pub start_time: f32,
24    pub end_time: f32,
25    pub intensity: f32,
26}
27
28/// 音訊原始資料元資料
29#[derive(Debug, Clone)]
30pub struct AudioMetadata {
31    pub sample_rate: u32,
32    pub channels: usize,
33    pub duration: f32,
34}
35
36/// 音訊原始樣本資料
37#[derive(Debug, Clone)]
38pub struct AudioData {
39    pub samples: Vec<f32>,
40    pub sample_rate: u32,
41    pub channels: usize,
42    pub duration: f32,
43}
44
45/// 主要音訊分析器 (基於 aus 實作)
46pub type AudioAnalyzer = AusAudioAnalyzer;