Uso de scripts con el programa Praat


Introducción a Praat

Scripts para Praat en la red


Nociones básicas sobre el uso de scripts

Un script es un programa que se ejecuta dentro del programa Praat. Se trata de un documento de texto, guardado en el disco duro del ordenador con la extensión .praat, que contiene una serie de instrucciones escritas en un lenguaje específicamente desarrollado para la creación de scripts.

En el caso de que el script se encuentre en la red y, al descargarlo, el texto del script aparezca en la ventana del navegador, en primer lugar debe seleccionarse y copiarse el texto completo del script.

A continuación, se abre el programa Praat y en el menú Praat se selecciona el comando New Praat script.

script_nuevo.jpg

Se abrirá una ventana en la que se pega el texto copiado del navegador.

script_ventana_0.jpg

Finalmente, el documento con el texto del script se guarda con la extensión.praat mediante la opción Save as... del menú File.

script_guardar.jpg

Los ficheros que contienen un script ya almacenados en el ordenador pueden abrirse mediante dos procedimientos:

script_menu.jpg
script_abrir.jpg

En ambos casos se abre una nueva ventana con el script. Para ejecutarlo, se selecciona la opción Run.

script_ventana.jpg

Uso del historial en la ventana de scripts

El programa Praat guarda en la memoria las operaciones que va realizando el usuario.

Mediante el menú Praat se selecciona el comando New Praat script y se abre una ventana nueva en la que puede guardarse el contenido de la memoria con las operaciones realizadas. Para ello, se emplea la opción Paste history del menú Edit.

script_nuevo.jpg
script_history.jpg

Mediante la opción Clear history del menú Edit se borra el contenido de la memoria.

script_history_clear.jpg

Si se desea guardar el texto copiado en la ventana, se utiliza la opción Save as... del menú File.

script_guardar.jpg

Ejemplo de funcionamiento

Se borra el contenido previo de la memoria mediante la opción Clear history del menú Edit.

En la ventana de objetos de Praat se selecciona un fichero de sonido denominado “Sound En_invierno_norm”.

Mediante el comando To Pitch... en el menú Analyse periodicity se crea un documento “Pitch En_invierno_norm” en la ventana de objetos.

Al pegar el historial (Paste history del menú Edit) en la ventana del script aparece el siguiente texto:

selectObject: "Sound En_invierno_norm"
To Pitch: 0, 75, 600

selectObject: "Sound En_invierno_norm" indica que se ha seleccionado el fichero de sonido denominado “Sound En_invierno_norm”.

To Pitch: 0, 75, 600 indica que se ha aplicado el comando To Pitch... y, en la ventana con las opciones que aparecen para la creación del objeto “Pitch En_invierno_norm” se han seleccionado las siguientes opciones:

Time step (s) = 0
Pitch floor (Hz) = 75
Pitch ceiling (Hz) = 600

script_to_pitch.jpg

El script se guarda mediante la la opción Save as... del menú File, con el nombre que se desee y la extensión .praat.

Si se desea volver a utilizar el script, se abre mediante uno de los dos procedimientos siguientes:

script_menu.jpg
script_abrir.jpg

Para ejecutarlo, se selecciona la opción Run.

sript_to_pitch_run.jpg

Debe tenerse en cuenta que si se ejecuta el script, únicamente funcionará si en la ventana de objetos de Praat existe un documento denominado “Sound En_invierno_norm”.

Reemplazando la primera línea del script por las dos líneas siguientes, se crea el objeto Pitch para el fichero de sonido que se encuentre seleccionado en la ventana de objetos:

sound = selected ("Sound")
selectObject: sound

Añadir un script al menú de la ventana de objetos

Si un script se utiliza a menudo, puede añadirse a uno de los menús en la ventana de objetos o en la ventana de imágenes de Praat.

En la ventana que contiene el script, se selecciona la opción Add to fixed menu... del menú File.

afegir_script_1.jpg

A continuación, se abre una ventana en la que se especifican los elementos siguientes:

afegir_script_2.jpg

Con la configuración que se ha mostrado en la ventana anterior, aparecería un comando Do it... en el menú New de la ventana de objetos de Praat. Con este comando se ejecutaría el script seleccionado en Script file.

afegir_script_3.jpg


Add to fixed menu...

Para eliminar un menú que se ha añadido, en el menú Praat se selecciona Preferences y, a continuación, Buttons.

eliminar_script_1.jpg

Con ello se abre una ventana en la que aparecen todos los menús de Praat. Los añadidos por el usuario van precedidos de la la indicación ADDED.

