Метки времени преобразования текста в речь Google Cloud

Я генерирую речь через API преобразования текста в речь Google Cloud, и я хотел бы выделять слова по мере их произнесения.

Есть ли способ получить отметки времени для произнесенных слов или предложений?


person user2248702    schedule 24.03.2019    source источник
comment
Я не думаю, что вы еще можете сделать это с помощью облака Google, но если вы используете устройство Android и движок Google TextToSpeech, вы можете сделать это: stackoverflow.com/questions/59488998/   -  person Nerdy Bunz    schedule 07.01.2020
comment
Вы можете разбивать предложения на слова как лексемы и создавать или выделять слова своим собственным кодом. Вы также должны правильно настроить параметры и, возможно, использовать поток для одновременной отправки нескольких слов. Не могли бы вы поделиться кодом.   -  person Akash Badam    schedule 10.01.2020


Ответы (2)


Этот вопрос, кажется, стал довольно популярным, поэтому я подумал, что расскажу, чем я закончил. Этот метод, вероятно, будет работать только с английским или похожими языками.

Сначала я разбиваю текст по знакам препинания, которые мешают говорить. Каждое «предложение» переводится в речь отдельно. Полученные аудиофайлы имеют кажущееся случайное количество тишины в конце, которое необходимо удалить перед присоединением к ним, это можно сделать с помощью фильтра FFmpeg silencedetect. Затем вы можете соединить аудиофайлы с соответствующим промежутком. Приблизительные временные метки слова могут быть линейно интерполированы в предложениях.

person user2248702    schedule 01.05.2020

Это можно сделать с помощью версий SSML и v1beta1 API преобразования текста в речь Google Cloud: https://cloud.google.com/text-to-speech/docs/reference/rest/v1beta1/text/synthesize#TimepointType

  1. Добавьте теги <mark> SSML в то место в тексте, для которого вы хотите указать временную метку (возможно, в конце каждого предложения).
  2. Установите для TimepointType значение SSML_MARK. Если это поле не задано, по умолчанию точки времени не возвращаются.
person i_am_momo    schedule 01.10.2020