• Nie Znaleziono Wyników

Rekonstrukcja sygnałów muzycznych

N/A
N/A
Protected

Academic year: 2021

Share "Rekonstrukcja sygnałów muzycznych"

Copied!
7
0
0

Pełen tekst

(1)

KATEDRA SYSTEMÓW MULTIMEDIALNYCH

Akustyka Muzyczna

Ćwiczenie nr 5:

Rekonstrukcja sygnałów muzycznych

Opracowanie:

mgr inż. Adam Kupryjanow

1. Wprowadzenie

Nagrania muzyczne zgromadzone w licznych archiwach radia i telewizji są jednym z naszych dóbr kulturowych. Z powodu wieloletniego składowania nośników, stosowania niskiej jakości urządzeń rejestrujących oraz digitalizujących, nagrania te ulegają uszkodzeniom różnego typu. W sygnale pojawia się szum, trzaski, kołysanie i drżenie dźwięku oraz wiele innych zniekształceń. W celu udostępniania tych nagrań szerszemu gronu odbiorców konieczna jest rekonstrukcja zniekształconego sygnału.

2. Cel i przebieg ćwiczenia

Celem ćwiczenia jest zapoznanie studenta z problematyką rekonstrukcji archiwalnych nagrań dźwiękowych zniekształconych przez szum impulsowy (trzaski). Zadania związane z algorytmami redukcji trzasków wykonywane są w programie MATLAB.

3. Detekcja i redukcja addytywnego szumu impulsowego (trzasków)

Trzask w sygnale fonicznym jest związany z krótką, lokalną nieciągłością sygnału trwającą około 1 ms. Przyjmuje się, iż w nagraniu nie więcej niż 10% próbek może zawierać tego rodzaju zniekształcenie [4]. Szum impulsowy jest typowy dla nagrań zarejestrowanych na płytach gramofonowych oraz na optycznych ścieżkach dźwiękowych występujących na

(2)

taśmach filmowych. Powodem powstawania zniekształcenia mogą być m.in. plamki brudu lub kurzu oraz zarysowania nośnika.

Trzask jest zniekształceniem addytywnym opisanym za pomocą wzoru (1): t

t t t x i n

y    (1) gdzie xt jest sygnałem niezawierającym zniekształceń, yt to sygnał zniekształcony, nt to sygnał

szumu, a it to sygnał opisujący miejsca występowania trzasków (zawiera on wartości binarne). Detekcja

W najprostszym podejściu detekcja trzasków możliwa jest poprzez wykorzystanie filtracji górnoprzepustowej oraz progowania sygnału wynikowego. Niestety metoda ta nie jest skuteczna w przypadkach sygnałów zawierających składowe wysokoczęstotliwościowe oraz trzasków ograniczonych pasmowo [3]. Skuteczniejsze metody detekcji oparte są na modelu autoregresyjnym sygnału (AR). W podejściu tym sygnał dźwiękowy modelowany jest jako proces autoregresyjny zgodnie ze wzorem (2):

    P i n n i n ax e x 1 1 (2)

gdzie {ai, i=1…P} to współczynniki filtru, P to rząd modelu, en to pobudzenie. Podczas

detekcji wykorzystuje się sygnał pobudzenia, który w przypadku sygnału niezniekształconego ma charakter szumu białego. Sygnał en uzyskuje się poprzez filtrację sygnału xn za pomocą

filtra odwrotnego. Detekcję trzasków wykonuje się poprzez progowe wykrywanie gwałtownych zmian w sygnale en. Miejsca przekraczające próg odpowiadają miejscom

wystąpienia trzasków. Jednak jednoprogowa detekcja (nazywana metodą tradycyjną) wykorzystująca model AR nie jest wystarczająco niezawodna. Esquef et al. [1] zaproponowali wprowadzenie iteracyjnej dwuprogowej analizy sygnału pobudzenia. Opracowana przez nich metoda pozwala uzyskać wyższą skuteczność detekcji zniekształcenia co powoduje wzrost jakość rekonstrukcji. Na rys. 1 przedstawiono schemat blokowy iteracyjnego dwuprogowego algorytmu detekcji trzasków. W każdym kroku iteracji wyznaczany jest sygnał pobudzenia i przeprowadzane jest procedura detekcji zniekształceń. Po wykryciu miejsc trzasków, wartości zniekształconych próbek wyznaczane są za pomocą algorytmu predykcyjnego.

