Beszédtudományi speciális kollégium - Praat szkriptírás

Mik azok a funkciók?

selectObject: "sound001"
Get total duration



  • Az Object window gombjaival elérhető műveletsorok
    • Ismétlés: ezek a műveletsorok objektumonként külömböznek (objektumorientált szemlélet).
    • DE vannak olyan funkciók is, amik több objektumtípussal is működnek.

Hogy épül fel egy funkció?

selectObject: "sound001"
Draw: 0, 31.184399092970523,
      0, 0, "yes", "Curve"


  • Argumentumok
    • A műveletsor végrehajtását meghatározó paraméterek.
    • A funkció gombjára kattintva felugró ablakban adhatók meg.
    • Rendelkeznek standard értékekkel (alapbeállítások).

A funkciók szintaxisa

selectObject: "sound001"
Draw: 0, 31.184399092970523, 0, 0, "yes", "Curve"
  • Az argumentumokkal rendelkező funkciók szintaxisa:
    • Funkció neve : argumentum1, argumentum2, argumentumN
    • A funkciók mindig nagybetűvel kezdődnek, lehet bennük szóköz
selectObject: "sound001"
Get total duration
  • Nem minden funkciónak vannak argumentumai!

Argumentumok - értéktípusok

  • Numerikus,
  • Szöveges,
  • Logikai,
Draw: 0, 31.184399092970523,
      0, 0, "yes", "Curve"

Mire jók a változók




Kép: kjpargeter / Freepik




  • Tárolóhelyek a számítógép memóriájában.
    • A beléjük helyezett értékekkel objektumokkal műveleteket végezhetünk.
    • Különböző típusú értékeknek más-más tárolóhelyre lehet szüksége.
  • "Változók"
    • Az értékek folyamatosan módosíthatók.

Változók elnevezési konvenciói

#minden esetben kisbetűvel kezdődnek
variable

#nem tartalmazhatnak szóközt!!!
#logikai tagolásuk több módon történhet

variableName
variable_name
variable.name

Mire jók a numerikus változók?

Feladat:

Rajzoltassunk oszcillogrammot a "sound001.wav" időbeli középpontjától a végéig!

Mire jók a numerikus változók?

Feladat:

Rajzoltassunk oszcillogrammot a "sound001.wav" időbeli középpontjától a végéig!

#t = 62.368798185941046/2
total = Get total duration
t = total/2

writeInfo: t

Mire jók a numerikus változók?

  • Bármilyen szám.
  • Mérések végeredményeit tárolhatjuk numerikus változókban, így műveleteket végezhetünk velük, stb.
  • variableName = 3.1
    • Bármilyen számmal vagy művelettel megadható a változó értéke.
    • Megfelelő kimenetű funkciók kimeneti értékével is egyenlővé tehető (lásd Get total duration).
t = 31.1844
t = 62.368798185941046/2

total = Get total duration
t = total/2

Változók használata argumentumként

Manuálisan:

selectObject: "Sound sound001"
Get total duration
#megnézni az eredményt
#számológéppel elosztogatani kettővel
#beírni kézzel a felugró ablakba
Draw: 0, 31.184399092970523, 0, 0, "yes", "Curve"

Változókkal:

selectObject: "Sound sound001"
total = Get total duration
t = total/2
Draw: t, 31.184399092970523, 0, 0, "yes", "Curve"

Sztring változók

  • String: szöveges változótípus.
  • Szöveges információt főként az annotáció (TextGridek) elemzésekor, fájlok eléréséhez, illetve a szkript által előállított output létrehozásához használunk. (És ezen kívül még egy csomó helyen 🙂).
  • szintaxis
    • variableName$ = „szöveg”
    • A változó nevének végén mindig dollárjel! +Szöveget mindig idézőjelben ("szöveg" vagy 'szöveg') adunk meg!
quote$ = "Nolite te bastardes carborundorum"
writeInfoLine: quote$

selectObject: "TextGrid tgrid001"
label$ = Get label of interval: 1, 2
writeInfoLine: label$

Sztringek összefűzése

textBeforeLabel$ = "Az intervallum címkéje: "

selectObject: "TextGrid tgrid001"
label$ = Get label of interval: 1, 2

result$ = textBeforeLabel$ + label$
writeInfo: result$

writeInfo: textBeforeLabel$ + label$ + "."

Numerikus operátorok

+ összeadás
- kivonás
* szorzás
/ osztás
div bennfoglalás
mod bosztás maradéka
x^y hatványozás
< <= > >= összehasonlítás

Szintaxis összefoglaló

#komment

#váltózók definiálása
  #numerikus
  variableName = 5
  variable_2  = 13.2
  #sztring
  variable$ = „text”

#funkciók
  #argumentum nélkül
  Get total duration
  #argumentumokkal
  Get label of interval: 1, 2