| 35 | return info; |
| 36 | } |
| 37 | mlx::data::core::audio::ResampleMode convert_resample_mode( |
| 38 | mlx::data::op::LoadAudioResamplingQuality resample_mode) { |
| 39 | static std::unordered_map< |
| 40 | mlx::data::op::LoadAudioResamplingQuality, |
| 41 | mlx::data::core::audio::ResampleMode> |
| 42 | sf_resampling_quality = { |
| 43 | {mlx::data::op::LoadAudioResamplingQuality::SincBest, |
| 44 | mlx::data::core::audio::ResampleMode::best}, |
| 45 | {mlx::data::op::LoadAudioResamplingQuality::SincMedium, |
| 46 | mlx::data::core::audio::ResampleMode::medium}, |
| 47 | {mlx::data::op::LoadAudioResamplingQuality::SincFastest, |
| 48 | mlx::data::core::audio::ResampleMode::fastest}, |
| 49 | {mlx::data::op::LoadAudioResamplingQuality::ZeroOrderHold, |
| 50 | mlx::data::core::audio::ResampleMode::zeroOrderHold}, |
| 51 | {mlx::data::op::LoadAudioResamplingQuality::Linear, |
| 52 | mlx::data::core::audio::ResampleMode::linear}}; |
| 53 | auto it = sf_resampling_quality.find(resample_mode); |
| 54 | if (it == sf_resampling_quality.end()) { |
| 55 | throw std::runtime_error("LoadAudio: invalid resampling quality"); |
| 56 | } |
| 57 | return it->second; |
| 58 | } |
| 59 | } // namespace |
| 60 | |
| 61 | namespace mlx { |