La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Cédric Gendrot - TAL SLOW 5 - 2003-2004 - ILPGA PROGRAMMER AVEC PRAAT Cédric Gendrot

Présentations similaires


Présentation au sujet: "Cédric Gendrot - TAL SLOW 5 - 2003-2004 - ILPGA PROGRAMMER AVEC PRAAT Cédric Gendrot"— Transcription de la présentation:

1 Cédric Gendrot - TAL SLOW ILPGA PROGRAMMER AVEC PRAAT Cédric Gendrot

2 Cédric Gendrot - TAL SLOW ILPGA Plan n 1- Introduction au langage de Praat n 2- Votre premier script n 3- L'analyse acoustique : le son n 4- Ecrire dans un fichier n 5- L'analyse acoustique : la "TextGrid"

3 Cédric Gendrot - TAL SLOW ILPGA Plan n 1- Introduction au langage de Praat n 2- Votre premier script n 3- L'analyse acoustique n 4- Ecrire dans un fichier n 5- L'analyse acoustique : la "TextGrid"

4 Cédric Gendrot - TAL SLOW ILPGA Programmer??? n Cest un langage de « scripts »… – 1- un langage interprété – 2- d'accès plus abordable (pas du C)…mais... – 3- proche du Visual Basic de Microsoft (suite de Macros améliorées)

5 Cédric Gendrot - TAL SLOW ILPGA Un exemple concret n Réaliser une analyse acoustique grâce à un script! n Prenez votre fichier "Praat Demo" étiqueté…...(étiqueté : cest indispensable si lon veut connaître les caractéristiques de certains phonèmes)

6 Cédric Gendrot - TAL SLOW ILPGA Objectif final ! n Analyser tous les [a] de cet extrait – Fo – valeurs des 3 ers formants – intensité globale – durée

7 Cédric Gendrot - TAL SLOW ILPGA Notez ces commandes - qui peuvent sembler inutiles manuellement - …mais qui seront reproduites par le script

8 Cédric Gendrot - TAL SLOW ILPGA point important n Il sagit de comprendre la logique n Les opérations se dérouleront dans la fenêtre « Praat objects », cest + rapide, et les mêmes commandes sont disponibles

9 Cédric Gendrot - TAL SLOW ILPGA Ces commandes se retrouveront dans la fenêtre "Praat Objects" Ces commandes se retrouveront dans la fenêtre "Praat Objects"

10 Cédric Gendrot - TAL SLOW ILPGA Plan n 1- Introduction au langage de Praat n 2- Votre premier script n 3- L'analyse acoustique n 4- Ecrire dans un fichier n 5- L'analyse acoustique : la "TextGrid"

11 Cédric Gendrot - TAL SLOW ILPGA Votre 1er script! n voici les étapes….pour se mettre dans le bain – 1- ouvrir un script vierge – 2- ouvrir un fichier et sa grille détiquetage... – 3- …puis les insérer dans le script! – 4- sauver le script, puis l'exécuter – 5- ré-utiliser le script plus tard – 6- La notion de chemin – 7- La notion de variable – 8- Nommer les fichiers… pour les (r)appeler

12 Cédric Gendrot - TAL SLOW ILPGA 1- ouvrir un script vierge n Donc désormais, tout se passe dans la fenêtre « Praat Objects » n « Control > New Praat script

13 Cédric Gendrot - TAL SLOW ILPGA

14 2- ouvrir un fichier et sa grille détiquetage... n On va pouvoir écrire dans ce script n Comment ouvrir un fichier par un script ? n Peu de syntaxe à apprendre, il sagit de Macros

15 Cédric Gendrot - TAL SLOW ILPGA En fait... n Toutes les actions réalisées après ouverture de Praat sont enregistrées dans un historique n Il est sage de commencer par "formater cet historique"

16 Cédric Gendrot - TAL SLOW ILPGA

17 3- …puis les insérer dans le script! n Ouvrons donc un fichier et puis copions la syntaxe de laction dans le script… …avec la commande "Paste History" (ou Ctrl+H) qui se trouve juste sous la commande que l'on vient de voir

18 Cédric Gendrot - TAL SLOW ILPGA