(3)

Podział sygnału na ramki AR Filtracja Wyznaczenie pobudzenia Detekcja z wykorzystaniem 2 progów Rekonstrukcja Tak Czy powtórzyć? Nie

Miejsca wystąpień trzasków

Rys. 1. Schemat blokowy dwuprogowego iteracyjnego algorytmu detekcji trzasków.

W każdym kroku iteracji dokonywana jest dwuprogowa analiza sygnału en. Pierwszy próg jest

progiem detekcji trzasku Thd a drugi progiem pozwalającym na określenie jego szerokość Thw. Jeżeli wartość pobudzenia przekracza wartość Thd wtedy w jej otoczeniu znajdowane są

wszystkie próbki przekraczające próg Thw. Wartości progów w każdej iteracji i wyznaczane

są adaptacyjnie zgodnie ze wzorami (3)(4)(5):

) ( ) ( in d i K e Th   (3) ) ( ) (i b Th i Thwid (4) b f i i r b         (5) gdzie Thd(i) jest progiem detekcji w i-tej iteracji K jest stała, Thw(i) jest progiem detekcji

szerokości trzasku w i-tej iteracji, bi jest wartością wyznaczaną zgodnie ze wzorem (4), a

wartości r, f i b są stałymi. W tabeli 1 przedstawiono wartości stałych zaproponowane przez Esquef et al. [1]. Wyjaśnić należy tu, iż przez N oznaczono długość ramki analizy a imax jest

maksymalną liczbą iteracji.

Tabela 1. Wartości parametrów algorytmu detekcji trzasków zaproponowane przez Esquef et al. [1].

N P K b1 r n f g imax

1024 40 5 0,5 0,5 3 3 6 7

Redukcja trzasków

Podczas redukcji zniekształceń wykorzystywane są informacje pochodzące od algorytmu detekcji trzasków. Rekonstruowane są wyłącznie próbki sygnału, w których wykryto zniekształcenie. Zniekształcone wartości w sygnale wejściowym traktowane są jako brak wartości sygnału i wyznaczane są za pomocą algorytmu. W najprostszym podejściu możliwe jest wyznaczenie brakujących próbek sygnału jaki mediany próbek znajdujących się w otoczeniu trzasku. Jednak takie podejście nie pozwala na uzyskanie wysokiej jakości rekonstrukcji. Typowe algorytmy predykcji pozwalające na uzyskanie wysokiej jakości dźwięku oparte są na modelu AR i iteracyjnym uzupełnianiu brakujących wartości. Jedną z

(4)

metod znanych z literatury jest algorytm Janssena [2]. Oryginalnie autorzy tej metody predykcji sugerowali zastosowanie 100 iteracji podczas przetwarzania. W każdym kroku wyznaczany jest model AR i uzupełniane są brakujące próbki sygnału. W kolejnym kroku model AR wyznaczany jest dla sygnału z uzupełnionymi wartościami brakujących próbek. W efekcie uzupełniane wartości próbek są zbieżne do wartości oryginalnych. Schemat blokowy algorytmu predykcji zamieszczono na rys. 2.

Podział sygnału na ramki Zniekształcony sygnał

Miejsca wystąpień trzasków

AR

Uzupełnienie próbek zawierających

trzask

Filtracja powtórzyć?Czy

Tak

OLA Nie

Nie

Sygnał zrekonstruowany

Rys. 2. Schemat blokowy algorytmu predykcji. 4. Opis interfejsu graficznego do redukcji trzasków

Podczas zajęć wykorzystana zostanie aplikacja o nazwie „Recon”. Została ona stworzona w środowisku MATLAB do celów edukacyjnych.

Rys. 3. Interfejs graficzny aplikacji. Poniżej przedstawiono opis poszczególnych funkcji aplikacji:

1. Wybór algorytmu detekcji trzasków – wybrany algorytm zostanie zastosowany w procesie szukania trzasków.

2. Szukanie trzasków uruchamia algorytm detekcji trzasków we wczytanym nagraniu. 3. Dodanie trzasków – opcja ta umożliwia sztuczne dodanie zniekształcenia do nagrań. 4. Procentowa zawartość trzasków określa ile procent próbek w nagraniu ma zawierać

1

2

3

4

5

6

7

8

9

10

11

12

13

(5)

sztucznie dodane trzaski.

5. Statystyka detekcji (dostępna tylko podczas szukania trzasków w nagraniach sztucznie zniekształconych) – dostępne są dwie miary:

a. skuteczność detekcji trzasków - procent poprawnie wykrytych trzasków spośród całkowitej liczby sztucznie dodanych trzasków

b. pomyłki – procent próbek niezniekształconych, a oznaczonych przez detektor jako zniekształcenie.

6. Wykres ilustrujący przebieg czasowy sygnału zniekształconego. Po uruchomieniu algorytmu detekcji na rysunku czerwonymi krzyżykami zaznaczane są próbki, w których algorytm wykrył trzask.

7. Przyciski start/stop umożliwiające włączenie/wyłączenie odtwarzania nagrania zaszumionego.

8. Zoom on – włączenie lupy na obszarze wykresów. 9. Wybór algorytmu redukcji trzasków.

10. Uruchomienie algorytmu redukcji trzasków.

11. Statystyka rekonstrukcji (dostępna tylko podczas redukcji trzasków w nagraniach sztucznie zniekształconych).

12. Wykres ilustrujący przebieg czasowy sygnału zrekonstruowanego.

13. Przyciski start/stop umożliwiające włączenie/wyłączenie odtwarzania nagrania zrekonstruowanego.

5. Zadania

a) W środowisku MATLAB uruchom aplikację „Recon” i wczytaj plik o nazwie

