# Benutzerabfrage (Tier-Nummer, Pausenlabel und On-/Offset) form Sprechgeschwindigkeitsanalyse comment In welchem Tier sind die Pausen und Silben annotiert? integer Tier_Nr 1 comment Mit welchem Label sind Pausen etikettiert? comment (Keine Leerzeichen erlaubt!) word Pausenlabel

comment Soll die erste und letzte Pause exkludiert werden? choice AnfangEnde_exkludieren 1 button Ja button Nein endform # Basisdaten erheben und Variablen initiieren clearinfo textgrid = selected ("TextGrid") noi = Get number of intervals: tier_Nr gesamtDauer = Get total duration appendInfoLine: "Dauer der Aufnahme: ", fixed$ (gesamtDauer, 2), " s" startLabel = 1 endLabel = noi anzahlSilben = 0 anzahlPausen = 0 pausenDauer = 0 # Wenn On- und Offset exkludiert werden sollen... if anfangEnde_exkludieren = 1 erstesLabel$ = Get label of interval: tier_Nr, 1 letztesLabel$ = Get label of interval: tier_Nr, noi # Testen, ob das erste Label wirklich eine Pause ist # Wenn ja, Pausendauer von der Gesamtdauer abziehen if erstesLabel$ = pausenlabel$ start = Get start point: tier_Nr, 1 ende = Get end point: tier_Nr, 1 dauer = ende - start gesamtDauer = gesamtDauer - dauer startLabel = 2 endif # Testen, ob das letzte Label wirklich eine Pause ist # Wenn ja, Pausendauer von der Gesamtdauer abziehen if letztesLabel$ = pausenlabel$ start = Get start point: tier_Nr, noi ende = Get end point: tier_Nr, noi dauer = ende - start gesamtDauer = gesamtDauer - dauer endLabel = noi - 1 endif appendInfoLine: "Dauer ohne erste/letzte Pause: ", fixed$ (gesamtDauer, 2), " s" endif # Schleife durch die Intervalle for n from startLabel to endLabel label$ = Get label of interval: tier_Nr, n if label$ = pausenlabel$ # Pausen zählen anzahlPausen = anzahlPausen + 1 start = Get start point: tier_Nr, n ende = Get end point: tier_Nr, n dauer = ende - start # Pausendauer aufaddieren pausenDauer = pausenDauer + dauer else # Silben zählen anzahlSilben = anzahlSilben + 1 endif endfor # Sprechgeschwindigkeit (inkl. und exkl. Pausen) berechnen dauerOhnePausen = gesamtDauer - pausenDauer sprechGeschw1 = anzahlSilben / gesamtDauer sprechGeschw2 = anzahlSilben / dauerOhnePausen # Ergebnisse ausgeben appendInfoLine: "" appendInfoLine: "Anzahl Silben: ", anzahlSilben appendInfoLine: "Anzahl Sprechpausen: ", anzahlPausen appendInfoLine: "Sprechpausendauer gesamt: ", fixed$ (pausenDauer, 2), " s" appendInfoLine: "" appendInfoLine: "Gesamtdauer inklusive Pausen: ", fixed$ (gesamtDauer, 2), " s" appendInfoLine: "Sprechgeschwindigkeit: ", fixed$ (sprechGeschw1, 2), " Silben/s" appendInfoLine: "" appendInfoLine: "Gesamtdauer exklusive Pausen: ", fixed$ (dauerOhnePausen, 2), " s" appendInfoLine: "Sprechgeschwindigkeit: ", fixed$ (sprechGeschw2, 2), " Silben/s"