Вопрос

Я создаю небольшой виджет silverlight, который произносит слово и выделяет каждый слог в том виде, как он произносится.

В рамках этого я использую Событие SpeechSynthesizer.PhonemeReached для определения времени начала и окончания каждой фонемы (в качестве шага в определении времени начала и конца каждого слога).

Странно то, что PhonemeReachedEventArgs Свойство .Phoneme иногда является управляющим символом, по крайней мере (но, возможно, не исключительно) U + 0004 КОНЕЦ ПЕРЕДАЧИ , включая места, которые не являются окончанием передачи (как, скажем, начало).

Я не могу найти никаких документов о том, что это должно означать, кто-нибудь знает?

РЕДАКТИРОВАТЬ . Чтобы уточнить, я не делаю синтез речи в Silverlight (поскольку это не поддерживается), я делаю это на сервере и возвращаю время границы слога и транскрипцию IPA. слова в заголовке HTTP аудио-ответа. Я, наверное, вообще не должен был упоминать часть с серебряным светом, поскольку она не очень актуальна, я просто не особо задумывался о объяснении контекста. По электронной почте Ой. :)

Это было полезно?

Решение

Если вы пытаетесь выяснить время начала и окончания каждой фонемы (это действительно другой вопрос) ... попробуйте использовать свойство PhonemeReachedEventArgs.Duration. Время начала будет «временем начала фразы» + совокупная продолжительность всех ранее произнесенных фонем. Время окончания будет «временем начала текущей фонемы». + длительность текущей фонемы.

Как ответить на ваши " опубликованные " вопрос, я предполагаю, что вы используете английский в качестве языка синтеза. В этом случае вполне вероятно, что «символы» Вы видите, что на самом деле это индексные значения для Американской английской таблицы фонем . Вы также можете увидеть то же самое с китайскими фонемами Однако японские фонемы имеют представления в Unicode, которые все находятся за пределами «управляющего символа» Диапазон.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top