|
Opdracht 7 Recognize flat and rising tones Create example tones and use them to recognize tones from real speech.
- New -> Create PitchTier... level 0 0.6
- Modify -> Add point... 0.049 0 & Add point... 0.05 200 & Add point... 0.55 200 & Add point... 0.551 0
- New -> Create PitchTier... rising 0 0.6
- Modify -> Add point... 0.049 0 & Add point... 0.05 100 & Add point... 0.55 200 & Add point... 0.551 0
- Select PitchTier <level|rising> -> To Pitch... 0.02 60 40
- Select Pitch <either one> -> Play -> Hum
- Record your voice imitating the pitch -> Periodicity -> To Pitch... <default settings>
- Select Pitch <either one> AND Pitch <your voice> ->To DTW... 24 10 yes yes no restriction
- Select DTW dtw level_rising -> Query - Get distance (weighted)
- Use the distances to "recognize" the tones
What is the function of the silences (F0=0) at the start and end of the examples? You will see that the spoken tones will not only differ in "form", but also in absolute F0 and range of the movements.
Try to improve recognition by shifting the example tones to the same (top) level of your recorded tones and by changing the range. You can do that by:
- Determine the highest and lowest tone in the recording
- Shift examples to fit the top and range with:
- Select PitchTier <example> -> Modify -> Shift frequencies... 0.0 0.5 <amount> Hertz
- Select PitchTier <example> -> Modify -> Multiply frequencies... 0.0 0.5 <factor>
- Convert to Pitch
- Perform recognition (DTW & distances)
Write a pseudocode program that specifies how to recognize rising and level tones from random input speech.
|
|