eliminar_script_2.jpg

Haciendo clic sobre ADDED, el texto cambia a REMOVED, con lo que, al salir del programa, se elimina el menú que se había añadido.

eliminar_script_3.jpg


ButtonEditor

up arrow

Generación de ondas sonoras simples

create_waveforms

Script creado por Niels Reinholt Petersen (Department of Scandinavian Studies and Linguistics, University of Copenhagen) para la generación de diversos tipos de onda sonora.

Petersen, N. R. (2005). create-waveforms. Praat script resources. Los Angeles, CA: Phonetics Laboratory, Department of Linguistics, University of California Los Angeles. Consultado en http://www.linguistics.ucla.edu/faciliti/facilities/acoustic/create_waveforms.txt

Funcionamiento del script

  1. Descarga el scriptcreate_waveforms.praat” en tu ordenador.
  2. Abre el script siguiendo los pasos indicados en “Nociones básicas sobre el uso de scripts”, selecciona un tipo de fuente e introduce los valores de duración, frecuencia fundamental (f0) y de amplitud correspondientes a la onda sonora que desees crear.
  3. En la ventana Praat Objects se crea un documento cuyo nombre empieza por “Sound”, que puedes escuchar y visualizar. Si necesitas información sobre el manejo de Praat, consulta el documento “Introducción a Praat: operaciones básicas”.
create_waveforms.jpg

create_sine_wave

El script “create_sine_wave” permite crear ondas sinusoidales y representarlas en la ventana de dibujo de Praat.

Funcionamiento del script

  1. Descarga el scriptcreate_sine_wave.praat” en tu ordenador.
  2. Abre el script siguiendo los pasos indicados en “Nociones básicas sobre el uso de scripts”, e introduce los valores de duración, frecuencia fundamental (f0) y de amplitud correspondientes a la onda sonora que desees crear. Puedes también introducir un nombre para la señal sonora que se creará.
  3. En la ventana Praat Objects se crea un documento cuyo nombre empieza por “Sound”, que puedes escuchar y visualizar. Si necesitas información sobre el manejo de Praat, consulta el documento “Introducción a Praat: operaciones básicas”.
  4. En la ventana Praat Picture se representa la forma de onda y el espectro de la señal sonora creada.
create_sinewave.jpg
up arrow

Creación automática de un TextGrid

El script “text_grid_maker” permite la creación de un TextGrid para todos los ficheros que se encuentran en un mismo directorio.

“This script opens all the files in some directory that start with a given string. It makes a TextGrid for each of the sound files, then throws the sound file and the TextGrid into the editor so you can make marks.
A form will pop up allowing you to specify your directory and the word to work on. If you don’t want to do it this way, just make sure to leave the “Word” field COMPLETELY BLANK when you run the script -- delete any default value displayed there. Then you will go through all of the files.”

Crosswhite, K. (2007). Text Grid making script. Praat scripts and other materials. Rochester, NY: Center for the Sciences of Language, University of Rochester. Consultado en http://web.archive.org/web/20080112060753/http://www.ling.rochester.edu/people/cross/text-grid-maker.script

Ejemplo de funcionamiento del script

Mediante el scripttext_grid_maker_experimento_vocales.praat” se crea un TextTier con tres niveles de anotación: “enunciado”, “palabra” y “vocal”.

up arrow

Extracción automática de los valores de duración segmental

El scriptduracion_segmentos.praat” extrae los valores de duración de cada intervalo de un TextGrid que contenga una etiqueta y los recoge en un documento en formato .txt con tres columnas (nombre del TextGrid, etiqueta y duración en segundos) separadas por tabuladores.

Extracción automática de los valores de duración de los segmentos etiquetados

Se basa en el script “calculate_segment_durations.praat” creado por Mietta Lennes:

Lennes, M. (2003). calculate_segment_durations.praat. SpeCT - The Speech Corpus Toolkit for Praat. Helsinki: Department of Modern Languages, University of Helsinki. Consultado en https://lennes.github.io/spect/