19 Votre 1er script! n voici les étapes….pour se mettre dans le bain – 1- ouvrir un script vierge – 2- ouvrir un fichier et sa grille détiquetage... – 3- …puis les insérer dans le script! – 4- sauver le script, puis l'exécuter – 5- ré-utiliser le script plus tard – 6- La notion de chemin – 7- La notion de variable – 8- Nommer les fichiers… pour les (r)appeler – 9- mettre des commentaires

20 Cédric Gendrot - TAL SLOW ILPGA Il suffira ensuite de... n Sauvegarder le script ( File > Save ou Ctrl+s ) n … Puis le lancer ( Run > Run ou Ctrl + r ) …pour répéter la manœuvre !

21 Cédric Gendrot - TAL SLOW ILPGA

22

23 5- ré-utiliser le script plus tard n Pour exécuter ce script un autre jour : – il faudra l'appeler depuis la fenêtre "Praat Objects" –...puis l'exécuter comme d'habitude...

24 Cédric Gendrot - TAL SLOW ILPGA

25

26 Exercice1 n 1- Effacez l'historique… (Clear History) n 2-Ouvrez le fichier son "Track01.wav" et sa grille d'étiquetage "Track01.TextGrid" n 2- Inscrivez l'opération dans un script, sauvegardez le dans le dossier "cours_slow5" (script1 par ex) n 3- Fermez Praat, ouvrez le à nouveau, ouvrez le script et exécutez le

27 Cédric Gendrot - TAL SLOW ILPGA En fait…. n En programmation, les puristes disent : « pas de nom de fichier dans un script » n … et cest bien vrai, mais pour linstant cest plus simple! n Ces notions sont indispensables si lon veut: – lire des fichiers puis écrire les résultats ailleurs – faire des scripts «autonomes »

28 Cédric Gendrot - TAL SLOW ILPGA Votre 1er script! n voici les étapes….pour se mettre dans le bain – 1- ouvrir un script vierge – 2- ouvrir un fichier et sa grille détiquetage... – 3- …puis les insérer dans le script! – 4- sauver le script, puis l'exécuter – 5- ré-utiliser le script plus tard – 6- La notion de chemin – 7- La notion de variable – 8- nommer les fichiers… pour les (r)appeler – 9- mettre des commentaires

29 Cédric Gendrot - TAL SLOW ILPGA 6- La notion de chemin n Allons y progressivement n Il faut connaître la notion de chemin relatif n Admettons que lon donne un chemin unique vers un dossier qui contiendra tout notre travail… – C:\WINDOWS\Bureau\cours_prog_praat\

30 Cédric Gendrot - TAL SLOW ILPGA 7- La notion de variable n Nommons le dans le script : n path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" nom de variable : on peut mettre nimporte quoi toto$ bloublou$ ici cest le chemin donné par Windows !

31 Cédric Gendrot - TAL SLOW ILPGA Point essentiel!!!!!!!! n Voilà le plus grand principe de la programmation : mettre les informations dans des "variables"… n Puisqu'on peut les ré-utiliser ensuite… par exemple l'afficher avec la commande print 'path$'

32 Cédric Gendrot - TAL SLOW ILPGA Quelques « détails »... n Ce qui peut paraître compliqué également: – les signes de ponctuation: " $ ' n En fait Praat est assez permissif…

33 Cédric Gendrot - TAL SLOW ILPGA …ce qu'il faut savoir tout de même n la variable 'toto$' sera mémorisée comme un nom n la variable 'toto' sera mémorisée comme un chiffre n les "..." (ou rien) ne sont pas interprétées n les '….' seront interprétées

34 Cédric Gendrot - TAL SLOW ILPGA Maintenant... n Pour ouvrir les fichiers dans ce dossier… – path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" – file$ = path$ + "track01.wav" – file2$= path$ + "track01.TextGrid" – Read from file... 'file$' – Read from file... 'file2$' Pour linstant ça paraît plus compliqué… mais il faut sy habituer… lutilité deviendra évidente bientôt!

35 Cédric Gendrot - TAL SLOW ILPGA 8- Nommer les fichiers n Un des rares exemples sans macro…une fois que vous avez ouvert un nouvel élément dans la fenêtre "Praat Objects" (que ce soit un son, une grille, une analyse de Fo, formants…) – Read from file... 'file$' – son = selected ( "Sound") – Read from file... 'file2$' – grille = selected ("TextGrid ") nom de variable : on peut mettre nimporte quoi à droite de = cest très strict!

