use anyhow::Result;
use std::io::Cursor;
pub fn encode_wav(samples: &[i16]) -> Result<Vec<u8>> {
let spec = hound::WavSpec {
channels: 1,
sample_rate: 16000,
bits_per_sample: 16,
sample_format: hound::SampleFormat::Int,
};
let mut cursor = Cursor::new(Vec::new());
{
let mut writer = hound::WavWriter::new(&mut cursor, spec)?;
for &s in samples {
writer.write_sample(s)?;
}
writer.finalize()?;
}
Ok(cursor.into_inner())
}