Praat 2: scripting. Wat zijn scripts? Interactie met scripts. Interactie met scripts. Interactie met scripts. Interactie met scripts



Vergelijkbare documenten
1. Introductie tot SPSS

SPSS VOOR DUMMIES+ Werken met de NSE: enkele handige basisbeginselen. Gebaseerd op SPSS21.0 & Benchmarkbestand NSE 2014

MA!N Rapportages en Analyses

In dit document staat beschreven hoe je de meetgegevens vanuit Coach kunt opslaan en later in kunt lezen in Excel en hier een grafiek van kunt maken.

Variabelen en statements in ActionScript

Quick Guide VivianCMS

1. CTRL- en SHIFT-knop gebruiken om meerdere variabelen te selecteren

DATABASEBEHEER IN EXCEL

25 Excel tips. 25 Handige Excel tips die tijd besparen en fouten voorkomen. Ir. Fred Hirdes. Excel-leren.nl.

Hoe te werken met Word en SmarTeam?

Gids voor geautomatiseerd handelen met Proorder

Bij het maken van deze opgave worden de volgende vragen beantwoord:

lesboek Jonker & Wu CAD support

Gebruiksaanwijzing. Versie 1.0. Michiel Bouman

Beknopte handleiding SQ Vieuw software

Werken met Google Docs en Google Drive

1. Document Management

Tutorial 1, Delphi: Geldspraak

Globale kennismaking

Korte uitleg: Wat doet de shell met mijn commandoregel?

ARCHIEFBEHEER. Basis gebruikersgids. > RS-Web

Beknopte handleiding voor de concordancer WordSmith en WConcord

Meer command-line utilities

Automatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at

Selenium IDE Webdriver. Introductie

Javascript oefenblad 1

Een eerste applicatie

Technische Fiche om een commando met een passend icoontje aan te maken in de Ribbon Interface.

User accounts maken in een Wandy Hotspot, d.m.v. een batch.

Handleiding CrisisConnect app beheersysteem

Werkatelier: eenvoudige animatie maken met pivot animator

Quick Guide VivianCMS

Je kan vanuit de RV SiteBuilder steeds terugkeren naar het controlepaneel, via de knop rechts bovenaan.

Badge it. Inhoudsopgave. 1. Installatie... 3

Tips & Tricks: Tip van de maand Mei NX6 User Interface

6.2 VBA Syntax. Inleiding Visual Basic

Matlab-Introductie (les 1)

Beknopte handleiding Dragon NaturallySpeaking. Premium versie 13

OEFENINGEN PYTHON REEKS 1

KSB EasySelect Rondleiding

13. Symbool-, Lijnstijlbibliotheek (Resource Editor)... 1

Het maken, plaatsen en beheren van symbolen (blocks) In deze beschrijving zijn de afbeeldingen uit de windows versie van AutoCad 2013

EDUscope Dossier Werken met Journalen

OEFENINGEN PYTHON REEKS 1

Wat zijn de verschillen tussen SPSS 9 en SPSS 10?

SECRETZIP HANDLEIDING

Factuur Lay-out / Factuur Template

b. Maak een histogram van de verdeling van het groeiseizoen. Kies eerst klassen en maak een geschikte frequentietabel.

Wat is er veranderd in Prezi?

CMS (Content Management Systeem)

Handleiding voor het verzenden van gepersonaliseerde mailings met ACT! 2011, ACTTranslator op Nederlands

Computervaardigheden I

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

MS PowerPoint Les 2. Wanneer we niet te veel tijd willen steken in de opmaak van onze presentatie, kunnen we gebruik maken van sjablonen.

Klik op het pijltje om Alle Excel-bestanden te veranderen in Alle bestanden.

Deze menu-aansturingen zijn van toepassing op versies 14.0 en 15.0 van SPSS.

PYTHON REEKS 1: BASICS. Mathias Polfliet

Excel reader. Beginner Gemiddeld.

Een toekomst voor ieder kind.

Report generator Gegevens zoeken en kolommen selecteren Rapporten opslaan en beheren... 6

Studieplan. Permissie toekennen Beheer studieplan formulieren

OEFENINGEN PYTHON REEKS 1

Handleiding Joomla! Frontend, content en gallery. september 2014 versie 1.0

Wiskunde en ICT 1. Met het lettertype wiskunde.ttf kan je onderstaande wiskundige symbolen invoegen.

Fotografie Sophie Berten Zeelaan De Panne 058/ Fotogeniek - Creative photos Handleiding

1. Achtergronden verwijderen (op basis van Photoshop CS2/CS3)

Courbois Software WebDesignEditor. WYSIWYG-Editor

Korte handleiding GoTalk NOW voor ipad

Report generator Gegevens zoeken en kolommen selecteren Rapporten opslaan en beheren... 6