Ejemplo de funcionamiento del script

  1. Antes de empezar, descarga los ficheros “El_anjo_tiene_norm.TextGrid” y “duracion_segmentos.praat”.
  2. Abre en Praat el fichero “El_anjo_tiene_norm.TextGrid”, que contiene la segmentación y las etiquetas correspondientes a cada segmento del enunciado y selecciónalo en la ventana de objetos. El script únicamente funciona con un TextGrid seleccionado.
  3. Abre en Praat el script “duracion_segmentos.praat” mediante el menú Praat y, a continuación, Open Praat Script.
  4. En la ventana del script, selecciona Run en el menú Run.
  5. Introduce los siguientes datos en la ventana de configuración del script:
  6. duraciones_configuracion.jpg

  7. Al acabar las operaciones realizadas por el script aparece un mensaje y en la carpeta donde has colocado previamente el script se habrá creado un nuevo documento (en este ejemplo, duraciones.txt) con el nombre que hayas introducido en la ventana de configuración del script y con la extensión .txt.
  8. duraciones_mensaje.jpg

  9. En el documento .txt que contiene los resultados del script (en este ejemplo, duraciones.txt) aparecen los datos en filas y columnas; las columnas están separadas por tabuladores y cada fila corresponde a un segmento; la primera columna contiene el nombre del TextGrid seleccionado, la segunda, la etiqueta del segmento y la tercera, su duración en segundos.
  10. duraciones_resultados.jpg

  11. Debe tenerse en cuenta que si no se cambia el nombre del documento (en este caso, “duraciones.txt”), los resultados se van añadiendo en filas sucesivas al mismo documento cada vez que se ejecuta el script.
  12. Si se desea que en el documento con los resultados aparezcan los símbolos del AFI en lugar de los símbolos con la codificación empleada por Praat, debe guardarse el TextGrid en formato Unicode siguiendo las instrucciones que se recogen en el apartado “Conversión al formato Unicode” del documento “La segmentación y el etiquetado de corpus mediante Praat”.
up arrow

Extracción automática de los valores de los formantes

El scriptextraccion_de_formantes_en_tabla.praat” extrae los valores de los formantes de los sonidos de ficheros con grabaciones previamente segmentadas y etiquetadas mediante un TextGrid. Puede funcionar con un único fichero o con todos los documentos (.wav y sus correspondientes .TextGrid) de una carpeta.

extraccion_de_formantes_en_tabla.praat

Se basa en el script “collect_formant_data_from_files.praat” creado por Mietta Lennes:

Lennes, M. (2003). collect_formant_data_from_files.praat. SpeCT - The Speech Corpus Toolkit for Praat. Helsinki: Department of Modern Languages, University of Helsinki. Consultado en https://lennes.github.io/spect/

Ejemplo de funcionamiento del script

  1. Antes de empezar, descarga los ficheros “El_viento_norte.wav”, “El_viento_norte.TextGrid” y “extraccion_de_formantes_en_tabla.praat”.
  2. Abre en Praat el scriptextraccion_de_formantes_en_tabla.praat” mediante el menú Praat y, a continuación, Open Praat Script.
  3. En la ventana del script, selecciona Run en el menú Run.
  4. Introduce los siguientes datos en la ventana de configuración del script:
  5. Al acabar las operaciones realizadas por el script, en la carpeta donde has colocado previamente los ficheros aparecerá un nuevo documento (en este ejemplo, resultados_formantes.txt) con el nombre que hayas introducido en la ventana de configuración del script y con la extensión .txt.
  6. En el documento .txt que contiene los resultados del script (en este ejemplo, resultados_formantes.txt) aparecen los datos en filas y columnas; las columnas están separadas por tabuladores y cada fila corresponde a un segmento.

  7. resultados_extraccion_de_formantes_en_tabla.jpg

    Resultados del scriptextraccion_de_formantes_en_tabla.praat”.

  8. Si se desea que en el documento con los resultados aparezcan los símbolos del AFI en lugar de los símbolos con la codificación empleada por Praat, debe guardarse el TextGrid en formato Unicode siguiendo las instrucciones que se recogen en el apartado “Conversión al formato Unicode” del documento “La segmentación y el etiquetado de corpus mediante Praat”.

No debe olvidarse que los datos obtenidos son el resultado de un análisis automático y que, por lo tanto, es conveniente revisarlos para evitar la presencia de posibles errores en la detección de los formantes.

up arrow

Realización de una carta de formantes a partir de los resultados del análisis mediante Praat

El scriptcarta_formantes_desde_tabla.praat” permite realizar una carta de formantes a partir de los valores de los formantes de los segmentos previamente etiquetados en un TextGrid.

carta_formantes_desde_tabla.praat

Requiere los resultados del scriptextraccion_de_formantes_en_tabla.praat”, mediante el cual se realiza la extracción automática de los valores de los formantes.

También puede utilizarse con una tabla creada manualmente siempre y cuando contenga cuatro columnas separadas por tabuladores: nombre del fichero analizado, nombre de la columna que contiene el etiquetado, valor de F1 y valor de F2 (con los decimales separados por un punto).

