Project management of NTIS P1 Cybernetic Systems and Department of Cybernetics | WiKKY

Project

General

Profile

Task #3754 » textgrid_shorttextformat.txt

Matlab script for saving TextGrids - Bořil Tomáš, 19.02.2016 14:13

 
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

    
    (1-1/1)