Handleiding website beheer

Handleiding bij de Booktest Generator

Experiment: massadichtheid

Vergelijkingseditor 2007

Aantekeningen over MATLAB

Spreadsheets (Excel 2003)

1. HOE MAAK IK EEN IPART EN PLAATS IK DEZE IN HET CONTENT CENTER?

Handleiding MailChimp

Formulieren maken met Dreamweaver CS 4/CS 5

PhotoworkZ pop-up website handleiding

Handleiding Basecamp

Programmeren: Visual Basic

Hoofdstuk 20: Wiskundige functies

Sneltoetsen Excel 2010

Handleiding CMS EWall

In deze handleiding wordt uitgelegd hoe een DIN kader gemaakt moet worden en hoe er nieuwe papierformaten aangemaakt moeten worden.

Print Preferences Toelichting. Jonker & Wu CAD support

Ga met uw telefoon naar de onderstaande link om de Xmeye app te downloaden of zoek in de app store naar Xmeye.

PRAAT : Cool Edit. Geluid opnemen en bewerken. Cool Edit Pro

Handleiding installeren en wijzigen handtekening

TOOL. Dataportal JUL 14 / VERSIE

Twee types van invoegtoepassingen

7. Het Klussen logboek

Count-e Statistieken. Statistieken

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

1 De werkmap beschermen

Bijlage bij Getting Started Guide International English Edition

GoTalk Now voor ipad. Korte Nederlandstalige handleiding. aangeboden door

SNEL WERKEN MET EXCEL

Toelichting LBZ foutenrapporten

Excel. Inleiding. Het meest gebruikte spreadsheet programma is Excel.

Transcriptie:

Praat 2: scripting Wat zijn scripts? Overzicht 1. Wat zijn scripts? 2. Open Run Notities 3. Basiselementen van scripts Commands, variables, formulas, jumps en loops 4. met scripts Selecteren Analyseren 1 Scripts Een manier om herhaalde taken te automatiseren Denk aan het schrijven van macro s in andere applicaties, zoals Excel Scripts zijn gewone tekst files: dat betekent dat ze gemaakt kunnen worden met elk programma waarmee je (platte) tekst kunt editen in PRAAT zit ook een script editor Belangrijk: lees de Scripting tutorial in PRAAT (onder Help Scripting tutorial); zie ook de Formulas tutorial 2 Om een nieuw script te maken: PRAAT Object window: Control New Praat Script Om een bestaand script te openen: Control Open Praat Script... Om een script uit te voeren: Script editor menu Run Om slechts een deel van het script uit te voeren: selecteer het deel dat je wilt uitvoeren, klik Run Selection Als je in het script notities wilt maken:! Of # vooraan de regel zetten (voor elke nieuwe regel!) Alle regels die beginnen met deze tekens worden door PRAAT genegeerd 3 4 Als je in het script notities wilt maken:! Of # vooraan de regel zetten (voor elke nieuwe regel!) Alle regels die beginnen met deze tekens worden door PRAAT genegeerd Voor een overzichtelijke lay-out: spring in met enkele spaties of een tab vooraan de regel spaties en tabs aan het begin van regels worden niet gelezen door PRAAT. ook witregels worden genegeerd (maar wel geteld in de regelnummering bij foutmeldingen!) 5 6 1

Voor een overzichtelijke lay-out: spring in met enkele spaties of een tab vooraan de regel spaties en tabs aan het begin van regels worden niet gelezen door PRAAT. ook witregels worden genegeerd (maar wel geteld in de regelnummering bij foutmeldingen!) PRAAT-scripts hoeven geen extensie te hebben als je ze opslaat, maar het mag wel. Je kunt de extensie.txt toevoegen als je het ook zonder PRAAT wilt kunnen inlezen Handig is om het.script te noemen 7 8 Basiselementen van scripts Commands Commands: instructies aan PRAAT om bepaalde acties uit te voeren op één of meer Objects (Sounds, TextGrids etc.), of op het Picture window To Pitch Arguments: vaak de settings uit een dialoogbox To Pitch 0 75 600 Variables: categorieën waarin je informatie opslaat en waarmee je bewerkingen gaat uitvoeren numeriek f0 = Get pitch tekst (string) Let op: begint nooit met een hoofdletter! Formules: numerieke of string-functies om de waarden van variabelen te manipuleren Jumps: gebruikt voor het maken van conditionele statements Loops: om gedeeltes van het script te herhalen Commands Corresponderen meestal met acties die ook met de knoppen uitgevoerd kunnen worden Beginnen meestal met een hoofdletter Als je niet zeker bent over de opmaak van een command: voer het met de hand uit en kies dan Paste History (Ctrl-h) Let op: voordat je een history gaat opnemen : eerst Clear history 9 10 Arguments Variables Arguments Specificeren Commands die eindigen in Corresponderen meestal met settings uit een dialoogbox (popup-formuliertje) Zowel numerieke als tekst-argumenten worden geschreven zonder aanhalingstekens, met spaties ertussen Ook bijv. de correlaten van het kader voor een plaatje in het Teken-venster. (x-as en y-as, ieder twee correlaten van tekenraster) Gebruik Paste History To Formant (burg) 0 5 5500 0.025 50 Variables Twee types: Numerieke variabelen: numerieke waarden String variabelen: ketens van karakters abc_23 Alle variabelen moeten starten met een kleine letter (anders probeert PRAAT het te interpreteren als commands) Namen van variabelen kun je zelf definiëren Namen van variabelen mogen geen spaties,! of ; of # bevatten De naam van een variabele tussen enkele aanhalingstekens wordt vervangen door de waarde van de variabele Select outer viewport 1 6 1 4 11 12 2

