emPros - beszéddallam elemző

Az eszközről

Mire jó? Mit csinál?

A program az élőnyelvi kommunikációban előforduló verbális megnyilatkozások intonációjának elemzésére és lejegyzésére szolgál. Az archivált hangfelvételekből kinyerhető akusztikai paraméterek beszélőnkénti feldolgozása és stilizálása után az interakcióban résztvevők egyedi hangterjedelméhez viszonyítva címkézi fel a megnyilatkozások hanglejtését. Elsősorban több résztvevős interakciók elemzéséhez készült, de felolvasott szövegek, monologikus közlések feldolgozására is használható.

Mi a bemenet?

A társalgást rögzítő hangfájl és egy hozzá tartozó annotáció, amely a megnyilatkozások időbeli pozícióját beszélőnként külön tengelyen (annotációs szinten) tartalmazza. A beszélők számára, a megnyilatkozások tagolására és a feliratok tartalmára vonatkozóan nincs semmilyen megkötés. Az üres címkék a kérdéses beszélő hallgatásaként értelmeződnek. A beszélőváltás annotációjának hiányában a szkript a hangfájl teljes hangzó tartalmát egyetlen beszélőhöz társítja a beszédszünetek automatikus detektálása után.

Mi a kimenet?

A kimenetként kapott annotáció minden beszélő esetén 4 szinten jellemzi a megnyilatkozásokat. Az első szint a megnyilatkozásokat dallammenetekre tagolja, ahol minden dallammenet a "rise", "fall", "descending", "ascending", "level" kategóriák valamelyikét kapja meg. A második szint a dallammenetek kezdő és végpontjait helyezi el a beszélő egyedi, öt szintre felosztott hangterjedelmében (L2 < L1 < M < H1 < H2). A harmadik szint az előző szint relatív értékeihez az eredeti, Hertzben mért értékeket társítja hozzá. A negyedik szint a beszéd zöngés ("V") és zöngétlen ("U") szakaszait különíti el.

Egy példa a működésre.

A forráskód input könyvtárában elhelyezett példa (sample.wav, sample.TextGrid) egy dialógus archivált hangfelvételét (a felvételen az anonimizálás érdekében csak a beszélők intonációja hallható) és a megnyilatkozások beszélőnkénti ("speakerA" és "speakerB") intervallumait tartalmazza. A kimenet az output könyvtárban található sample_pitch.TextGrid fájl, ami 8 (4 + 4) annotációs szinten jegyzi le a megnyilatkozások intonációját. Az átfedő beszédek nem kerülnek elemzésre.

Fejlesztőknek

Forrás https://github.com/szekrenyesi/prosotool
Forrásnyelv Praat (6.0.13) szkript
Input Minimális esetben egy .wav formátumú hangfájl és egy azonos nevű, Praat TextGrid formátumú szövegfájl, de a bemeneti input mappában ezekből tetszőleges számú pár (hang + annotáció) elhelyezhető.
Output Praat TextGrid formátumú szövegfájl, amely az output mappába kerül. Elnevezési konvenció: [bemenet neve] + "_pitch". Az output mappában további, az egyes futtatások részeredményeit tartalmazó (az eredeti bemenetek nevét követő) almappák is keletkeznek. Az "sp_sep" mappában a beszélők hangjának izolált, az átfedő beszédektől megtisztított, az előfeldolgozás során generált verziója található.
Futtatás Praat prosotool.praat <input_path> <stylization> <smoothing> <pitch_extraction> <operating_system>
Az opciók jelentése és értéktartománya:
  • INPUT_PATH : A bemeneti könyvtár elérési útja. Értéktartomány: sztring
  • STYLIZATION : Az F0 görbe stilizálásának felbontása. Magasabb érték erősebb stilizálást (durvább felbontást) eredményez. Értéktartomány: egész szám. Optimális beállítás: 2.
  • SMOOTHING : Az F0 görbe simítását meghatározó paraméter. Alacsonyabb érték erősebb simítást eredményez. Értéktartomány: valós szám. Optimális beállítás: 1.5.
  • PITCH_EXTRACTION : Az F0 mérések paramétereinek (alsó és felső küszöb) meghatározási módja. Értéktartomány: standard | dynamic
  • OPERATING_SYSTEM : Futtatási környezet. Megadása könyvtárműveletek miatt szükséges. Értéktartomány: windows | unix
Licenc GPL