Байти у цілі числа
Ви бачили, як імпортувати та зчитувати аудіофайл за допомогою модуля 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[:____])