diff --git a/python/audiometer/__init__.py b/python/audiometer/__init__.py index 79f13d8..bc11061 100644 --- a/python/audiometer/__init__.py +++ b/python/audiometer/__init__.py @@ -1,6 +1,5 @@ from ._audiometer import ( Loudness, - convert_24bit_to_32bit, measure_loudness, measure_peak, measure_rms, @@ -8,7 +7,6 @@ __all__ = [ "Loudness", - "convert_24bit_to_32bit", "measure_loudness", "measure_rms", "measure_peak", diff --git a/src/lib.rs b/src/lib.rs index dd0a423..3e2955e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,7 +3,6 @@ use pyo3::prelude::*; mod lufs; mod peak; mod rms; -mod sample; mod types; mod utils; @@ -13,6 +12,5 @@ fn _audiometer(m: &Bound<'_, PyModule>) -> PyResult<()> { m.add_function(wrap_pyfunction!(rms::measure_rms, m)?)?; m.add_function(wrap_pyfunction!(peak::measure_peak, m)?)?; m.add_function(wrap_pyfunction!(lufs::measure_loudness, m)?)?; - m.add_function(wrap_pyfunction!(sample::convert_24bit_to_32bit, m)?)?; Ok(()) } diff --git a/src/sample.rs b/src/sample.rs deleted file mode 100644 index 8c220e2..0000000 --- a/src/sample.rs +++ /dev/null @@ -1,26 +0,0 @@ -use pyo3::prelude::*; -use pyo3::types::PyBytes; - -// Return PyBytes: https://users.rust-lang.org/t/pyo3-best-way-to-return-bytes-from-function-call/46577/2 -// NOTE: `Vec`을 리턴하는 것보다 `PyBytes`를 리턴하는 것이 빠름 -#[pyfunction] -pub fn convert_24bit_to_32bit<'py>( - py: Python<'py>, - data: &Bound<'py, PyBytes>, -) -> Bound<'py, PyBytes> { - let data_bytes = data.as_bytes(); - let len_data = data_bytes.len(); - let mut result = Vec::with_capacity(len_data / 3 * 4); - - data_bytes.chunks(3).for_each(|chunk| { - let mut samples = [0u8; 4]; - let b2 = chunk[2]; - samples[0] = if b2 > 0x7f { 0xff } else { 0x00 }; - samples[1] = chunk[0]; - samples[2] = chunk[1]; - samples[3] = b2; - result.extend_from_slice(&samples); - }); - - PyBytes::new(py, &result) -}