Как изменить частоту дискретизации у аудио?
у меня следующая проблема - мне нужно из аудио 44.1КГц сделать 16КГц я делал это следующим образом:
data, rate = librosa.load(path, sr=16000)
Есть ли какие то другие способы перевода / считывания с нужным битрейтом?
Ответы (1 шт):
Есть множество как методов (speex-1, speex-5, speex-10, soxr-lq, soxr-mq и др.), так и реализаций (pydub set_frame_rate(), scipy.signal resample() и др.), которые позволяют изменять частоту дискретизации аудио
При выставлении частоты дискретизации в функции библиотеки Librosa Load(..., sr=) используется встроенная в библиотеку функция Resample(), которая использует по умолчанию метод soxr_hq. Также при отдельном использовании функции Resample() можно выбрать метод дискретизации (soxr_vhq, soxr_hq, soxr_mq или soxr_lq), которые отличаются качеством выходного аудиосигнала. Использование soxr_hq более чем достаточно для любого уровня задач понижения семплрейта.