Se basa en el script “draw_formant_plot_from_table.praat” creado por Kristine Yu:

Jun, S. A., y Yu, K. (2010). draw_formant_plot_from_table.praat (Scripts lab2-scripts.zip). Ling 104. Experimental phonetics. Los Angeles, CA: Department of Linguistics, University of California Los Angeles. Consultado en http://www.linguistics.ucla.edu/people/grads/krisyu/teaching/lx104f10

Ejemplo de funcionamiento del script

  1. Abre en Praat el documento .txt con los resultados del script “extraccion_de_formantes_en_tabla.praat” (en este ejemplo, resultados_formantes.txt) o una tabla con este mismo formato mediante el comando Read from file que se encuentra en el menú Open.
  2. Abre en Praat el scriptcarta_formantes_desde_tabla.praat” mediante el menú Praat y, a continuación, Open Praat Script.
  3. En la ventana del script, selecciona Run en el menú Run.
  4. Introduce los siguientes datos en la ventana de configuración del script:

  5. configuracion_carta_formantes_desde_tabla.jpg

    Menú de configuración del scriptcarta_formantes_desde_tabla.praat”.

  6. Selecciona Apply en la ventana de configuración del script.
  7. En la ventana Praat Picture se dibuja la carta de formantes correspondiente al segmento seleccionado; el área de dibujo se especifica en el script.
  8. resultados_e_carta_formantes_desde_tabla.jpg

    Resultados del scriptcarta_formantes_desde_tabla.praat”.

  9. Cambiando la etiqueta correspondiente al segmento y sin cerrar ni borrar la ventana Praat Picture se añaden sucesivamente segmentos a la carta de formantes. Para ello, al principio del script se emplea la opción Superponer al gráfico existente.
  10. configuracion_2_carta_formantes_desde_tabla.jpg

    Menú de configuración del scriptcarta_formantes_desde_tabla.praat” para la superposición de los campos de dispersión de diferentes segmentos.

    resultados_e_a_carta_formantes_desde_tabla.jpg

    Resultados del scriptcarta_formantes_desde_tabla.praat” superponiendo los valores correspondientes a dos segmentos.

  11. La imagen puede guardarse mediante el comando Copy to clipboard en el menú File o en el menú Edit de la ventana Praat Picture.

Si para una determinada etiqueta existen 4 casos o menos (por ejemplo, 4 o menos casos de [u] en el corpus), aparece el mensaje The SCCP will not have full dimensionality. Este mensaje puede ignorarse.

up arrow

Búsquedas en un conjunto de ficheros TextGrid con anotaciones

El scriptbusqueda_en_TextGrid.praat” permite buscar en las transcripciones o anotaciones que se encuentran en un conjunto de ficheros TextGrid. Se basa en Grawunder (2010) find_tier_content_1g.praat (Leipzig: Department of Linguistics, Max-Planck-Institute for Evolutionary Anthropology) y en Lennes (2011), mencionado más adelante.

busqueda_en_TextGrid.praat

Antes de utilizarlo deben tenerse en cuenta algunas cuestiones:

busqueda_en_TextGrid.jpg

Ventana de configuración del script busqueda_en_TextGrid.

Otro script que permite igualmente realizar búsquedas en ficheros TextGrid es “search_corpus.praat”.

This script searches for intervals or points in a specific tier that match the given criteria.

According to the user’s choice, the resulting items (with an optional time margin) can be
- displayed one by one in a TextGrid editor with the corresponding sound file
- saved after the user has made changes to the annotation of each matching item
- kept in the Object list as small TextGrids and Sounds
- saved as sound and TextGrid files
- analysed according to a user defined procedure

There may be several TextGrid files associated with the same Sound file, with two conditions:
In this case, each tier name should appear only once.
Moreover, the files should be named as soundname_gridlabel.TextGrid, where
soundname corresponds to the name of the sound file (without file extension)
and gridlabel can be anything that is separated from the soundname with an underscore.
(You can use this feature for splitting too many annotation tiers into several files.)

This script is distributed under the GNU General Public License.
Mietta Lennes 19.2.2009
- Modified, "genericized", added a possibility to run further analyses on the matching items:
27.9.2011 (ML)

Lennes, M. (2011). search_corpus.praat. SpeCT - The Speech Corpus Toolkit for Praat. Helsinki: Department of Modern Languages, University of Helsinki. Consultado en http://www.helsinki.fi/~lennes/teaching/aisv/stuff/search_corpus.praat

up arrow

Creación de figuras

