как задать точную продолжительность каждого предложения?

Егор Лохман 0 Баллы репутации
2024-07-01T02:27:50.59+00:00

у меня есть данные:

{
    "text": "some_text",
    "start_time": 0.24,
    "end_time": 7.4
},
{
    "text": "some_text",
    "start_time": 7.63,
    "end_time": 15.76
},
{
    "text": "some_text",
    "start_time": 23.27,
    "end_time": 38.569
},
{
    "text": "some_text",
    "start_time": 39.03,
    "end_time": 40.05
},

мне нужно сделать синтез речи из них и я формирую:


<speak version="1.0" xml:lang="en-GB" xmlns="http://www.w3.org/2001/10/synthesis"
       xmlns:mstts="http://www.w3.org/2001/mstts">
    <voice name="en-GB-SoniaNeural">
        <break time="0.24s"/>
        <mstts:audioduration value="7.16s"/>
        <s>
			some text
        </s>
        <break time="0.23s"/>
        <mstts:audioduration value="8.13s"/>
        <s>
			some text
        </s>
        <break time="7.51s"/>
        <mstts:audioduration value="15.299s"/>
        <s>
			some text
        </s>
        <break time="0.539s"/>
        <mstts:audioduration value="1.02s"/>
        <s>some text</s>
    </voice>
</speak>

ssml документ для синтеза речи, но на выходе я получаю речь длительность в 44 секунды вместо 40.05

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

Azure
Azure
Платформа и инфраструктура облачных вычислений для создания, развертывания приложений и служб и управления ими через глобальную сеть центров обработки данных, управляемых корпорацией Майкрософт.
Вопросы: 28
Комментариев: 0 Без комментариев
Голосов: {count}

1 ответ

Сортировать по: Наиболее полезные
  1. Maksim Marinov (Convergys Corporation) 325 Баллы репутации Поставщик Майкрософт
    2024-07-01T08:38:55.3933333+00:00

    Здравствуйте,Возможно сам тип данных сокращает все значения до точки, судя по информации здесь: https://learn.microsoft.com/ru-ru/azure/ai-services/speech-service/speech-synthesis-markup-voice#adjust-the-audio-duration

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