logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Podział - mowa dźwięczna/bezdźwięczna

MikePW 13 Sie 2006 13:02 3814 6
REKLAMA
  • #1 2911189
    MikePW
    Poziom 2  
    Witam,

    nagrałem fragment swojej mowy, wgrałem to do matlaba - czyli mam przebieg czasowy mowy. Chciałbym jakoś wyznaczyć fragmenty, w których moja mowa jest dźwięczna i fragmenty w któych jest bezdźwięczna. Macie jakiś pomysł jak to zrobić?

    pozdrawiam
  • REKLAMA
  • #2 2911264
    Xitami
    Poziom 29  
    Porobiłbym krótkie (20-50 mS) Fourier’y, dźwięczne dźwięczą w innych okolicach.
  • REKLAMA
  • #3 2914164
    koodłaty
    Poziom 14  
    W standardzie LPC10 dzwiecznosc wykrywana jest przez wykonanie autokorelacji na probce sygnalu. Wyglada to w praktyce tak:

    - dzieli sie sygnal na odcinki np. 20ms (160 probek dla fpr=8kHz)
    - uwydatnia wyzsze czestotliwosci (filtr preemfazy)
    - mnozy ramke z oknem Hamminga (poprawa charakterystyki czestotliwosciowej)
    - progowanie sygnalu (nie jest wymagane ale wplywa na wykrywalnosc dzwiecznosci/bezdzwiecznosci)
    - autokorelacja takiego sygnalu

    Nastepnie poszukuje sie dla sygnalu autokorelacji maksimum w przedziale T=[20; 160] probek (zakres czestotliowosci 50-400 Hz). Jesli stosunek znalezionego maksimum do wartosci autokorelacji w punkcie r(0) jest wiekszy od 0.35 to mowa jest dzwieczna.
    W celu wykrycia dzwiecznosci/bezdzwiecznosci mozna posluzyc sie rowniez metoda cepstrum - bardziej zlozona ale podpobna dajaca lepsze efekty.
    Po szczegoly odsylam do bardzo dobrej ksiazki:
    Tomasz P. Zieliński, "Od teorii do cyfrowego przetwarzania sygnałów", Wydział EAIiE AGH, Kraków 2000
    Obecnie nowe wydanie chyba nazywa sie inaczej:
    Tomasz P. Zieliński, "Cyfrowe przetwarzanie sygnałów: od teorii do zastosowań", Wydawnictwa Komunikacji i Łączności, Warszawa 2005, ISBN 83-206-1596-8
    Opisana pobieznie przeze mnie procedura zostala tam szczegolowo omowiona.
  • REKLAMA
  • #4 3107255
    korneliusz100
    Poziom 2  
    Koodłaty, super post! Bardzo mi pomógł.
    Powiedz tylko czemu bierze sie zakres 20 - 160 probek?
    Czytalem gdzies, ze powinno sie brac czesc sygnalu do 300Hz.
  • REKLAMA
  • #5 3108899
    Sanjuro
    Poziom 18  
    Zgadzam sie z koodłaty. Mialem zajecia z profesorem Zielinskim i musze powiedziec ze ladnie taka analiza sygnalu na potrzeby pozniejszej syntezy wychodzila. Dodam ze mozna znalezc gdzies na stronach chyba wspomnianego profesora skrypty matlabowe do zagadnien zawartych w jego ksiazce (w zasadzie byly 2, ale to prawie te same ksiazki, tyle ze 2 wydanie jest rozszerzone i z poprawnym tytulem :P)

    hmmm... jak odnajde zeszyt to zapodam linkiem lub jak odnajde materialy to zamieszcze na jakims RapidShare czy gdzies.
  • #6 3111606
    koodłaty
    Poziom 14  
    korneliusz100 napisał:
    Koodłaty, super post! Bardzo mi pomógł.
    Powiedz tylko czemu bierze sie zakres 20 - 160 probek?
    Czytalem gdzies, ze powinno sie brac czesc sygnalu do 300Hz.


    Przy częstotliwości próbkowania fpr=8kHz 20 próbka odpowiada 400 Hz (8000/20) natomiast 160 próbka - 50 Hz. Jak widać zakres zmienności tonu podstawowego zawarty jest w f≡[50; 400] Hz. Różne źródła podają różne górne granice częstotliwości tonu podstawowego. Standard federalny USA LPC-10 ogranicza z kolei od dołu częstotliwość do 54 Hz co odpowiada 147 próbkom - w ten sposób cały zakres zmienności częśtotliwości można zapisać na 1 bajcie (147-20=127 próbek).
  • #7 7459628
    glapa389
    Poziom 1  
    witam. mam podobną rzecz do wykonania. Jak na razie mam utworzoną macierz fragmentów 20ms z nakładkowaniem 10ms, a następnie poddanych autokorelacji . teraz aby określić dźwięczność wystarczy że dodam preemfazę i okno Hamminga przed autokorelacją? Ciekawi mnie też sposób wyznaczenia częstotliwości tonu gardłowego dla ramki dźwięcznej.

    P.S. w jakim przedziale powinienem szukać maksimum jeżeli maksymalne opóźnienie ma wynosić 15ms?
REKLAMA