Web Analytics Made Easy - Statcounter

Bouncing ideas 생각 작업실/exp sharing 경험.실험 나누기

ChatGPT는 Praat Script 짤줄 몰라

sleepy_wug 2024. 5. 27. 11:43
반응형

0. 요약

ChatGPT는 "할줄 몰라요"라는 말을 하지 않습니다. ChatGPT는 praat script를 잘 짤줄 모르는데, 그것보다 더 큰 문제는 ChatGPT가 "저 praat script 짤줄 몰라요. 자신없어요." 이런 말을 하지 않는다는 것입니다.

 

그래서 고전적인 방법으로, 이전에 다른분들이 만들어놓은 praat script 저장소를 이용합니다. 이 글에서는 그런 저장소를 소개합니다. (제목은 어그로성🤣)

 

목차

     

    robot terrified by praat
    Praat scripting은 여전히 좀 어려움

     

    1. 분명한 한계

    높은 수준에서 이러 저러한 기능을 생각하고 그걸 구현하는 스크립트를 ChatGPT에서 짜달라고 부탁하는 게 효율적인 업무흐름입니다. 분명히 이전에 누군가 구현했을 기능, 혹은 그런 기능의 조합이기 때문에, 새로 바퀴를 만드느라 시간낭비하는 것보다, 기존의 여러 코드베이스에서 학습한 언어모델한테 시키는 게 타당합니다.

     

    그러나 ChatGPT에게 praat script를 대신 짜달라고 부탁하면 십중팔구 작동하지 않습니다. 다용도로 사용되는 다른 프로그래밍/스크립팅 언어들과 달리 praat은 사용자층이 좁고 사용목적이 한정되어있기 때문일 것입니다. 학습데이터가 많아야 안정적인 결과가 나올텐데 학습데이터 자체가 상대적으로 적은 것이겠죠. 더 짜증나는 부분은, 모르는 걸 모른다고 말하지 않고 가장 그럴싸한 (그러나 작동하지 않는) 코드를 뱉어낸다는 것이죠. 그럴 때 여기서는 The model hallucinates (환각상태다) 라고 하는데 한국어 화자들 사이에서도 그런 표현을 쓰는진 모르겠네요.

     

    언어학 블로그라서 덧붙이는 여담입니다만, 인간은 ChatGPT보다 적은 양의 데이터만 학습해도 ChatGPT보다 자연스러운 언어를 구사합니다. 또 재밌는 것은, 학습량이 적은 상태의 인간 언어는 "귀여운데" 학습량이 적은 상태의 ChatGPT는 "불쾌합니다"(uncanny).

     

    각설하고, ChatGPT가 발전하면서 praat script를 잘 짜게 될 날이 오긴 하더라도 당장 고전적인 방식으로 praat script 한땀한땀 짜시는 분들께 도움을 받을 수 있는 자료들을 소개합니다.

     

    2. 자료들

    두말하면 입아프죠. Praat의 공식 설명서입니다. [링크]

     

    Scripting

    This is one of the tutorials of the Praat program. It assumes you are familiar with the Intro. A script is a text that consists of menu commands and action commands. If you run the script (perhaps from a ScriptEditor), the commands are executed as if you c

    www.fon.hum.uva.nl

     

    특히 praat function 목록 페이지가 도움이 됩니다.

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

     

    Functions

    A growing list of functions that you can use in formulas and scripting...  abs (x) – absolute value  abs# (vector#) – absolute value of each element of vector#  abs## (matrix##) – absolute value of each cell of matrix##  appendFile (filePath$, ..

    www.fon.hum.uva.nl

     

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

     

    Formulas 5. Mathematical functions

    Formulas 5. Mathematical functions abs (x) absolute value round (x) nearest integer; round (1.5) = 2 floor (x) round down: highest integer value not greater than x ceiling (x) round up: lowest integer value not less than x sqrt (x) square root: √x, x ≥

    www.fon.hum.uva.nl

     

     

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

     

    Formulas 6. String functions

    Formulas 6. String functions String functions are functions that either return a text string or have at least one text string as an argument. Since string computations are not very useful in the calculator, in settings windows, or in creation and modificat

    www.fon.hum.uva.nl

     

     

    그런데 praat의 공식 설명서는 읽기가 지루하고 재미가 없어요. 그래서 개인적으로 아예 스크립팅을 처음 배울 때에는 (혹은 까먹어서 다시 누가 다시 일깨워줬으면 할 경우에는) 다른 입문 자료들을 더 추천합니다.

     

    University of Zürich 의 Eleanor Chodroff 교수님은 praat, MFA 등 툴을 이용한 코퍼스 음성학 방법론 강연을 많이 하시는데, praat scripting을 소개하는 강연 슬라이드가 초보자에게는 추천할 만합니다. [링크] https://www.eleanorchodroff.com/tutorial/PraatScripting.pdf

     

     

    네덜란드 Radboud University의 SPEAC 랩에서 만든 이 자료는 접근성이 좋은 것 같습니다. [링크]

     

    ...script in Praat | SPEAC | Hans Rutger Bosker

    Here’s a brief intro into the Praat scripting language. We’ll cover how to write and run a script, point you to some tutorials, highlight some of the strange quirks in the Praat scripting language, and provide some scripts we find useful ourselves.

    hrbosker.github.io

     

     

    각 잡고 praat 스크립팅을 공부하고 싶은 사람들에게는 아래의 자료를 추천할만 합니다. 그러나 praat 스크립팅을 공부하는 것만큼 시간낭비도 없습니다. 그 시간에 파이썬을 더 공부하세요.

    https://praatscripting.lingphon.net/

     

    Phonetics on Speed

    Welcome! Over the last years, Praat evolved to a standard tool for phonetic analysis. An increasing number of users with various backgrounds have mastered the basic level of praatology: operating the Praat GUI (graphical user interface). If you are one of

    praatscripting.lingphon.net

     

     

     

    스크립팅 공부하기 싫고 시간도 없고, 그냥 필요한 기능 뚝딱 해주는 스크립트를 찾는다면 스크립트 저장소들이 있습니다. 

     

    UCLA phonetics lab [링크]

     

    Praat script resources

    Praat script resources Page contents         How to use this page         Directory of scripts by type and description         Links: other online collections of Praat scripts How to use this page How to run a script Scripts save Pr

    phonetics.linguistics.ucla.edu

     

     

    NCSU phonetics lab [링크] (파이썬/R 스크립트도 있어요)

     

    Script Repository | NCSU Phonetics Lab

     

    phon.wordpress.ncsu.edu

     

    유명한 음성학 교과서[각주:1] 저자인 Henning Reetz 교수님의 개인 깃헙 repository도 여타 음성학 랩 수준에 상당한 아카이브에요!

    https://github.com/HenningReetz/Praat-scripts

     

    GitHub - HenningReetz/Praat-scripts: Selection of PRAAT scripts

    Selection of PRAAT scripts. Contribute to HenningReetz/Praat-scripts development by creating an account on GitHub.

    github.com

     

     

    3. 결론

    스크립팅은 언어학 연구에서 가장 지루한 부분 중 하나에요. 한 사람이 해 놓은 지루한 길을 다른 사람도 걸을 필요는 없어요. 바퀴는 누가 한번만 발명하면 그저 가져다 쓰면 될 뿐이듯이, praat script도 알려져있는 자료들을 충분히 사용해서 즐겁게 짤 수 있으면 좋겠어요.

     

    자매품으로 [한글 → IPA 전사]도 안 지루하게 자동으로 할 수 있고, [한국어 glossing]도 노력 덜 들이고 빨리빨리 할 수 있어요.ㅋㅋ

     

     

     

     


    • 글이 유익하셨다면 후원해주세요. Toss (국내결제) || BuyMeACoffee(해외결제카드필요)
    • 아래에 댓글창이 열려있습니다. 로그인 없이도 댓글 다실 수 있습니다.
    • 글과 관련된 것, 혹은 글을 읽고 궁금한 것이라면 무엇이든 댓글을 달아주세요.
    • 반박이나 오류 수정을 특히 환영합니다.
    • 로그인 없이 비밀글을 다시면, 거기에 답변이 달려도 보실 수 없습니다. 답변을 받기 원하시는 이메일 주소 등을 비밀글로 남겨주시면 이메일로 답변드리겠습니다.

     

     

     

    1. 사실 저는 이 책으로 공부를 하지 않았어요. Peter Ladefoged 그리고 Keith Johnson의 책으로 공부한 사람입니다.ㅋㅋ 재작년엔가 한번 음운론 수업을 하다가, 학부생들이 음성학을 무슨 교과서로 공부했나, A Course in Phonetics 로 공부했나 물어보니, 그 책을 아예 모르더라고요.ㅠㅠㅠ 이제 옛날 옛적 교과서가 되었나봅니다. 지금세대(?)는 Zsiga랑 Reetz 교수님 교과서가 대세인가봐요. [본문으로]
    반응형