Bắt đầu ngayBắt đầu miễn phí

Từ byte sang số nguyên

Bạn đã thấy cách nhập và đọc một tệp âm thanh bằng wave của Python và phương thức readframes(). Nhưng cách đó trả về một mảng byte.

Để chuyển các byte thành thứ hữu ích hơn, ta sẽ dùng phương thức frombuffer() của NumPy.

Truyền cho frombuffer() các byte sóng âm và chỉ định dtype'int16', bạn có thể chuyển các byte thành số nguyên. Làm việc với số nguyên dễ hơn nhiều so với byte.

Thư viện wave của Python đã được nhập sẵn cùng với tệp âm thanh good_morning.wav.

Bài tập này là một phần của khóa học

Xử lý Ngôn ngữ Nói bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Import gói numpy với bí danh quen thuộc np.
  • Mở và đọc tệp âm thanh good morning.
  • Chuyển các byte trong signal_gm sang số nguyên int16.
  • Xem 10 giá trị sóng âm đầu tiên.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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[:____])
Chỉnh sửa và Chạy Mã