ПочатиПочніть безкоштовно

Байти у цілі числа

Ви бачили, як імпортувати та зчитувати аудіофайл за допомогою модуля wave у Python і методу readframes(). Але в результаті ви отримуєте масив байтів.

Щоб перетворити байти на щось корисніше, скористаємося методом NumPy frombuffer().

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

Бібліотеку wave у Python уже імпортовано, так само як і аудіофайл good_morning.wav.

Ця вправа є частиною курсу

Обробка усного мовлення в Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте пакет numpy зі звичним псевдонімом np.
  • Відкрийте та зчитайте аудіофайл good morning.
  • Перетворіть байти 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[:____])
Редагувати та запускати код