Transcript *SR

ČSR
Cvičenie 2
Čo vieme...
• Tvorba reči, hlasový trakt...
• Delenie základných rečových jednotiek a ich charakteristické
príznaky
• Základná hlasivková frekvencia, formantove frekvencie
ČSR - cvičenie 2
2
Príklad:
MATLAB: napíšte funkciu pre generovanie dvoch kosínusových signálov s frekvenciou f0 =
20 Hz a 40 Hz pre vzorkovaciu frekvenciu Fs = 8000 Hz
1. Matematický zápis signálu spojitého v čase
s(t) = cos(2πf0t) = cos(2π20t)
2. Pri vzorkovaní signálu nahradíme čas t diskrétnym časom nT, kde T je vzorkovacia
perióda
𝑓0
𝑥 𝑛𝑇 = cos 2𝜋𝑓0 𝑛𝑇 = 𝑐𝑜𝑠 2𝜋
𝑛
𝐹𝑆
Výsledný signál zapíšeme ako
20
𝑥 𝑛 = 𝑐𝑜𝑠 2𝜋
𝑛
8000
3. Generovanie signálu a jeho magnitúdová frekv. char.
n
x
y
z
Z
=
=
=
=
=
0:7999;
cos (2 * pi * 20 / 8000 * n); figure; plot(x);
0.5 * cos (2 * pi * 40 / 8000 * n); figure; plot(y);
x + y; figure; plot(z);
abs(fft(z)); figure; stem(Z);
ČSR - cvičenie 2
3
Parametrizácia reči
Parametrizácia = vyjadrenie rečového signálu obmedzeným množstvom hodnôt
= extrakcia charakteristických čŕt
Ake parametrizácie poznáme ...
•
•
•
•
•
•
•
F0 (Muz/zena)
PCM vzorky
Znelá / neznelá
Energia
ZCR – zero crossing rate
LPC analýza
Vo frekvečnej oblasti – banky filtrov(LPC, E ...), formantove
frekvencie
ČSR - cvičenie 2
4
Parametrizácia reči
• Stacionárny / nestacionárny signál – rozdiel ?
• Reč = stacionárna / nestacionárna ?
• Nutnosť stacionarity ?
0.2
0.15
0.1
0.05
0
-0.05
-0.1
-0.15
-0.2
0
5000
10000
15000
0.025
0.02
0.015
0.01
0.005
0
-0.005
-0.01
-0.015
-0.02
-0.025
ČSR - cvičenie 2
0
200
400
600
800
1000
5
1200
Oknovanie (rámcovanie) signálu
• Oknovanie ... O čo ide ?
• Parametre rámcu - dĺžka lram
- prekrytie pram,
- posun sram = lram - pram
• Dĺžka – dostatočne krátka (aby sa dal signál považovať za stacionárny), dostatočne dlhá
(aby sa dali uspokojivo odhadnúť počítané parametry na danom rámci)
Kompromis – dĺžka 20 az 25ms, polovičný prekryv
• Prekrytie – malé =  rýchly časový posun, malé nároky na výpočtové zdroje
 Hodnoty parametrov medzi rámcami sú veľmi odlišné
- veľké =  vyhladené parametre medzi rámcami, veľké nároky na výpočtový
výkon
Kompromis – 10 az 15 ms
ČSR - cvičenie 2
6
Oknovanie (rámcovanie) signálu
• Koľko rámcov potrebujeme na signál o dĺžke N ?
BEZ PREKRYVU
pram = 0
kde Nram je počet rámcov
ČSR - cvičenie 2
7
Oknovanie (rámcovanie) signálu
• Koľko rámcov potrebujeme na signál o dĺžke N ?
S PREKRYVOM
pram ≠ 0
kde Nram je počet rámcov
ČSR - cvičenie 2
8
Príklad:
Oknovanie signálu y = [1, 2, -5, 1, 0, -3, 1]
1. rámcovanie
Vytvorte rámce na uvedenom signály dĺžky lram = 3 a s prekryvom pram = 1
2. Výpočet parametru Stredná krátkodobá energia
Pre každý rámec vypočítajte parameter SKE:
E 
1
l ram
l ram 1

x n 
2
n 0
3. Pomocou funkcie segment_signal() nasegmentujte signál ‘zeze.wav’ s dĺžkou rámca 20ms
a s polovičným prekryvom 10ms. Vypočítajte strednú krátkodobú energiu každého
segmentu a zobrazte pomocou príkazu stem() v matlabe.
segment_signal(signal,frame_length,frame_shift) – vracia maticu kde
riadky predstavujú jednotlivé segmenty
ČSR - cvičenie 1
9
Príklad:
-3
5
x 10
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0
0
20
40
60
80
100
120
140
160
180
x=wavread('zeze.wav');
A=segment_signal(x,160,80);
A = A.^2
A = A'
E = sum(A)
E = E/160
stem(E)
- Samohlásky majú veľkú energiu
ČSR - cvičenie 1
10