НачатьНачать бесплатно

Из байтов в целые числа

Вы уже знаете, как импортировать и считывать аудиофайл с помощью модуля wave и метода readframes(). Однако результатом является массив байтов.

Чтобы преобразовать байты в более удобный формат, воспользуемся методом frombuffer() из библиотеки NumPy.

Передав в frombuffer() байты звуковой волны и указав dtype равным 'int16', можно получить массив целых чисел. Работать с целыми числами значительно проще, чем с байтами.

Библиотека wave уже импортирована вместе с аудиофайлом good_morning.wav audio file.

Это упражнение является частью курса

Обработка устной речи на Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте пакет numpy с общепринятым псевдонимом np.
  • Откройте и считайте аудиофайл с приветствием.
  • Преобразуйте байты signal_gm в целые числа типа int16.
  • Выведите первые 10 значений звуковой волны.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

import ____ as ____

# Open good morning sound wave and read frames as bytes
good_morning = wave.open(____, 'r')
signal_gm = good_morning.readframes(-1)

# Convert good morning audio bytes to integers
soundwave_gm = np.frombuffer(____, dtype=_____)

# View the first 10 sound wave values
print(soundwave_gm[:____])
Редактировать и запускать код