2.2. Algorytmy detekcji artefaktów 19

2.2. Algorytmy detekcji artefaktów 19


Rysunek 2.6: Schemat blokowy kodera algorytmu LPC-10

ści bądź bezdźwięczności danego fragmentu. W tablicy 2.2 przedstawiono fragment kodu programu Mat lab odpowiadający za detekcję głosek dźwięcznych i bezdźwięcznych. Został on wykorzystany do testowania zebranych fragmentów mowy jako element głównego algorytmu.

W późniejszej fazie projektowania aplikacji okazało się, że zaproponowany algorytm posiada zbyt dużą złożoność obliczeniową, aby mógł działać w czasie rzeczywistym. Powodem tego jest wykorzystywanie funkcji autokorelacji w postaci sumy, której obliczenie zajmowało czas około 10 razy dłuższy niż w przypadku innych algorytmów. Co prawda istnieją sposoby obliczania funkcji autokorelacji na podstawie widma sygnału, jednak wiązałoby się to z przeprowadzaniem transformaty Fouriera oraz późniejszego powrotu do dziedziny czasu. W tym przypadku użycie tego algorytmu nie zmniejszyłoby

1    for k = 0 : Nhamming-1

2    r(k+l) = sum( bx(l : Nhamming-k) .* bx(l+k : Nhamming) );

3    end

4    offset    = 20;

s    rmax    =    max(r(offset    :    Nhamming));

6    imax = find(r == rmax);

7    if (    rmax > 0.35*r(l)    )

s    else


Tabela 2.1: Fragment kodu odpowiadający za detekcję głosek dźwięcznych

T. Balawajder Aplikacja mobilna ułatwiająca eliminację nawyku mówienia „yyyy” podczas prezentacji.