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ırEgzersiz talimatları
numpypaketini yaygın kısaltmasınpile içe aktar.- Günaydın ses dosyasını aç ve oku.
signal_gmbaytlarınıint16tamsayı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[:____])