все Python 3до 3.13Удалено из стандартной библиотекипонятие
audioop
удалённые модули
Операции над сырыми звуковыми сэмплами: громкость, смешивание, кодеки. Удалён в Python 3.13, замены в стандартной библиотеке нет — пакет audioop-lts.
Синтаксис
import audioop # до 3.13
audioop работал с байтами звука как с массивом сэмплов: max() и rms() давали громкость, mul() и add() меняли её и смешивали дорожки, lin2ulaw() и ratecv() перекодировали. Убран по PEP 594: модуль на C почти не сопровождался. Стандартной замены нет. Простые вещи переписываются через array: array('h', data) превращает 16-битный звук в числа, а max(map(abs, samples)) заменяет audioop.max(data, 2). Для серьёзной обработки берут numpy или pydub. Пакет audioop-lts на PyPI возвращает модуль целиком — его, например, тянет pydub на 3.13.
Примеры
# Python 3.13+
try:
import audioop
except ModuleNotFoundError as e:
print(type(e).__name__) # → ModuleNotFoundError
# Python 3.13+
from array import array
data = array('h', [100, -3000, 250]).tobytes()
samples = array('h', data)
print(max(map(abs, samples))) # → 3000
import audioop
from array import array
data = array('h', [100, -3000, 250]).tobytes()
print(audioop.max(data, 2)) # → 3000
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности