MulaiMulai sekarang secara gratis

Byte ke bilangan bulat

Anda telah melihat cara mengimpor dan membaca berkas audio menggunakan modul wave di Python dan metode readframes(). Namun, hasilnya berupa array byte.

Untuk mengonversi byte menjadi sesuatu yang lebih berguna, kita akan menggunakan metode frombuffer() dari NumPy.

Dengan memberikan byte gelombang suara ke frombuffer() dan menentukan dtype 'int16', kita dapat mengonversi byte menjadi bilangan bulat. Bilangan bulat jauh lebih mudah digunakan daripada byte.

Pustaka wave di Python telah diimpor bersama dengan berkas audio good_morning.wav.

Latihan ini adalah bagian dari kursus

Pemrosesan Bahasa Lisan dengan Python

Lihat Kursus

Petunjuk latihan

  • Impor paket numpy dengan alias umumnya, np.
  • Buka dan baca berkas audio good morning.
  • Konversi byte signal_gm menjadi bilangan bulat int16.
  • Lihat 10 nilai pertama gelombang suara.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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[:____])
Edit dan Jalankan Kode