Zacznij terazZacznij za darmo

Bajty na liczby całkowite

Wiesz już, jak importować i odczytywać plik audio za pomocą modułu wave w Pythonie oraz metody readframes(). Wynikiem tego działania jest jednak tablica bajtów.

Aby przekształcić bajty w coś bardziej użytecznego, skorzystamy z metody frombuffer() z biblioteki NumPy.

Przekazując do frombuffer() bajty fali dźwiękowej i wskazując dtype równy 'int16', możemy zamienić bajty na liczby całkowite. Z liczbami całkowitymi pracuje się o wiele wygodniej niż z bajtami.

Biblioteka wave w Pythonie została już zaimportowana wraz z plikiem audio good_morning.wav.

To ćwiczenie jest częścią kursu

Przetwarzanie mowy w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj pakiet numpy z jego popularnym aliasem np.
  • Otwórz i odczytaj plik audio z pozdrowieniem "dzień dobry".
  • Przekształć bajty zmiennej signal_gm na liczby całkowite typu int16.
  • Wyświetl pierwsze 10 wartości fali dźwiękowej.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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[:____])
Edytuj i uruchom kod