36 Cédric Gendrot - TAL SLOW ILPGA 8 - … pour les rappeler n Sélectionner un son revient à cliquer dessus…voici comment faire "par écrit" – select 'son' – select 'grille' n Glissez une pause entre chaque pour observer les étapes... select 'son' pause select 'grille' pause select 'son' pratique ces pauses! quand le script "plante" toujours au même endroit

37 Cédric Gendrot - TAL SLOW ILPGA 9- mettre des commentaires n Un grand classique !!! n Pour progresser, cest vraiment indispensable…mais aussi pour se souvenir de ce quon a fait 4 mois + tôt ! n Il suffit de commencer une ligne par #

38 Cédric Gendrot - TAL SLOW ILPGA

39 exercice2 1- Indiquez le chemin et ouvrez les 2 mêmes fichiers avec la méthode suivante path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" file$ = path$ + "track01.wav" file2$= path$ + "track01.TextGrid" Read from file... 'file$' Read from file... 'file2$' n 2- Nommez les … "son" et "grille", puis sélectionnez les tour à tour 2 fois, utilisez les pauses pour vérifier que ça fonctionne! n 3- N'hésitez à décrire le tout par des commentaires. n 4 - Utilisez la fonction print pour afficher 'path$', 'file$' et 'son'

40 Cédric Gendrot - TAL SLOW ILPGA exercice2 : solution n Voici une des possibilités # chemin et nom des fichiers à ouvrir path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" file$ = path$ + "track01.wav" file2$= path$ + "track01.TextGrid" # ouverture des fichiers nommés 'son' et 'grille' Read from file... 'file$' son = selected ("Sound") Read from file... 'file2$' grille = selected ("TextGrid") # sélection des sons avec pause pour voir si ça marche! select 'son' pause select 'grille' pause # Affichage dans la fenêtre Info.. 'newline$' permet de passer à la ligne print 'path$' 'newline$' 'file$' 'newline$' 'son'

41 Cédric Gendrot - TAL SLOW ILPGA Plan n 1- Introduction au langage de Praat n 2- Votre premier script n 3- L'analyse acoustique n 4- Ecrire dans un fichier n 5- L'analyse acoustique : la "TextGrid"

42 Cédric Gendrot - TAL SLOW ILPGA Commençons……le principe ! n Comment obtenir nos premières valeurs….? n Comment fait on manuellement???? n Il suffit d'utiliser le menu "Query" qui apparaît lorsqu'un élément est sélectionné...

43 Cédric Gendrot - TAL SLOW ILPGA Les commandes possibles lorsqu'un son est sélectionné !! "Query > …. "

44 Cédric Gendrot - TAL SLOW ILPGA Les commandes possibles lorsqu'une grille d'étiquetage est sélectionné !! "Query > …. "

45 Cédric Gendrot - TAL SLOW ILPGA On a vu... n Pour les analyses manuelles… … il était essentiel de montrer les analyses de Fo (et autres) sur l'écran… pour prendre des mesures ! n Pour les scripts… …il est essentiel d'avoir les analyses sur le "plan de travail" !

46 Cédric Gendrot - TAL SLOW ILPGA Sélectionnez le son en cliquant dessus cliquez sur "Periodicity" pour obtenir un "Pitch Tier"

47 Cédric Gendrot - TAL SLOW ILPGA

48 Query... Le principe est le même pour ….. la Fo Rappel: Sound > Periodicity > To Pitch pour obtenir le "Pitch"

49 Cédric Gendrot - TAL SLOW ILPGA Query... Le principe est le même pour ….. l'analyse formantique Rappel: Sound > Formants & LPC > To Formant(burg) pour obtenir le "Formant"

50 Cédric Gendrot - TAL SLOW ILPGA Query... Le principe est le même pour ….. l'analyse d'intensité Rappel: Sound > To Intensity pour obtenir l'intensité

51 Cédric Gendrot - TAL SLOW ILPGA La difficulté est la suivante !! n Toutes ces commandes requièrent des informations temporelles… n Or ces informations temporelles sont contenues dans la grille d'étiquetage ("TextGrid").

52 Cédric Gendrot - TAL SLOW ILPGA Allons y progressivement ! n Il va falloir mélanger : – 1- les informations prises sur le son – 2- les informations fournies par la "TextGrid" n Commençons par nous familiariser avec la première partie… dans l'exercice 3 !