Numerieke variabelen Numerieke variabelen = is de variable assignment operator Bijv.: mynumber = 12 slaat de numerieke waarde 12 op in de variabele mynumber PRAAT bevat een aantal voorgedefinieerde mathematische functies die je kunt gebruiken om de waarden van numerieke variabelen te manipuleren (zie sectie 4 van de Formulas tutorial) Bijv.: mynewnumber = sin(mynumber) kent de sinus van mynumber toe aan de nieuwe variabele mynewnumber 13 Sla dit script op als numeric-variables.script Klik op Run 14 Numerieke variabelen String-variabelen String-variabelen moeten eindigen met het karakter $ String-variabelwaarden moeten tussen dubbele aanhalingstekens staan (anders denkt PRAAT dat het variabelnamen zijn) Bijv.: mystring$ = "hello" kent de string hello toe aan de variabele mystring$ De naam van een variabele tussen enkele aanh. wordt vervangen door de waarde van de variabele Bijv.: mystring$ = hello print I say mystring$ Een aantal voorgedefinieerde string-functies kan gebruikt worden om de waarden van string-variabelen te manipuleren (zie sectie 5 van de Formulas tutorial) 15 16 String-variabelen String-variabelen Sla dit script op als string-variables.script Klik op Run 17 18 3

Jumps Worden gebruikt om conditionele uitspraken te creëren Syntax: Jumps if condition Alle statements die in een if-condition staan worden alleen uitgevoerd als de conditie waar is else Alle statements die in een if-condition staan worden alleen uitgevoerd als de conditie niet waar is endif 19 Sla dit script op als if-jump.script Klik op Run 20 Jumps Loops Alles wat binnen de loop valt wordt herhaald uitgevoerd Drie verschillende loop-constructies in PRAAT scripting taal: For-loops: alles wat binnen dit type loop staat wordt een vaststaand aantal keer uitgevoerd Repeat-loops: alles wat binnen dit type loop staat wordt uitgevoerd tot aan een bepaalde conditie is voldaan While-loops: alles wat binnen dit type loop staat wordt uitgevoerd zo lang een bepaalde conditie waar is 21 22 For-loops Syntax: Loops Loops for variable from exp1 to exp2 alle statements die hierin genoemd worden zullen n keer worden uitgevoerd, n representeert het aantal vermeerderingen met een stap van 1 tussen de getallen exp1 en exp2 endfor 23 Sla dit script op als for-loop.script Klik op Run 24 4

Loops Loops + Jumps Pas het script for-loop.script als volgt aan met een if-jump: In een for-loop kun je ook andere forloops of if-jumps inbedden, zoals in dit script met een if-jump is gedaan. Sla dit script op als for-loop_if-jump.script 25 Klik op Run 26 Loops + Jumps Het uitvoeren van akoestische analyses In het SoundEditor-venster kun je interactief allerlei akoestische analyses doen (toonhoogte, formanten, pulses, spectra, etc.) en er allerlei informatie uit extraheren. Met een script kun je dezelfde analyses maken. De corresponderende Objecten moeten dan door het script gegenereerd worden. 27 28 Het uitvoeren van akoestische analyses Om uit te vinden welke informatie uit welk type Object gehaald kan worden: creëer of selecteer een Object en check welke opties er onder de Query-button te vinden zijn. Selecteren en de-selecteren van Objecten select Object type Name selecteert een Object van type Object type met de naam Name select Sound Sine_18 plus Object type Name voegt een Object van het Object type met de naam Name toe aan de voorgaande selectie minus Object type Name de-selecteert het Object van het Object type met de naam Name van de voorgaande selectie Het laast-aangemaakte Object wordt automatisch geselecteerd select all selecteert alle Objecten in het Object-venster Object type Name 29 30 5