mowa.wav (Plik->Wczytaj). Odsłuchać nagranie. Dodać 3% trzasków i ponownie odsłuchać nagranie. Korzystając z detektora tradycyjnego i detektora Esquefa przeprowadzić proces detekcji zniekształcenia. Zanotować statystyki uzyskane dla obu detektorów.

b) Dokonać rekonstrukcji nagrania korzystając z algorytmu Janssena. Zanotować wartość

błędu i odsłuchać nagranie zrekonstruowane.

c) Zaimplementować funkcję DetektorProsty i zbadać jej skuteczność dla nagrania

mowa.wav i muzyka.wav przy 3% udziale dodanego szumu impulsowego. Detekcja trzasków powinna odbywać się poprzez analizę sygnału przefiltrowanego za pomocą filtra górnoprzepustowego (częstotliwość odcięcia należy dobrać eksperymentalnie). Miejsca trzasków powinny odpowiadać wartościom próbek sygnału przefiltrowanego,

(6)

których wartość przekracza założony próg (wartość progu należy dobrać eksperymentalnie np. jako wartość średnią sygnału w ramce). Do zaprojektowania filtru górnoprzepustowego można użyć funkcji fir1. Filtrację sygnału można wykonać za pomocą funkcji filter.

d) Zaimplementować funkcję ReconMedian i zbadać skuteczność rekonstrukcji nagrania

mowa.wav i muzyka.wav przy 3% udziale dodanego szumu impulsowego (użyć detektora Esquefa). Algorytm powinien wyznaczać wartość brakującej próbki jako medianę wartości próbek w jej otoczeniu. Liczbę próbek z sąsiedztwa należy dobrać eksperymentalnie (można rozpocząć od wartości 4). Przydatne funkcje: median, find.

e) Przeprowadzić proces rekonstrukcji nagrań mowa.wav i muzyka.wav. Zapisać

statystyki detekcji i rekonstrukcji dla następującej procentowej zawartości trzasków w nagraniu: 0,3%, 0,9%, 3%, 6%, 9%. Podczas rekonstrukcji zbadać oba algorytmy detekcji zniekształcenia. Ocenić subiektywną jakość każdego z nagrań (w skali 1 do 5, gdzie 1 to niska jakość, a 5 to bardzo wysoka).