53 Cédric Gendrot - TAL SLOW ILPGA Utilisons un indice temporel fixe n à 1.08s du début du fichier se trouve... n un [a] dans "Paris" (au milieu du [a]) n Prenons la valeur de Fo à cet instant! Manuellement pour coller la syntaxe……de macros

54 Cédric Gendrot - TAL SLOW ILPGA Sélectionnez le son en cliquant dessus cliquez sur "Periodicity" pour obtenir un "Pitch Tier"

55 Cédric Gendrot - TAL SLOW ILPGA

56

57

58 Il faut maintenant... n … coller ces actions dans le script. – "Edit > Paste History" (ou Ctrl+H) attention ! si vous n'avez pas pris soin de formater l'historique avant les commandes… il peut y avoir beaucoup de lignes!!!

59 Cédric Gendrot - TAL SLOW ILPGA Voici ce qu'on obtient... n Un langage à scripts : "des macros améliorées"… ça veut dire quoi? select Sound track01 To Pitch Get value at time Hertz Linear

60 Cédric Gendrot - TAL SLOW ILPGA Il faudra changer (1) – select Sound track01 en select 'son' pour rendre le script + autonome! select Sound track01 To Pitch Get value at time Hertz Linear select 'son' To Pitch Get value at time Hertz Linear

61 Cédric Gendrot - TAL SLOW ILPGA Il faudra changer (2) n Nommez le "Pitch" si l'on doit s'en servir plus tard…. select 'pitch' select Sound track01 To Pitch Get value at time Hertz Linear select 'son' To Pitch pitch = selected("Pitch") Get value at time Hertz Linear

62 Cédric Gendrot - TAL SLOW ILPGA Il faudra changer (3) n Il faut enregistrer le résultat…. dans une variable bien sûr! c'est un résultat chiffré…donc…pas de $! select Sound track01 To Pitch Get value at time Hertz Linear select 'son' To Pitch pitch = selected("Pitch") toto = Get value at time Hertz Linear

63 Cédric Gendrot - TAL SLOW ILPGA

64 exercice3 n Prenez la valeur de Fo à 1.08s, sauvez la dans une variable, puis affichez la. n 1- Reprenez votre script! n 2- Ouvrez le si vous l'avez fermé n 3- Re-formatez l'historique de Praat (ça se passe toujours dans la fenêtre "...script") n 4- exécutez les opérations (valeur de Fo à 1.08s + affichage) n 5- collez l'action dans le script n 6- améliorez les macros n 7- enregistrez et re-faites tourner.

65 Cédric Gendrot - TAL SLOW ILPGA # chemin et nom des fichiers à ouvrir path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" file$ = path$ + "track01.wav" file2$= path$ + "track01.TextGrid" # ouverture des fichiers nommés son$ et grille$ Read from file... 'file$' son = selected ("Sound") Read from file... 'file2$' grille = selected ("TextGrid") select 'son' To Pitch pitch = selected("Pitch") toto = Get value at time Hertz Linear # Affichage de la variable 'toto'…tt ce qui n'est pas entre '..' est affiché tel quel ! print la valeur de Fo à 1.08 sec du début du fichier est égale à 'toto' Hertz exercice3 : solution

66 Cédric Gendrot - TAL SLOW ILPGA Un détail important ! n # Affichage de la variable 'toto'…tt ce qui n'est pas entre '..' #est affiché tel quel! n print la valeur de Fo à 1.08 sec du début du fichier est égale à 'toto' Hertz permet d'obtenir …

67 Cédric Gendrot - TAL SLOW ILPGA Précision des valeurs !!! n # Affichage de la variable 'toto'…tt ce qui n'est pas entre '..' #est affiché tel quel! n print la valeur de Fo à 1.08 sec du début du fichier est égale à 'toto:2' Hertz permet d'obtenir …

68 Cédric Gendrot - TAL SLOW ILPGA Un autre point! n Les infos affichées ne sont pas automatiquement effacées d'une exécution de script à l'autre n Votre fenêtre "info" commence à être chargée…. n Placez clearinfo à n'importe quel endroit du script et elle sera nettoyée!

69 Cédric Gendrot - TAL SLOW ILPGA Continuons pour ….. - les formants - l'intensité

