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

Zaman damgalarını bulma

Ses dalgamızın örnekleme frekansının 48 kHz olduğunu biliyoruz, peki ya bilmiyor olsaydık? Ses dalgası dizimizin uzunluğunu ses dalgamızın süresine bölerek bunu bulabilirdik. Ancak Python'un wave modülünde daha iyi bir yol var. Bir dalga nesnesi üzerinde getframerate() çağırmak, o dalga nesnesinin çerçeve hızını döndürür.

Daha sonra NumPy'nin linspace() yöntemini kullanarak ses dalgası dizimizdeki her bir tamsayının zaman damgasını bulabiliriz. Bu, ileride ses dalgamızı görselleştirmemize yardımcı olacak.

linspace() yöntemi start, stop ve num parametrelerini alır ve start ile stop arasında eşit aralıklı num değer döndürür.

Bizim durumda start sıfır olacak, stop ses dalgası dizimizin uzunluğunun çerçeve hızına bölümü (veya ses dosyamızın süresi) olacak ve num ses dalgası dizimizin uzunluğu olacak.

Bu egzersiz, kursun bir parçasıdır

Python ile Konuşma Dili İşleme

Kursa Göz Atın

Egzersiz talimatları

  • Ses dalgası baytlarını tamsayılara dönüştür.
  • Good morning ses dosyasının çerçeve hızını getframerate() kullanarak al.
  • stop değerini, çerçeve hızına bölünmüş soundwave_gm uzunluğu olacak şekilde ayarla.
  • num değerini soundwave_gm uzunluğu olacak şekilde ayarla.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Read in sound wave and convert from bytes to integers
good_morning = wave.open('good_morning.wav', 'r')
signal_gm = good_morning.readframes(-1)
soundwave_gm = np.frombuffer(____, dtype='int16')

# Get the sound wave frame rate
framerate_gm = good_morning.____

# Find the sound wave timestamps
time_gm = np.linspace(start=0,
                      stop=____/____,
					  num=____)

# Print the first 10 timestamps
print(time_gm[:10])
Kodu Düzenle ve Çalıştır