1. Learn
  2. /
  3. Courses
  4. /
  5. Xử lý Ngôn ngữ Nói bằng Python

Connected

Exercise

Tìm các mốc thời gian

Chúng ta biết tần số của sóng âm là 48 kHz, nhưng nếu không biết thì sao? Bạn có thể tìm bằng cách lấy độ dài mảng sóng âm chia cho thời lượng của sóng âm. Tuy nhiên, mô-đun wave của Python có cách tốt hơn. Gọi getframerate() trên một đối tượng wave sẽ trả về tốc độ khung hình của đối tượng đó.

Sau đó, chúng ta có thể dùng phương thức linspace() của NumPy để tìm mốc thời gian cho từng số nguyên trong mảng sóng âm. Điều này sẽ giúp bạn trực quan hóa sóng âm sau này.

Phương thức linspace() nhận các tham số start, stop và num, rồi trả về num giá trị cách đều nhau giữa start và stop.

Trong trường hợp này, start sẽ là không, stop sẽ là độ dài mảng sóng âm chia cho tốc độ khung hình (tức thời lượng của tệp âm thanh) và num sẽ là độ dài mảng sóng âm.

Instructions

100 XP
  • Chuyển đổi các byte của sóng âm thành số nguyên.
  • Lấy tốc độ khung hình của tệp âm thanh good morning bằng getframerate().
  • Đặt stop là độ dài của soundwave_gm chia cho tốc độ khung hình.
  • Đặt num là độ dài của soundwave_gm.