Algunos scripts disponibles en la red para la creación de figuras:

create_pictures-with-tiers.praat

This script creates and saves pictures (PNG, PDF, wmf, eps, PraatPic) of all the Sound and TextGrid files it finds in a folder.
The pictures contain a waveform (optional), a spectrogram (optional), the F0 track (optional) and a the content of the tiers of the TextGrid associated with the sound file (optional).
Wendy Elvira-García
wendyelviragarcia@gmail.com
v.4.4, April 2017)
The first version of this script was inspired by:
draw-waveform-sgram-f0.praat
Pauline Welby (2003) with the modifications made by Paolo Roseano (2011)

Elvira García, Wendy (2017). Create pictures with tiers v.4.4. Praat script. Scripts de Praat. Barcelona: Laboratori de Fonètica, Universitat de Barcelona. Consultado en http://stel.ub.edu/labfon/sites/default/files/create-pictures-v4.4.praat

draw-waveform-pitchtrack-spectrogram.praat

Draws waveform, pitch track, and spectrogram, and optionally a TextGrid of the same name.
The user selects a sound object in the object list, and fills out a form.
The user may indicate where they want the picture saved to, and in what format (PDF, EPS, or PNG).
If the user indicates there is a TextGrid with the same name as the sound file in the object list, it will be part of the picture.
The f0 values are settings for the pitch analysis, and the f0 window is automatically adjusted.
Byron Ahn (byronahn@bu.edu)
March 12, 2015
Based heavily on a script by Pauline Welby (welby@ling.ohio-state.edu, welby@icp.inpg.fr) from November 20, 2005

Ahn, B. T. (2015). draw-waveform-pitchtrack-spectrogram.praat. Praat scripts for drawing and saving figures with the waveform, pitch track, and spectrogram. Boston, MA: Boston University Linguistics Program. Consultado en http://byronahn.com/pub/draw-waveform-spectrogram-pitchtrack.praat

draw-waveform-pitchtrack-spectrogram-overlaid.praat

Draws waveform, alongside the pitch track overlaid on top of the spectrogram, and optionally a TextGrid of the same name.
The user selects a sound object in the object list, and fills out a form.
The user may indicate where they want the picture saved to, and in what format (PDF, EPS, or PNG).
If the user indicates there is a TextGrid with the same name as the sound file in the object list, it will be part of the picture.
The f0 values are settings for the pitch analysis, and the f0 window is automatically adjusted.
Byron Ahn (byronahn@bu.edu)
March 12, 2015
Based heavily on a script by Pauline Welby (welby@ling.ohio-state.edu, welby@icp.inpg.fr) from November 20, 2005

Ahn, B. T. (2015). draw-waveform-pitchtrack-spectrogram-overlaid.praat. Praat scripts for drawing and saving figures with the waveform, pitch track, and spectrogram. Boston, MA: Boston University Linguistics Program. Consultado en http://byronahn.com/pub/draw-waveform-spectrogram-pitchtrack-overlaid.praat

plotSonaOsciGrid

This is a Praat[5.3.49]-Script to simplify plotting sonagrams with oscillograms, and annotations.
In order to run this script:
- You need to install and run Praat: http://www.fon.hum.uva.nl/praat/
- Load a Sound file (Praat Objects menu: Open -> Read from file...)
- Load or create a Praat-TextGrid (with the same name as the loaded Sound)
- Select either the Sound or the TextGrid Object in the Praat Objects Window
- Load this file as Praat-Script (Praat Objects menu: Praat -> Open Praat script...)
- Run it (Script editor menu: Run -> Run)
Input:
- Praat Sound object
- Praat TextGrid object with same name as the sound
Output:
- image file(s) (eps or wmf)
OR
- manually print picture(s) via PostScript printer AND/OR copy picture(s) to clipboard
Author: Markus Brückl, TU Berlin, 2014

Brückl, M. (2014). plotSonaOsciGrid. (Speech) Signal Analysis - Algorithms - Publications. Berlin: Institut für Sprache und Kommunikation, Technische Universität Berlin. Consultado en http://www.brykl.de/plotSonaOsciGrid.praat

Pueden encontrarse más scripts para la creación de figuras en:

Toscano, J. (s. f.). Drawing. Praat Script Archives. Consultado en http://sites.google.com/site/praatscripts/system/app/pages/search?scope=search-site&q=drawing

up arrow

Introducción a Praat

Scripts para Praat en la red


Uso de scripts con el programa Praat
Joaquim Llisterri, Departament de Filologia Espanyola, Universitat Autònoma de Barcelona

Last updated: