| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 | //*******************************************************************
// TONES
//*******************************************************************
//*******************************************************************
// REFERENCE MATERIALS
//*******************************************************************
// Collaborative Documentation and Revitalization of Cherokee Tone
// https://scholarspace.manoa.hawaii.edu/bitstream/handle/10125/24630/herrick.pdf
// Tones fall within a range of 80–140 H (pg 21, footnote)
// the mid tone (2) starts at 104 Hz (P1) and falls approximately 2 Hz at of the next four points ending at 96 Hz at P5.
//
// Building Tone Resources for Second Language Learners from Phonetic Documentation
// https://scholarspace.manoa.hawaii.edu/bitstream/10125/24737/hirata-edds_herrick.pdf
//
// Pitch contours taken from Praat chart, pg 295 
//
// (¹) low fall: 106, 102, 97, 92, 88
// (²) low/mid: 104, 100, 98, 97, 96
// (³) high: 108, 109, 110, 111, 112
// (⁴) super high: 109, 113, 118, 122, 127
// (²³) rising: 97, 98, 101, 104, 109
// (³²) falling: 122, 120, 115, 106, 97
// A REFERENCE GRAMMAR OF OKLAHOMA CHEROKEE (2008)
// Short vowels preceding /h/ are devoiced, pg 45 (how to do this espeak-ng?)
// Word final vowels are nasalized
// Vowels are nasalized after a nasal consonant
// Vowels are either long or short; a long vowel takes
// approximately twice as long to pronounce as its
// short counterpart., pg 46
//int pitch1 = 0;
//int pitch2 = 0;
//int pitch_env = 0;
//int amp_env = 0;
//IF (pitch1 >= pitch2) the pitch values get swapped (???)
phoneme 1 // low fall (¹)
  stress
  ipa ˨˩
	//Tone(106, 85, envelope/p_fall, NULL) //need a pitch contour of 106-88 for a
	Tone(49, 28, envelope/p_fall, NULL) //need a pitch contour of 106-88 for a
endphoneme
phoneme 2 // low (²)
  stress
  ipa ˨
  //Tone(105, 93, envelope/p_fall, NULL) //need a pitch contour of 104-96 for a
  Tone(49, 36, envelope/p_fall, NULL) //need a pitch contour of 104-96 for a
endphoneme
phoneme 23 // rising (²³)
  stress
  ipa ˨˧
  Tone(38, 52, envelope/p_rise, NULL) //need a pitch contour of 97-109 for a
endphoneme
phoneme 32 // falling (³²)
  stress
  ipa ˧˨
  //Tone(128, 96, envelope/p_fall, NULL) //need a pitch contour of 122-97 for a
  Tone(69, 37, envelope/p_fall, NULL) //need a pitch contour of 122-97 for a
endphoneme
phoneme 3 // high (³) 
  stress
  ipa ˧
  //Tone(109, 116, envelope/p_rise, NULL) //need a pitch contour of 108-112 for a
  Tone(50, 55, envelope/p_rise, NULL) //need a pitch contour of 108-112 for a
endphoneme
phoneme 4 // extra high rise (⁴)
  stress
  ipa ˧˦
  Tone(52, 73, envelope/p_rise, NULL) //need a pitch contour of 109-127 for a
endphoneme
phoneme 43 // extra high fall (⁴³) - end of word tone
  stress
  ipa ˦˧
  //need a pitch contour of 122-75 for a~
  //Tone(127, 71, envelope/p_fall, NULL)
  Tone(67, 19, envelope/p_fall, NULL)
endphoneme
//*******************************************************************
// LANGUAGE SPECIFIC CONSONANTS (PLOSIVES/STOPS)
//*******************************************************************
//none.
//*******************************************************************
// LANGUAGE SPECIFIC VOWELS
//*******************************************************************
//from phonemes
phoneme : //  lengthen previous vowel by "length"
  virtual
  length 175
endphoneme
// ạ, a
//from ph_en
phoneme A:
  vwl starttype #a  endtype #a
  length 175
  FMT(vowel/aa_2)
endphoneme
// ạ, a, end of word vowel
//from ph_english
phoneme A~
  vwl starttype #a  endtype #a
  length 175
  FMT(vnasal/aa_n2)
endphoneme
// e, ẹ
//from ph_base2
phoneme E
  vwl starttype #e  endtype #e
  length 175
  FMT(vowel/ee_1)
endphoneme
// e, ẹ, final word vowel
//from ph_konkani
phoneme E~
  vwl starttype #e  endtype #e
  length 175
  FMT(vnasal/ee_n2)
endphoneme
// i, ị
//from ph_en
phoneme I
  vwl starttype #i  endtype #i
  length 175
  FMT(vowel/ii_2)
endphoneme
// i, ị, final word vowel
//from ph_konkani
phoneme I~
  vwl starttype #i  endtype #i
  length 175
  FMT(vnasal/ii_n)
endphoneme
// o, ọ
//from ph_base2
phoneme o
  vwl starttype #o  endtype #o
  length 175
  FMT(vowel/o)
endphoneme
// o, ọ, final word vowel
phoneme o~
  vwl starttype #o  endtype #o
  length 175
  FMT(vnasal/o_n)
endphoneme
// u, ụ
//from ph_base2
phoneme u
  vwl starttype #u  endtype #u
  length 175
  FMT(vowel/u_bck)
endphoneme
// u, ụ, final word vowel
phoneme u~
  vwl starttype #u  endtype #u
  length 175
  FMT(vnasal/u_n)
endphoneme
//ṿ, v
//from ph_french
phoneme W~
  vwl starttype #@  endtype #@
  length 175
  FMT(vnasal/W_n)
endphoneme
// fix specific consonents to last long enough to be heard 
phoneme lxx
	import_phoneme base2/l
	length 75
	Tone(105, 93, envelope/p_fall, NULL)
endphoneme
phoneme mxx
	import_phoneme base2/m
	length 75
	Tone(105, 93, envelope/p_fall, NULL)
endphoneme
phoneme nxx
	import_phoneme base2/n
	length 75
	Tone(105, 93, envelope/p_fall, NULL)
endphoneme
phoneme wxx
	import_phoneme base2/w
	length 175
	Tone(105, 93, envelope/p_fall, NULL)
endphoneme
phoneme jxx
	import_phoneme base1/j
	length 75
	Tone(105, 93, envelope/p_fall, NULL)
endphoneme
phoneme hxx
	import_phoneme base1/h
	length 75
	Tone(105, 93, envelope/p_fall, NULL)
	//lengthmod 1
endphoneme
 |