문제

나는 작은 실버 라이트 위젯을 만들고있는 단어를 발음하고 각 음절을 발음 할 때 강조합니다.

이것의 일부로, 나는 그것을 사용하고있다 speechsynthesizer.phonemereached 이벤트 각 음소의 시작 및 종료 시간을 결정합니다 (각 음절의 시작 및 종료 시간을 파악하는 단계).

이상한 점은 그게 phonemereachedeventargs.phoneme 속성 때로는 제어 캐릭터입니다. u+0004 전송 종료, 음, 전송 끝이 아닌 장소를 포함하여 (예를 들어, 시작).

이것이 무엇을 의미하는지에 대한 문서를 찾을 수 없습니다.

편집하다: 명확히하기 위해, 나는 Silverlight에서 음성 합성을하지 않고 (지원되지 않기 때문에) 서버에서 그것을 수행하고 있으며, 음절 경계 시간과 IPA가 오디오 응답의 HTTP 헤더에서 단어의 IPA 전사를 반환하고 있습니다. . 실버 라이트 부분을 전혀 언급해서는 안됩니다. 실제로 관련이 없기 때문에 상황을 설명하는 것에 대해별로 생각하지 않았습니다. OOOPS. :)

도움이 되었습니까?

해결책

각 음소의 시작 및 종료 시간을 알아 내려고한다면 (실제로 다른 질문입니다) ... Phonemereachedeventargs.duration 속성을 사용해보십시오. 시작 시간은 "문구의 시작 시간"이 될 것입니다. 종료 시간은 "현재 음소의 시작 시간" + 현재 음소의 지속 시간입니다.

귀하의 "게시 된"질문에 대답하기 위해, 나는 당신이 영어를 당신의 합성 언어로 사용하고 있다고 가정합니다. 이 경우, 당신이보고있는 "문자"는 실제로 인덱스 값 일 가능성이 높습니다. 미국 영어 음소 테이블. 당신은 또한 동일하게 볼 수 있습니다 중국 전화, 하지만 일본 음소 "제어 문자"범위를 벗어난 유니 코드 표현이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top