1
|
% zápis do souboru fileNameTextGrid
|
2
|
|
3
|
% y ... vektor vzorků zvuku, zde používám jen pro výpočet finálního času zvuku
|
4
|
% fs ... vzorkovací frekvence, zde používám jen pro výpočet finálního času zvuku
|
5
|
% pozn. 1. vzorek odpovídá času 0, tudíž poslední (ypsilontý) vzorek odpovídá času (length(y)-1) / fs
|
6
|
|
7
|
% T1 ... vektor počátečních časů každého segmentu
|
8
|
% T2 ... vektor konečných časů každého segmentu
|
9
|
% lab ... vektor labelů každého segmentu
|
10
|
% pozn. například 3. segment začíná T1(3), končí T2(3) a jeho label je lab{3}
|
11
|
|
12
|
|
13
|
fid = fopen(fileNameTextGrid, 'w', 'ieee-be', 'UTF-8');
|
14
|
fprintf(fid, 'File type = "ooTextFile"\n');
|
15
|
fprintf(fid, 'Object class = "TextGrid"\n');
|
16
|
fprintf(fid, '\n');
|
17
|
fprintf(fid, '0\n');
|
18
|
fprintf(fid, '%f\n', (length(y)-1)/fs); % finální čas
|
19
|
fprintf(fid, '<exists>\n');
|
20
|
fprintf(fid, '1\n');
|
21
|
fprintf(fid, '"IntervalTier"\n');
|
22
|
fprintf(fid, '"diphone"\n'); % název vrstvy
|
23
|
fprintf(fid, '0\n'); % počáteční čas
|
24
|
fprintf(fid, '%f\n', (length(y)-1)/fs); % finální čas
|
25
|
fprintf(fid, '%d\n', length(T1)); % počet intervalů textgrid
|
26
|
|
27
|
|
28
|
for I = 1: length(T1)
|
29
|
fprintf(fid, '%f\n', T1(I));
|
30
|
fprintf(fid, '%f\n', T2(I));
|
31
|
fprintf(fid, '"%s"\n', lab{I});
|
32
|
end
|
33
|
|
34
|
fclose(fid);
|
35
|
|