Pitkän äänitiedoston pilkkominen lyhyisiin äänitiedostoihin
Mietta Lennes
23.9.2002
Näillä pikaohjeilla saat pitkästä äänitiedostosta
mahdollisimman helposti eristetyksi suurenkin joukon haluttuja lyhyitä
äänitiedostoja.
Lopputuloksena on joko numeroituja äänitiedostoja tai äänitiedostoja, joilla on tietyt nimet
. (Viimeksimainittu tapaus on helppo hoitaa, jos sinulla on esim. lista sanoista
tai lauseista, jotka puhuja on lukenut ääneen.)
Ennakkovaatimuksena on, että sinulla on leikeltävä
äänitiedosto avattuna Praat-ohjelman
objektilistaan LongSound-tyyppisenä.
- Merkitse pitkästä äänitiedostosta eristettävien
äänipätkien rajat TextGrid-objektiin.
(Ohje: Valitse LongSound-objekti Praatin objektilistasta. Luo tälle
ääniobjektille TextGrid-objekti painamalla oikealla näkyvää
nappia To TextGrid... Nimikointiohjeita löytyy
suomenkielisestä Praat-oppaasta
.)
- Voit ehkä käyttää rajaamisessa hyödyksi
Praat-skriptiä mark_pauses.praat,
joka etsii intensiteetin perusteella LongSound-objektista hiljaisempia
kohtia ja merkitsee ne tauoiksi antamiesi kriteerien (intensiteetin yläraja
tauon aikana; hiljaisen kohdan minimikesto) perusteella. Jos tauon kriteerit
on sopivasti määritelty ja äänite on suhteellisen hyvälaatuinen,
tämä skripti saattaa rajata puhunnokset suhteellisen tarkasti ja
säästää siten jopa tuntitolkulla käsityötä.
Sopivia kriteerejä kannattaa kokeilla etukäteen. Toisaalta skripti
on varsin hidas, joten varaudu käymään kahvilla... (Apua skriptien ajamisessa: ks. suomenkielinen Praat-opas )
- a) Jollei sinulla ole tarkasti tiedossa, mitä kukin äänipätkä
sisältää (esimerkiksi koehenkilön lukemien lauseiden
listaa), mutta haluat säilyttää tämän tiedon esim.
tiedostonimissä (ks. kohta 4 b), kuuntele ja kirjoita haluamasi teksti TextGridiin kunkin
rajatun pätkän kohdalle.
b) Jos sinulla on tekstitiedosto, joka sisältää vaikkapa koehenkilön
lukemat lauseet (1 lause per rivi), voit käyttää skriptiä
label_from_text_file.praat
, joka lukee tekstitiedostosta rivin kerrallaan ja lisää tekstin
järjestyksessä TextGridiin merkittyihin segmentteihin. Huom. Jos
joka toinen segmentti on tyhjä (tauko tms.), pitää tekstitiedostoonkin
lisätä tyhjiä rivejä oikeisiin paikkoihin.
Vinkki homman todelliseen puoliautomatisointiin: Jos äänitiedosto
ei vastaa täysin tekstitiedostoa (esim. puhujasi on lukenut vahingossa
samoja lauseita useita kertoja tai väärin), kannattaa välillä
tarkistaa TextGridistä, missä kohtaa nimikointi menee pieleen,
editoida sitten tekstitiedostoa sopivasti, ja ajaa label-skripti uudelleen.
Tässä tapauksessa voit käyttää saman skriptin nopeampaa
versiota label_quickly_from_text_file.praat
(siihen täytyy itse muokata oikea polku tekstitiedostolle) ja luoda
skriptille painikkeen vaikkapa Praatin objektilistaan. Näin sinun tarvitsee
painaa vain yhtä nappia päivittääksesi TextGridiin uudet
nimikkeet.
(Apua skriptien ajamisessa: ks. suomenkielinen Praat-opas
)
c) Muussa tapauksessa kirjoita mitä tahansa, esim. yksi kirjain, kunkin
tallennettavan pätkän kohdalle TextGridiin. Jätä tyhjiksi
ne kohdat, joita et halua pilkkoa erikseen.
- Tallenna TextGrid-objekti varmuuden vuoksi...
- Valitse Praatin objektilistasta yhtä aikaa sekä alkuperäinen pitkä
ääniobjekti (oltava muodossa LongSound) että vastaava valmiiksi
muokattu TextGrid.
a) Jos haluat että lyhyet äänitiedostot nimetään
juoksevalla numerolla (ja .aiff- tai .wav-tiedostopäätteellä),
aja sitten Praat-skripti save_intervals_to_wav_sound_files.praat
(tekee WAVeja) tai save_intervals_to_aiff_sound_files.praat
(tekee AIFFeja). Näissä skripteissä voit antaa tiedostoille
myös affikseja (vaikkapa tietyn etuliitteen saman puhujan äänitiedostoille).
(Apua skriptien ajamisessa: ks. suomenkielinen Praat-opas
)
b) Jos taas haluat, että lyhyiden tiedostojen nimet määräytyvät
vastaavien TextGridissä olevien segmenttien nimikkeiden
perusteella, käytä Praat-skriptiä save_labeled_intervals_to_wav_sound_files.praat
(tekee WAVeja) tai save_labeled_intervals_to_aiff_sound_files.praat
(tekee AIFFeja). Näissä skripteissä voit antaa tiedostoille
myös affikseja (vaikkapa tietyn etuliitteen saman puhujan äänitiedostoille).
Jos tallennuksessa käytettävällä segmentointitasolla
on useita samannimisiä segmenttejä, tiedoston nimen perään
lisätään juokseva numero, jotteivät nämä segmentit
tallentuisi päällekkäin. Sinun on kuitenkin itse tarkistettava,
etteivät segmenttien nimet sisällä sellaisia merkkejä,
jotka eivät kelpaa tiedostonimiin, tai ettei tiedostonimistä tule
liian pitkiä.
(Apua skriptien ajamisessa: ks. suomenkielinen Praat-opas
)