70 Cédric Gendrot - TAL SLOW ILPGA C'est la même démarche!!! n Nettoyons l'historique

71 Cédric Gendrot - TAL SLOW ILPGA

72

73 Le principe est le même pour ….. l'analyse formantique Rappel: Sound > Formants & LPC > To Formant(burg) pour obtenir le "Formant"

74 Cédric Gendrot - TAL SLOW ILPGA

75

76

77 Il faut maintenant... n … coller ces actions dans le script. – "Edit > Paste History" (ou Ctrl+H) attention ! si vous n'avez pas pris soin de formater l'historique avant les commandes… il peut y avoir beaucoup de lignes!!!

78 Cédric Gendrot - TAL SLOW ILPGA Voici ce qu'on obtient... n Un langage à scripts : "des macros améliorées"… ça veut dire quoi? select Sound track01 To Formant (burg) Get value at time Hertz Linear

79 Cédric Gendrot - TAL SLOW ILPGA Il faudra changer (1) – select Sound track01 en select 'son' pour rendre le script + autonome! select Sound track01 To Formant (burg) Get value at time Hertz Linear select 'son' To Formant (burg) Get value at time Hertz Linear

80 Cédric Gendrot - TAL SLOW ILPGA Il faudra changer (2) n Nommez le "Formant" si l'on doit s'en servir plus tard…. select 'formant' select Sound track01 To Formant (burg) Get value at time Hertz Linear select 'son' To Formant (burg) formant = selected("Formant") Get value at time Hertz Linear

81 Cédric Gendrot - TAL SLOW ILPGA Il faudra changer (3) n Il faut enregistrer le résultat…. dans une variable bien sûr! c'est un résultat chiffré…donc…pas de $! select Sound track01 To Formant (burg) Get value at time Hertz Linear select 'son' To Formant (burg) formant = selected("Formant") f1 = Get value at time Hertz Linear

82 Cédric Gendrot - TAL SLOW ILPGA Pour les autres formants... Il faudra changer ici ….

83 Cédric Gendrot - TAL SLOW ILPGA Le principe est le même pour ….. l'analyse d'intensité Rappel: Sound > To Intensity pour obtenir l'intensité

84 Cédric Gendrot - TAL SLOW ILPGA

85 n valeur de Fo, intensité, 3 premiers formants ….

86 Cédric Gendrot - TAL SLOW ILPGA Plan n 1- Introduction au langage de Praat n 2- Votre premier script n 3- L'analyse acoustique n 4- Ecrire dans un fichier n 5- L'analyse acoustique : la "TextGrid"

