Как изменить частоту дискретизации у аудио?

у меня следующая проблема - мне нужно из аудио 44.1КГц сделать 16КГц я делал это следующим образом:

data, rate = librosa.load(path, sr=16000)

Есть ли какие то другие способы перевода / считывания с нужным битрейтом?


Ответы (1 шт):

Автор решения: BEBROID

Есть множество как методов (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 более чем достаточно для любого уровня задач понижения семплрейта.

→ Ссылка