Praat scripting notes: Difference between revisions

From Helpful
Jump to navigation Jump to search
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#addbodyclass:tag_ling}}
{{#addbodyclass:tag_ling}}
{{ling}}
{{ling}}
https://www.fon.hum.uva.nl/praat/manual/Scripting.html
==Data types and structures==


<!--
<!--


Types
There are broadly two types: numeric and string


Form types
 
  sentence
 
 
In forms, [https://www.fon.hum.uva.nl/praat/manual/Scripting_6_1__Arguments_to_the_script.html] represent types and some GUI filtering of their values
word - string without spaces
  sentence - string with spaces
text - string with spaces
  comment
  comment
real
positive - real > 0
  integer
  integer
  positive
  natural - integer >= 1
 
realvector
positivevector
integervector
naturalvector
boolean
choice
option
infile
outfile
folder
 
 
-->
 
===String operations===
<!--
noext$ = filename$ - ".wav"
Read from file: noext$ + ".wav"
 
writeInfoLine: “The value is ”, b, “.”
 
 
# comment (beginning of line only)
 
not whitespace sensitive (anymore), and people like indenting to suggest structure


-->


Praat info window
===Structures===
* appendInfoLine - add to info window content
* writeInfoLine - replace all info window content with this (you may prefer to use only append, and the occsaional clearinfo)
* clearinfo - clear info window content


* appendInfo
<!--


https://www.fon.hum.uva.nl/praat/manual/Scripting_5_6__Arrays_and_dictionaries.html


String variable names end with dollar, numerics do not
https://www.fon.hum.uva.nl/praat/manual/Scripting_5_7__Vectors_and_matrices.html


-->


==Objects and selections==
<!--


environment$(string$)  https://www.fon.hum.uva.nl/praat/manual/_environment-S_.html
runSystem: https://www.fon.hum.uva.nl/praat/manual/_runSystem_.html
runSubprocess(cmd$) - run command
runSubprocess$(cmd$) - runSubprocess(cmd$) and return its output
runSystem$




Line 53: Line 92:
** selected (type$) - return ID of first selected object of the type
** selected (type$) - return ID of first selected object of the type
** selected (type$, i) - return ID of so-manieth selected object of the type
** selected (type$, i) - return ID of so-manieth selected object of the type
-->
==Files and commands==
<!--
Praat info window
* appendInfoLine - add to info window content
* writeInfoLine - replace all info window content with this (you may prefer to use only append, and the occsaional clearinfo)
* clearinfo - clear info window content
* appendInfo
String variable names end with dollar, numerics do not
fileReadable(path$) - returns 1 if readable, 0 if not
readfile$(path$) - return file contents as string
readfile(path$) - return number from text file
https://www.fon.hum.uva.nl/praat/manual/_readFile-S_.html
environment$(string$)  https://www.fon.hum.uva.nl/praat/manual/_environment-S_.html
runSystem: https://www.fon.hum.uva.nl/praat/manual/_runSystem_.html
runSubprocess(cmd$) - run command
runSubprocess$(cmd$) - runSubprocess(cmd$) and return its output
runSystem$
runScript [https://www.fon.hum.uva.nl/praat/manual/_runScript_.html]
pauseScript [https://www.fon.hum.uva.nl/praat/manual/_pauseScript_.html]
https://www.fon.hum.uva.nl/praat/manual/Scripting_5_8__Including_other_scripts.html
sendsocket fonsg19.hum.uva.nl:6667 display hallo.wav
https://www.fon.hum.uva.nl/praat/manual/Scripting_6_9__Calling_from_the_command_line.html




Line 73: Line 162:
  untitled
  untitled


-->


== ==


<!--


for i from 1 to nFiles
    mycode
endfor


* [ select all
while x < 0
* [ Remove
    x = x + 2 * pi
 
  endwhile
 
String operations
noext$ = filename$ - ".wav"
Read from file: noext$ + ".wav"
 
  writeInfoLine: “The value is ”, b, “.”
 


  # comment (beginning of line only)
  throws = 0
repeat
    eyes = randomInteger (1, 6) + randomInteger (1, 6)
    throws = throws + 1
until eyes = 12
writeInfoLine: "It took me ", throws, " trials to throw 12 with two dice."


not whitespace sensitive (anymore), and people like indenting to suggest structure


for i from 1 to nFiles
  mycode
endfor


if i < 20 and word$ = “STIM”
if i < 20 and word$ = “STIM”
Line 106: Line 194:




'''scripts look like wording, but you won't understand why it works until you figure out the predefined things it's referencing'''


Consider:
Procedures:
Create Strings as file list: "*.wav"
https://www.fon.hum.uva.nl/praat/manual/Scripting_5_5__Procedures.html
num_files = Get number of strings
for i from 1 to num_files
  selectObject: "Strings files"
  filename$ = Get string: i
  basename$ = filename$ - ".wav"
  Read from file: dir$ + basename$ + ".wav"
endfor


Why does "Get number of files" or "Get String" work?
'''Get is a little magical'''








 
==Forms==
Create Strings as file list... list 'source_directory$'/'file_name_or_initial_substring$'*'file_extension$'
<!--
head_words = selected("Strings")
 
 
 
Drawing
 
Erase all
Draw inner box
Erase all
 
 


form presens a form
form presens a form
Line 155: Line 218:
endform
endform


-->




Write to WAV file... 'save_as$'


==Drawing==


<!--


Add menu command...
Erase all
 
Draw inner box
Add action command...
Erase all


-->






https://www.fon.hum.uva.nl/praat/manual/Scripting.html
-->


==External scripting==
==External scripting==
Line 182: Line 246:




-->
==Extending praat==
<!--
Add menu command...
Add action command...
-->
==Unsorted==
<!--
'''scripts look like wording, but you won't understand why it works until you figure out the predefined things it's referencing'''
Consider:
Create Strings as file list: "*.wav"
num_files = Get number of strings
for i from 1 to num_files
  selectObject: "Strings files"
  filename$ = Get string: i
  basename$ = filename$ - ".wav"
  Read from file: dir$ + basename$ + ".wav"
endfor
Why does "Get number of files" or "Get String" work?
'''Get is a little magical'''
* Get mean...
Create Strings as file list... list 'source_directory$'/'file_name_or_initial_substring$'*'file_extension$'
head_words = selected("Strings")




-->
-->

Latest revision as of 13:16, 20 June 2024

Language units large and small

Marked forms of words - Inflection, Derivation, Declension, Conjugation · Diminutive, Augmentative

Groups and categories and properties of words - Syntactic and lexical categories · Grammatical cases · Correlatives · Expletives · Adjuncts

Words and meaning - Morphology · Lexicology · Semiotics · Onomasiology · Figures of speech, expressions, phraseology, etc. · Word similarity · Ambiguity · Modality ·

Segment function, interaction, reference - Clitics · Apposition· Parataxis, Hypotaxis· Attributive· Binding · Coordinations · Word and concept reference

Sentence structure and style - Agreement · Ellipsis· Hedging

Phonology - Articulation · Formants· Prosody · Sound change · Intonation, stress, focus · Diphones · Intervocalic · Glottal stop · Vowel_diagrams · Elision · Ablaut_and_umlaut · Phonics

Speech processing · Praat notes · Praat plugins and toolkit notes · Praat scripting notes

Analyses, models, software - Minimal pairs · Concordances · Linguistics software · Some_relatively_basic_text_processing · Word embeddings · Semantic similarity

Unsorted - Contextualism · · Text summarization · Accent, Dialect, Language · Pidgin, Creole · Natural language typology · Writing_systems · Typography, orthography · Digraphs, ligatures, dipthongs · More linguistic terms and descriptions · Phonetic scripts

https://www.fon.hum.uva.nl/praat/manual/Scripting.html


Data types and structures

String operations

Structures

Objects and selections

Files and commands

Drawing

External scripting

Extending praat

Unsorted