87 Cédric Gendrot - TAL SLOW ILPGA Écrire dans un fichier n La prochaine étape sera de mêler ces analyses aux informations fournies par la "TextGrid"… n Mais avant tout 1 conseil indispensable : – 1- afficher le résultat dans un fichier (et non plus sur la fenêtre Info de Praat

88 Cédric Gendrot - TAL SLOW ILPGA Comment afficher le résultat… ? – 2 possibilités – dans la fenêtre "Info" (+ simple) – dans un fichier résultat que l'on créé (+ complet)

89 Cédric Gendrot - TAL SLOW ILPGA Dans la fenêtre "Info" n La commande : print n ….c'est vu !

90 Cédric Gendrot - TAL SLOW ILPGA Afficher le résultat dans un fichier que l'on créé... n la commande la plus simple : fileappend elle permet de créer un fichier de sortie pour enregistrer les résultats… n Pour indiquer où placer ce fichier … on va procéder comme avant...

91 Cédric Gendrot - TAL SLOW ILPGA n # chemin et nom des fichiers à ouvrir n path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" n file$ = path$ + "track01.wav" n file2$= path$ + "track01.TextGrid" n # ouverture des fichiers nommés son$ et grille$ n Read from file... 'file$' n son = selected ("Sound") n Read from file... 'file2$' n grille = selected ("TextGrid")

92 Cédric Gendrot - TAL SLOW ILPGA n # chemin et nom des fichiers à ouvrir n path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" n file$ = path$ + "track01.wav" n file2$= path$ + "track01.TextGrid" n # ouverture des fichiers nommés son$ et grille$ n Read from file... 'file$' n son = selected ("Sound") n Read from file... 'file2$' n grille = selected ("TextGrid")

93 Cédric Gendrot - TAL SLOW ILPGA n # chemin et nom des fichiers à ouvrir n path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" n file$ = path$ + "track01.wav" n file2$= path$ + "track01.TextGrid" n # ouverture des fichiers nommés son$ et grille$ n Read from file... 'file$' n son = selected ("Sound") n Read from file... 'file2$' n grille = selected ("TextGrid")

94 Cédric Gendrot - TAL SLOW ILPGA n # chemin et nom des fichiers à ouvrir n path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" n file$ = path$ + "track01.wav" n file2$= path$ + "track01.TextGrid" n # ouverture des fichiers nommés son$ et grille$ n Read from file... 'file$' n son = selected ("Sound") n Read from file... 'file2$' n grille = selected ("TextGrid")

95 Cédric Gendrot - TAL SLOW ILPGA n outputfile$= path$ + "resultats.xls" n fileappend 'outputfile$' Fo 'tab$' formant1 'tab$' formant2 'tab$' … – sans '….' pour insérer des annotations (très utile!!!) n fileappend 'outputfile$' 'toto:2' 'tab$' 'f1:2' 'tab$' 'f2:2' 'tab$' … – avec '….' pour écrire le contenu des variables

96 Cédric Gendrot - TAL SLOW ILPGA soit... n fileappend 'outputfile$' 'newline$' Fo 'tab$' formant1 'tab$' formant2 'tab$' formant3 'tab$' intensité 'tab$' 'newline$' n Notez qu'on peut/doit insérer... – 'tab$' – 'newline$' n...On pourra ainsi remplir les cases d'une feuille Excel!

97 Cédric Gendrot - TAL SLOW ILPGA

98 exercice5 n 1- à 1.08 secondes du début du fichier – Reprenez le script de l'exercice 3 – Écrivez les résultats dans un fichier "resultats.xls" que vous placerez dans le dossier "cours_slow5" – ds ce fichier, inscrivez sur la 1ère ligne le nom du fichier et sur la 2ème : phonème | Fo | formant1 | …(passez d'une cellule à l'autre avec 'tab$' et d'une ligne à l'autre avec 'newline$') – N'affichez dans la fenêtre "Info" aucun résultat mais affichez l'information suivante : Analyse terminée, les résultats se trouvent dans XXXXXX (dans XXX vous placerez le chemin menant à votre fichier résultat)

99 Cédric Gendrot - TAL SLOW ILPGA # chemin et nom des fichiers à ouvrir path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" file$ = path$ + "track01.wav" file2$= path$ + "track01.TextGrid" outputfile$= path$ + "resultats.xls" fileappend 'outputfile$' 'newline$' Fo 'tab$' phonème 'tab$' fo 'tab$' formant1 'tab$' 'newline$' # ouverture des fichiers nommés son$ et grille$ Read from file... 'file$' son = selected ("Sound") Read from file... 'file2$' grille = selected ("TextGrid") select 'son' To Pitch pitch = selected("Pitch") toto = Get value at time Hertz Linear fileappend 'outputfile$' 'toto' 'newline$' Exercice5 : solution

100 Cédric Gendrot - TAL SLOW ILPGA Plan n 1- Introduction au langage de Praat n 2- Votre premier script n 3- L'analyse acoustique n 4- Ecrire dans un fichier n 5- L'analyse acoustique : la "TextGrid"

101 Cédric Gendrot - TAL SLOW ILPGA Revenons à nos moutons ! n Il va falloir mélanger : – 1- les informations prises sur le son – 2- les informations fournies par la "TextGrid" n On peut passer à la 2ème partie

102 Cédric Gendrot - TAL SLOW ILPGA Mêler le fichier son aux informations de la grille d'étiquetage? n Par définition, la grille d'étiquetage connaît – le nombre total d'intervalles – le début et la fin de chaque intervalle – l'étiquette de chaque intervalle

103 Cédric Gendrot - TAL SLOW ILPGA Les seules fonctions qui vont nous intéresser ici

104 Cédric Gendrot - TAL SLOW ILPGA

105

106

107 Si l'on colle ces actions n Get number of intervals... 1 n Get starting point n Get label of interval Comme vous l'avez sans doute déjà remarqué, la moindre opération est enregistrée......Mais on ne prend que ce qui est intéressant!

108 Cédric Gendrot - TAL SLOW ILPGA Que modifier…? Get number of intervals... 1 Get starting point Get ending point… 1 2 Get label of interval nb_intervalles = Get number of intervals... 1 beg_phoneme = Get starting point fin_phoneme = Get ending point… 1 2 phoneme = Get label of interval d'abord prévoir d'insérer les résultats dans des variables !

109 Cédric Gendrot - TAL SLOW ILPGA Le raisonnement !

110 Cédric Gendrot - TAL SLOW ILPGA Lintervalle est il nommé « a » ? si oui, faire les calculs!

111 Cédric Gendrot - TAL SLOW ILPGA 2 notions indispensables !!! n les boucles de répétition – for ………….. endfor n Les structures de condition – if …………… endif

112 Cédric Gendrot - TAL SLOW ILPGA Littéralement…….répétition n Du 1er intervalle jusqu'au dernier ("for") – prend l'étiquette (quel phonème?) n (fin des instructions) ("endfor ")

113 Cédric Gendrot - TAL SLOW ILPGA Littéralement….…condition n Si l'intervalle est nommé "a" "if" – réalise les actions suivantes... – Get starting point, Get ending point, – formants, Fo et intensité... n (fin des instructions) "endif "

114 Cédric Gendrot - TAL SLOW ILPGA n nb_intervalles = Get number of intervals... 1 n for i from 1 to nb_intervalles n phoneme$ = Get label of interval... 1 i n if (phoneme$ = "a") n beg_phoneme = Get starting point... 1 current_syllable n fin_phoneme = Get end point... 1 current_syllable n phoneme_dur = fin_phoneme - beg_phoneme n fileappend 'outputfile1$' 'phoneme$' 'tab$' 'phoneme_dur' 'newline$' n endif n endfor n … du 1er au dernier intervalle … prend l'étiquette du i ème intervalle … si l'étiquette est un "a" … du 1er au dernier intervalle …. fin … si l'étiquette est un "a" …… fin

115 Cédric Gendrot - TAL SLOW ILPGA nb_intervalles = Get number of intervals... 1 for i from 1 to nb_intervalles phoneme$ = Get label of interval... 1 i if (phoneme$ = "a") beg_phoneme = Get starting point... 1 current_syllable fin_phoneme = Get end point... 1 current_syllable phoneme_dur = fin_phoneme - beg_phoneme fileappend 'outputfile1$' 'phoneme$' 'tab$' 'phoneme_dur' 'newline$' endif endfor

116 Cédric Gendrot - TAL SLOW ILPGA Notez bien ! n On peut soustraire la valeur d'une variable à celle d'une autre en enregistrant la valeur dans une 3ème variable – phoneme_dur = fin_phoneme - beg_phoneme pas d'espace dans les noms de variables

117 Cédric Gendrot - TAL SLOW ILPGA Notez bien ! n On peut soustraire la valeur d'une variable à celle d'une autre en enregistrant la valeur dans une 3ème variable – phoneme_dur = fin_phoneme - beg_phoneme pas de majuscule non plus

118 Cédric Gendrot - TAL SLOW ILPGA Notez bien ! n ça marche aussi pour les variables contenant des mots et non des chiffres ( toto$ || toto ) path$ = "C:\WINDOWS\Bureau\cours_prog_praat\" file$ = path$ + "track01.wav" … comme dans l'exemple que l'on utilise dans notre script

119 Cédric Gendrot - TAL SLOW ILPGA

120 exercice 6 n Terminez l'exercice …. n analysez la Fo, la durée, lintensité et les valeurs des 3 premiers formants de tous les [a] de ce fichier et affichez le résultat dans un fichier Excel (présentation libre… mais soignée!). n consignes : prenez deux types de valeurs – une au milieu de chaque [a] …il faudra déterminer ce milieu grâce aux valeurs de début et de fin des différents [a]. – l autre sera une valeur moyenne calculée sur toute la durée de chaque [a]

121 Cédric Gendrot - TAL SLOW ILPGA Les bonnes habitudes de programmation n Le script ici fonctionne ! … … mais n'est pas très "efficace" en termes de programmation – perte de temps ( :-) ! ) – peu évolutif


Télécharger ppt "Cédric Gendrot - TAL SLOW 5 - 2003-2004 - ILPGA PROGRAMMER AVEC PRAAT Cédric Gendrot"

Présentations similaires


Annonces Google