Handigheidje voor Loops: Sla alle sounds + evt. textgrids e.d. die je op dezelfde manier wilt bewerken op als een.collection, zodat je ze altijd in één keer kunt openen. Selecteren in Loops: Om het script voor alle Objecten in het Object-venster dezelfde bewerkingen te laten uitvoeren: Laat het script tellen hoeveel Sound-objecten geselecteerd zijn, d.m.v. een numerieke variabele var Maak een string-variabele var$ aan die voor elke cyclus in de loop de naam van het geselecteerde Object aanneemt Laat het script de labels in de Textgrid uitlezen en de metingen doen voor de gelabelde intervallen of punten 31 32 var = selected("object type", n) kent de unieke ID van het n de Object van type Object type toe aan de numerieke variabele var Selecteren in Loops: Numerieke variabele om geselecteerde Objecten te tellen String-variabele als ID voor elk volgende geselecteerde Object D.m.v. deze ID kun je altijd het object selecteren door var te aan te roepen 33 34 Selecteren in Loops: Numerieke variabele om geselecteerde Objecten te tellen String-variabele als ID voor elk volgende geselecteerde Object select all nsounds = numberofselected ("Sound") for isound to nsounds sound'isound'$ = selected$ ("Sound", isound) endfor for isound to nsounds name$ = sound'isound'$ select Sound 'name$' To Pitch... 0.01 75 600 endfor 35 Selecteren in TextGrid: Selecteren van een interval of punt in een TextGrid werkt niet via de History-functie # Binnen dezelfde loop, boven select Sound name$ typ je: select TextGrid name$ label$ = Get label of interval 1 2 # dit is een stringvariabele die het 2e interval op Tier 1 benoemt start = Get starting point 1 2 end = Get end point 1 2 #dit zijn numerieke variabelen die het begin- en het eindpunt van het interval berekenen #Arguments bij Get mean aanpassen: f0 = Get mean start end Hertz 36 6

Buttons Als je een bepaald script vaak moet uitvoeren: Breng het dan onder in een knop in het Objects-venster, (fixed of) dynamic menu: open het script in de script editor of sla het geopende script op kies dan File: Add to dynamic menu in het formuliertje: vul in Class1 = Sound geef de knop via het formuliertje een eigen, eenduidige naam (waar Do it staat) de button zal dan elke keer verschijnen als je een Sound selecteert (je kunt ook een ander object achter Class1 invullen, datgene waar je het script voor gebruikt, bijv. Spectrogram) PRAAT onthoudt dit voor nieuwe sessies, zelfs als je nieuwe updates installeert! Ten slotte Voor meer informatie: Lees de Scripting tutorial (via Objectvenster, Help) Zie ook de PRAAT users-group: http://uk.groups.yahoo.com/group/praat-users/, waar je ook zelf een vraag kunt plaatsen. Vaak beantwoord door Paul Boersma zelf! Mail Paul Boersma / David Weenink, zie www.praat.org je kunt de knop later weer weggooien met Control: Preferences: Buttons 37 38 Meer handige scripts Dit script creëert een lijst van alle files met de opgegeven extensie in de gespecificeerde folder. Deze lijst kun je opslaan als.txt-file en inlezen in een tekstverwerkingsprogramma. Verder opent het script al deze files in het Objectvenster. Vervang D:\MSchreuder\Onderwijs\Klankleer_II_LabPhon\Vocalen door je eigen directory-pad. directory$ = "D:\MSchreuder\Onderwijs\Klankleer_II_LabPhon\Vocalen \" Create Strings as file list... list 'directory$'\*.wav numberoffiles = Get number of strings for ifile to numberoffiles select Strings list filename$ = Get string... ifile Read from file... 'directory$'\'filename$' endfor Voor meer opties: zie Praat Manual: Create strings as a file list LET OP: elk punt moet op 1 regel! 39 Meer handige scripts Deze scriptregel maakt een soort spreadsheet van de resultaten van je analyses en slaat dat op. Je moet het op één regel, binnen een loop zetten. Achter het directory-pad zet je de variabel-namen van de geanalyseerde variabelen tussen enkele quotes, met een spatie ertussen. newline$ zorgt dat je steeds naar de volgende regel gaat. fileappend D:\MSchreuder\Onderwijs\Klankleer_II_Lab Phon\College_scripting\results.txt 'labelvowel$' 'meanf1' 'meanf2' 'newline$' Tip 1: geef oude result-files een andere naam of verwijder de oude file door bovenaan het script dezelfde regel op te nemen met filedelete i.p.v. fileappend, anders worden de nieuwe resultaten onder de oude gezet. Tip 2: om kolomtitels boven de kolommen te zetten: zet vóór de loop hetzelfde directory-pad\results.txt en zet daarachter de kolomtitels Vowel F1 F2 'newline$'. (Dit kan direct onder de regel van filedelete uit Tip 1.) 40 7