From aa8b87ce692f287f10c81f85ca2a82a2366b2ec1 Mon Sep 17 00:00:00 2001 From: Rob van Son Date: Tue, 29 Nov 2016 17:02:14 +0100 Subject: [PATCH] Added framework for creaky voice pitch change --- ToneProt/SGC_ToneProt.praat | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/ToneProt/SGC_ToneProt.praat b/ToneProt/SGC_ToneProt.praat index 776000f..4b3b4f0 100644 --- a/ToneProt/SGC_ToneProt.praat +++ b/ToneProt/SGC_ToneProt.praat @@ -191,10 +191,10 @@ procedure sgc_ToneProt sgc_ToneProt.currentSound$ sgc_ToneProt.pinyin$ sgc_ToneP .numIntervals = Get number of intervals: 1 for .v to .numIntervals select .voiceTier - .label$ = Get label of interval: 1, .t + .label$ = Get label of interval: 1, .v if .label$ = "creaky" - .start = Get starting point: 1, .t - .end = Get end point: 1, .t + .start = Get starting point: 1, .v + .end = Get end point: 1, .v if .end > .start select .recordedPitchTier # Store begin and endvalues of pitch @@ -208,9 +208,9 @@ procedure sgc_ToneProt sgc_ToneProt.currentSound$ sgc_ToneProt.pinyin$ sgc_ToneP Add point: .start, .startValue Add point: .end, .endValue - # Add low pitch values in between start and end times - Add point: .start + .delta, minimumModelFzero - Add point: .end - .delta, minimumModelFzero + # Interpolate or add low pitch values in between start and end times + #Add point: .start + .delta, minimumModelFzero + #Add point: .end - .delta, minimumModelFzero endif endif @@ -221,10 +221,10 @@ procedure sgc_ToneProt sgc_ToneProt.currentSound$ sgc_ToneProt.pinyin$ sgc_ToneP .numIntervals = Get number of intervals: 1 for .v to .numIntervals select .vuvTier - .label$ = Get label of interval: 1, .t + .label$ = Get label of interval: 1, .v if .label$ = "U" - .start = Get starting point: 1, .t - .end = Get end point: 1, .t + .start = Get starting point: 1, .v + .end = Get end point: 1, .v if .end > .start select .recordedPitchTier # Store begin and endvalues of pitch @@ -246,19 +246,28 @@ procedure sgc_ToneProt sgc_ToneProt.currentSound$ sgc_ToneProt.pinyin$ sgc_ToneP endif endfor - # Convert new Pitchtier to Pitch object (based on old Pitch object) + select te.recordedPitch + plus .recordedPitchTier + .newPitch = To Pitch # Move new Pitch object to old Pitch object ID - - # Remove pitch files etc. + select te.recordedPitch + .pitchName$ = selected$("Pitch") + Remove + te.recordedPitch = .newPitch + select .newPitch + Rename: .pitchName$ + .newPitch = 0 -pause +pause # Clean up select .jitterShimmer plus .origPointProcess plus .vuvTier + plus .recordedPitchTier Remove +pause endif # Remove all pitch points outside a band around the upper sgc_ToneProt.register -- 2.11.4.GIT