Scripts para Praat.

Volver a Contenidos
Volver a Inicio

0. Los scripts son rutinas de programación muy útiles a la hora de obtener largas listas de datos. Dado que son secuencias de instrucciones, su sintaxis es muy sensible. Los scripts no se deben abrir desde el menú New, sino con el editor de scripts.

1. Cuestiones generales para usar estos scripts:
1.  Los scripts de mediciones funcionan solo con un TextGrid asociado.
2.  Copie el texto del script en el editor de scripts de Praat. No incluya el título. Copie solo lo que está en letra pequeña.
3. Pruebe el script para asegurarse de que funciona correctamente.
4. Guarde el script en una carpeta a la que tenga acceso fácilmente.

Scripts de mediciones
Proporciona la duración de segmentos etiquetados. Enlace.
Este script requiere un TextGrid con a lo menos un estrato de intervalo.
Proporciona la distancia entre dos puntos marcados (para VOT). Enlace.
Este script requiere un TextGrid con dos estratos de puntos. En cada estrato solo debe haber una marca. El resultado que entrega es la resta del tiempo de la marca en el estrato 2 al tiempo de la marca del estrato 1.
Este script se puede usar sucesivamente con distintos objetos y los datos se acumularán en la pantalla.

Proporciona valores de F1 y F2 y los anchos de banda respectivos en puntos etiquetados. Enlace.
Este script requiere un objeto Sound y un TextGrid asociados. El estrato 1 debe ser de punto. Las marcas deben corresponder a puntos en los que se desea tener el valor frecuencial de los formantes 1 y 2. Es recomendable poner la etiqueta de la vocal que se analiza en cada punto.
Proporciona valores de F0 en puntos marcados. Enlace.
Este script requiere objetos: SoundTextGridPitch. Es recomendable que el Pitch esté editado y corregido para evitar valores espurios. Un estrato debe ser de puntos y en él deben estar puestas etiquetas (por ejemplo, la vocal que existe en ese punto).
 

1. Duración de segmentos
form Mediciones de tiempo en un estrato
    word iniciales DRM
    natural estrato 2
endform
clearinfo
printline 'iniciales$'
printline segm'tab$'ms
n = Get number of intervals... 'estrato'
for i to n
    etiqueta$ = Get label of interval... 'estrato' i
       if etiqueta$ != ""
          t1 = Get starting point... 'estrato' i
          t2 = Get end point... 'estrato' i
             tt = t2-t1
          tt = tt*1000
       printline 'etiqueta$''tab$''tt:2'
    endif
endfor

Subir




2. Distancia entre dos puntos (VOT)
# sin clearinfo, acumula los datos en la pantalla
form Especificar sonido
    word sonido
endform
archivo$ = selected$("TextGrid")
select TextGrid 'archivo$'
a = Get time of point... 1 1
b = Get time of point... 2 1
tiempo = b - a
printline 'sonido$''tab$''tiempo:3'


Subir





3. Valores de formantes
# Script que requiere tener seleccionado un objeto sonido
# que ya tiene asociado un TextGrid
# las marcas para obtener valores de fomantes tienen que estar en el estrato 1
# Este script fue realizado por Domingo Román
# para el taller Praat en el Lab (Laboratori de Fonetica, Barcelona, 2006)
#
clearinfo
# datos del informante
form Informante
word iniciales INIC
choice  sexo 1
    button f
    button m
comment Praat en el Lab (DRM, Laboratorio de Fonética, Universidad de Barcelona)
endform

if sexo$ = "m"
    valor = 5000
elsif sexo$ = "f"
    valor = 5500
endif

printline Valor más alto: 'valor' Hz.
printline Caso'tab$'Iniciales'tab$'Sexo'tab$'Tiempo'tab$'Vocal'tab$'F1'tab$'ab1'tab$'F2'tab$'ab2'tab$'Diferencia

# Seleccionar el objeto sound
# crear el objeto formante

# ir al textGrid y buscar las etiquetas y los puntos
# ir al formante y bucar los valores para cada punto
# imprimir valores y las etiquetas


sonido$ = selected$ ("Sound")
select Sound 'sonido$'

To Formant (burg)... 0 5 'valor' 0.025 50

select TextGrid 'sonido$'
ndepunto = Get number of points... 1

for i to ndepunto
    select TextGrid 'sonido$'
    tiempopunto = Get time of point... 1 'i'
    etiquetapunto$ = Get label of point... 1 'i'
    # seleccionar objeto formantes
    select Formant 'sonido$'
    f1 = Get value at time... 1 'tiempopunto' Hertz Linear
    ab1 = Get bandwidth at time... 1 'tiempopunto' Hertz Linear
    f2 = Get value at time... 2 'tiempopunto' Hertz Linear
    ab2 = Get bandwidth at time... 2 'tiempopunto' Hertz Linear
    deltaformantes2_1 = 'f2'-'f1'
    printline 'i''tab$''iniciales$''tab$''sexo$''tab$''tiempopunto:2''tab$''etiquetapunto$''tab$''f1:0''tab$''ab1:0''tab$''f2:0''tab$''ab2:0''tab$''deltaformantes2_1:0'
endfor
select Formant 'sonido$'
Remove


Subir





4. Mide f0
clearinfo

# identifica el estrato
form Estrato que contiene las etiquetas
natural estrato 1
endform


# identifica objetos previamente seleccionados
archivo$ = selected$("Sound")
pitch$ = selected$("Pitch")
textgrid$ = selected$("TextGrid")
select TextGrid 'textgrid$'

#identifica la cantidad de puntos en el estrato
puntos = Get number of points... 'estrato'

# vierte en la pantalla algunas expresiones
printline Valores de f0 en el archivo 'archivo$'
printline
printline etiq'tab$'secs.'tab$'Hz


# comando for

for i from 1 to puntos

select TextGrid 'textgrid$'

t= Get time of point... 'estrato' 'i'

etiqueta$ = Get label of point... 'estrato' 'i'

select Pitch 'pitch$'
f0 = Get value at time... 't' Hertz Linear
printline 'etiqueta$''tab$''t:2''tab$''f0:1'
endfor


Subir



Volver a Contenidos
Volver a Inicio