Matlab - PRAAT - obtener de manera automática el voice report de una base de datos

 
Vista:
sin imagen de perfil
Val: 63
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

PRAAT - obtener de manera automática el voice report de una base de datos

Publicado por luis Carlos (36 intervenciones) el 03/10/2018 22:31:32
Hola,
Escribo aquí porque entre los foros no encontré alguno relacionado con el software PRAAT. Depronto alguno de ustdes lo conoce y programa en él.
La cuestión es la siguiente: quiero realizar un script que me permita obtener de manera automática el voice report de una base de datos. En la web encontré el siguiente, sin embargo, cuando corro el programa no arroja ni un error pero tampoco me da resultados: ( alguno sabría que hay que agregarle o quitarle ¿?)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
form Read all files of the given type from the given directory
sentence source_directory C:\kaylab\Disordred Voice database\NORM\AH\
endform
 
Create Strings as file list... list 'source_directory$'
file_count = Get number of strings
for x from 1 to file_count
select Strings list
current_file$ = Get string... x
Read from file... 'source_directory$''current_file$'
name$ = selected$ ("Sound")
 
To Intensity... 100 0
select Intensity 'name$'
start = 0
end = 10
min_int = Get minimum... start
... end Parabolic
max_int = Get maximum... start
... end parabolic
mean_int = Get mean... start end
... energy
range_of_int = max_int-min_int
select Intensity 'name$'
Remove
select Sound 'name$'
minimum_pitch = 70
maximum_pitch = 500
 
pitch_silence_threshold = 0.03
pitch_voicing_threshold = 0.45
pitch_octave_cost = 0.01
pitch_octave_jump_cost = 0.35
pitch_voiced_unvoiced_cost = 0.14
 
To Pitch (cc)... 0 minimum_pitch 15 no pitch_silence_threshold
pitch_voicing_threshold
...0.01 0.35 0.14 maximum_pitch
 
plus Sound 'name$'
 
To PointProcess
points = Get number of points
 
select Sound 'name$'
plus Pitch 'name$'
plus PointProcess 'name$'
start = 0
end = 10
maximum_period_factor = 1.3
maximum_amplitude_factor = 1.6
#Voice report... start end minimum_pitch maximum_pitch maximum_period_factor
maximum_amplitude_factor 0.03 0.45
report$ = Voice report... start end minimum_pitch maximum_pitch
maximum_period_factor maximum_amplitude_factor 0.03 0.45
 
meanPitch = extractNumber (report$, "Mean pitch: ")
minPitch = extractNumber (report$, "Minimum pitch: ")
maxPitch = extractNumber (report$, "Maximum pitch: ")
pitch_range = maxPitch-minPitch
 
jitter_loc = extractNumber (report$, "Jitter (local): ") * 100
shimmer_loc = extractNumber (report$, "Shimmer (local): ") *100
mean_nhr = extractNumber (report$, "Mean noise-to-harmonics ratio: ")
 
fileappend "C:\praatoutput\info.txt"
...'jitter_loc:3''tab$'\:3''tab$'
...'shimmer_loc:3''tab$'\:3''tab$'
...'tab$''mean_nhr:4'\'range_of_int:3''newline$'
 
select Sound 'name$'
plus Pitch 'name$'
plus PointProcess 'name$'
Remove
select Strings list
 
endfor
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder