BaşlayınÜcretsiz Başlayın

Bayttan tamsayıya

Python'ın wave modülünü ve readframes() metodunu kullanarak bir ses dosyasını nasıl içe aktarıp okuyacağını gördün. Ancak bunun sonucu bir bayt dizisidir.

Baytları daha kullanışlı bir şeye dönüştürmek için NumPy'nin frombuffer() metodunu kullanacağız.

frombuffer()'a ses dalgası baytlarımızı verip dtype olarak 'int16' belirttiğimizde, baytları tamsayılara çevirebiliriz. Tamsayılarla çalışmak, baytlardan çok daha kolaydır.

Python wave kitaplığı ile birlikte good_morning.wav ses dosyası zaten içe aktarıldı.

Bu egzersiz

Python ile Konuşma Dili İşleme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • numpy paketini yaygın kısaltması np ile içe aktar.
  • Günaydın ses dosyasını aç ve oku.
  • signal_gm baytlarını int16 tamsayılara dönüştür.
  • İlk 10 ses dalgası değerine göz at.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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[:____])
Kodu Düzenle ve Çalıştır