diff options
Diffstat (limited to 'makima/src/audio.rs')
| -rw-r--r-- | makima/src/audio.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/makima/src/audio.rs b/makima/src/audio.rs index acfe7ce..8c969be 100644 --- a/makima/src/audio.rs +++ b/makima/src/audio.rs @@ -239,6 +239,12 @@ fn mixdown_to_mono(interleaved: &[f32], channels: u16) -> Vec<f32> { mono } +/// Resample and mixdown audio to 16kHz mono for STT processing. +pub fn resample_and_mixdown(samples: &[f32], sample_rate: u32, channels: u16) -> Vec<f32> { + let mono = mixdown_to_mono(samples, channels); + resample_sinc(&mono, sample_rate, TARGET_SAMPLE_RATE) +} + fn resample_sinc(input: &[f32], input_rate: u32, output_rate: u32) -> Vec<f32> { if input_rate == output_rate { return input.to_vec(); |