f) Przeprowadzić proces rekonstrukcji nagrań Donovan.wav i Orkiestra.wav. Dokonać

subiektywnej oceny jakości nagrań zrekonstruowanego. Podczas rekonstrukcji zbadać oba algorytmy detekcji zniekształcenia.

6. Opracowanie

1. Zamieścić kod zaimplementowanych funkcji (wraz z komentarzem)

2. Uzyskane statystyki detekcji i rekonstrukcji zamieścić w tabelach i na wykresach.

Skomentować wyniki. W jakich okolicznościach korzystne może być zastosowanie detektora tradycyjnego?

3. Uzyskane oceny subiektywne umieścić w tabelkach i skomentować. 4. Przeanalizować czy istnieje zależność pomiędzy:

a. skutecznością detekcji zniekształcenia a subiektywną oceną jakości

rekonstrukcji

b. procentową zawartością zniekształcenia a subiektywną oceną jakości

rekonstrukcji

c. błędem średniokwadratowym a subiektywną oceną jakości rekonstrukcji 5. Przeanalizować wyniki rekonstrukcji uzyskane w zadaniu d). Odpowiedzieć na

(7)

7. Bibliografia

1. P. A. A. Esquef, L. W. P. Biscainho, P. S. R. Diniz, F. P. Freeland, A Double-Threshold-Based Approach To Impulsive Noise Detection In Audio Signals. Proc. X European Signal Processing Conf., vol. 4EURASIP, Tampere, Finland, pp. 2041–2044, 2000.

2. A. J. E. M. Janssen, R. N. J. Veldhuis, L. B. Vries, Adaptive Interpolation of Discrete-Time Signals That Can Be Modeled as Autoregressive Processes. IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 34, no. 2, 1986.

3. S. Godsill, P. Rayner, O. Cappé, Digital Audio Restoration. Applications of Digital Signal Processing to Audio and Acoustics, (Kahrs, M., Brandenburg, K., Eds.), Kluwer Academic Publishers, Massachusetts, pp. 133-194, 2001.

4. S. J. Godsill, P. J. W. Rayner, Digital Audio Restoration – A Statistical Model Based Approach. 1998.

Cytaty

Powiązane dokumenty

Zapre- zentowany w pracy algorytm jest przykładem, który na obecnym etapie badań wydaje się, że spełnia przyjęte założenia związane z identyfikacją artefaktów

Celem przeprowadzonych badań było zaprojektowanie, implementacja i przetestowanie działania algorytmu redukcji zakłóceń quasistacjonarnych, takich jak przydźwięk sieciowy

Artykuł przedstawia algorytm, wykorzystujący wahania częstotliwości tych zakłóceń w celu oszacowania nierównomierności przesuwu taśmy i redukcji spowodowanych tym

Pamięć dla ptrRek została zwolniona, więc BEZWZGLĘDNIE, CAŁKOWICIE, ABSOLUTNIE ZABRONIONE JEST ODWOŁYWANIE SIĘ DO ZMIENNEJ, KTÓREJ PAMIĘĆ ZOSTAŁA ZWOLNIONA!!. PtrRek^

Pamięć dla *ptrX została zwolniona, więc BEZWZGLĘDNIE, CAŁKOWICIE, ABSOLUTNIE ZABRONIONE JEST ODWOŁYWANIE SIĘ DO ZMIENNEJ, KTÓREJ PAMIĘĆ ZOSTAŁA ZWOLNIONA!!!.. PtrX NIE

Celem pracy by ł o okre ś lenie przebiegu walki judo prowadzonej przez zawodników pol- skich w najci ęż szej kategorii wagowej.. Odmienne oce- ny elementów walki by ł y

First of all it was investigated whether the CRAFE System is able to meet the needs of handling Jumbo Container Vessels with a capacity of 8,000 TEU.. Secondly a number of

4a przedstawiono przykładowe wyniki otrzymanych sił mięśniowych (mięśnia obszernego przyśrodkowego, piszczelowego przedniego, pośladkowe- go wielkiego, dwugłowego