Instrukcja poświęcona jest podstawowym parametrom danych plików dźwiękowych. Poznamy sposoby jak je obserwować, co w nich się znajduje oraz w jaki sposób je przekształcać. Mała uwaga zajmujemy się tutaj redukcją informacji, dlatego w treści tej instrukcji nie znajdą się informacje na temat zwiększania częstotliwości próbkowania i rozdzielczości bitowej sygnału, ale obie operacje są możliwe do wykonania, ale z różnymi sukcesami.

Zadania

  1. Do Zaimplementowania:

    1. Funkcję symulującą zmianę rozdzielczości bitowej dowolnych danych, na dowolną z zakresu od 2 do 32 bitów (zakres może być szerszy, ale funkcja powinna), wykorzystującą wzory matematyczne i zaokrąglenia, a nie metodą dopasowywania do wzorca (0,1 pkt).
    2. Funkcje decymującą o dowolny interwał n będący liczbą całkowitą (0,1 pkt),
    3. Funkcję wykonującą interpolację sygnału z domyślnej wartości próbkowania na nową oraz pozwalającej wybrać rodzaj interpolacji (0,1 pkt).
  2. Na podstawie poprawnie działającego kodu oraz dołączonych plików zbadać:

    1. Wykorzystując funkcję stworzona na zajęciach wprowadzających z dźwięku (rysowanie fragmentu sygnału oraz połówki decybelowej widma) proszę zbadać wpływ kwantyzacji i różnych metod zmiany częstotliwości próbkowania na widmo. Proszę to wykonywać tylko dla plików sin_. Dobrać czas górnego ona osobno dla każdego z plików, tak żeby pokazało się tam najwyżej kilka okresów i można było obserwować kształt krzywej, będzie to wartość w zakresie \(5-100ms\) w zależności od pliku. W kilku przypadkach testowania zmiany częstotliwości próbkowania zdarzą się przypadki, gdy kod nie będzie w stanie wyświetlić nam widma. Należy, wtedy sprawdzić jak wygląda sygnał w czasie i powiązać ten problem z pewnym twierdzeniem omawianym na wykładach (0,4 pkt).
    2. W drugiej części zadania proszę zbadać wpływ kwantyzacji i różnych metod zmiany częstotliwości próbkowania na odbiór plików, czyli co słychać czego nie słychać itd. W tym celu proszę wybrać po co najmniej jednym pliku z każdej kategorii śpiewu low, medium i high i przeprowadzić odsłuchy. Wyniki zamieścić w tabeli lub liście obserwacji. (0,3 pkt).
    3. W obu przypadkach badania rzeczy do przebadania:
      • sygnał zapisany na 4,8,16,24 -bitach
      • częstotliwości próbkowania do sprawdzenia (dla decymacji niektóre mogą być nie do wyznaczenia — zrobić je wtedy na najbliższych możliwych częstotliwościach): 2000 Hz,4000 Hz, 8000 Hz, 16000 Hz, 24000 Hz, 41000 Hz, (tylko interpolacja) 16950 Hz. Proszę nie mieszać redukcji ilości bitów ze zmianą częstotliwości próbkowania. Na końcu sprawozdania proszę napisać jakieś podsumowanie/wnioski z eksperymentu.

Przypomnienie

  • Proszę przetestować i wygenerować wykresy dla wszystkich plików sin_. Natomiast odsłuchy wykonać dla przynajmniej po jednym pliku z każdej grupy sing_.
  • Proszę pamiętać, że zmiana częstotliwości próbkowania powinna być zmieniona jako parametr w wykresach widma oraz podczas odtwarzania i/lub zapisu.

Do oddania

  • kod źródłowy (jeden plik .py)
  • sprawozdanie z obserwacjami i wynikami (format PDF)