From 0b1734f774de7c854d1084a2441120a76b88e07c Mon Sep 17 00:00:00 2001 From: Rob van Son Date: Sat, 3 Dec 2016 14:32:39 +0100 Subject: [PATCH] Worked on creaky voice --- ToneProt/SGC_ToneProt.praat | 51 ++++++++------------------------------------- 1 file changed, 9 insertions(+), 42 deletions(-) diff --git a/ToneProt/SGC_ToneProt.praat b/ToneProt/SGC_ToneProt.praat index 991e7fa..0d1001b 100644 --- a/ToneProt/SGC_ToneProt.praat +++ b/ToneProt/SGC_ToneProt.praat @@ -137,7 +137,7 @@ procedure sgc_ToneProt sgc_ToneProt.currentSound$ sgc_ToneProt.pinyin$ sgc_ToneP # If there is a third tone, replace creaky voice by low pitch # ################################################################ - if index(sgc_ToneProt.pinyin$, "3") + if 0 and index(sgc_ToneProt.pinyin$, "3") .creakCO = 0.030 .delta = 0.0000001 # Reassign creacky voice parts @@ -187,7 +187,7 @@ procedure sgc_ToneProt sgc_ToneProt.currentSound$ sgc_ToneProt.pinyin$ sgc_ToneP select te.recordedPitch .recordedPitchTier = Down to PitchTier - # Replace creaky voice with low pitch. Low pitch floor is minimumModelFzero + # Devoice creaky voice parts select .voiceTier .numIntervals = Get number of intervals: 1 for .v to .numIntervals @@ -210,71 +210,38 @@ procedure sgc_ToneProt sgc_ToneProt.currentSound$ sgc_ToneProt.pinyin$ sgc_ToneP Add point: .end, .endValue # Interpolate or add low pitch values in between start and end times if the interval is long - if .end - .start > 0.050 - Add point: .start + 0.015, minimumModelFzero - Add point: .end - 0.015, minimumModelFzero + if .end - .start > 0.040 + Add point: .start + .delta, minimumModelFzero + Add point: .end - .delta, minimumModelFzero endif endif endif endfor - # Replace voiceles intervals with 0 Pitch - select .vuvTier - .numIntervals = Get number of intervals: 1 - for .v to .numIntervals - select .vuvTier - .label$ = Get label of interval: 1, .v - if .label$ = "U" - .start = Get starting point: 1, .v - .end = Get end point: 1, .v - if .end > .start - select .recordedPitchTier - # Store begin and endvalues of pitch - .startValue = Get value at time: .start - .endValue = Get value at time: .end - - # Remove all pitch points between start and end - Remove points between: .start, .end - - # Add begin and end values at start and end times - Add point: .start, .startValue - Add point: .end, .endValue - - # Add unvoced values in between start and end times - Add point: .start + .delta, 0 - Add point: .end - .delta, 0 - endif - - endif - endfor - select .recordedPitchTier - Interpolate quadratically: 3, "Semitones" - # Convert new Pitchtier to Pitch object (based on old Pitch object) select te.recordedPitch plus .recordedPitchTier .newPitch = To Pitch -if 0 +# REMOVE +#pause # Move new Pitch object to old Pitch object ID select te.recordedPitch .pitchName$ = selected$("Pitch") - #Remove + Remove te.recordedPitch = .newPitch select .newPitch Rename: .pitchName$ .newPitch = 0 -# REMOVE -pause # Clean up select .jitterShimmer plus .origPointProcess plus .vuvTier + plus .voiceTier plus .recordedPitchTier Remove -endif endif # Remove all pitch points outside a band around the upper sgc_ToneProt.register -- 2.11.4.GIT