Azure 语音服务神经语音合成中的长句子出现意外暂停

问题描述 投票:0回答:1

我尝试使用 Azure 语音服务使用超过 500 个字符的神经语音合成长句子,但在给定句子中没有看到 500 个字符处的语音停顿。

我需要合成(使用神经语音)文本中的许多地方,其中有一些很长的句子。 (不,不幸的是,我无法更改它们。)我注意到,在句子中大约 25-28 秒,并且显然在任何句子中总是有 500 个字符时,语音合成器将暂停大约只要一个句子的结尾。句子。我不能有这样的停顿。我在文档中找不到任何地方谈论句子长度限制或任何避免停顿的方法。 (也许使用一些 SSML 标签?)

任何人都可以提供一些关于如何避免这些间隙/暂停的指导吗?

我知道可以编辑生成的 MP3 文件,但我的工作流程不适合这样做。 (即,40,000多个MP3文件,其中任何一个都可能需要重新合成,因为发现了发音错误等,其中超过1200个这些长句子在合成中存在间隙)我真的需要能够将句子合成为MP3 文件,无需手动修复。

对于那些不熟悉如何使用 Azure 语音服务 SDK 从 SSML 合成语音的人,我使用的代码片段如下。但同样,无论使用此代码合成 SSML 还是使用 Azure 语音服务门户,都没有区别。由此产生的 MP3 也有完全相同的问题。

        batchClient = new BatchSynthesisClient(host, speechKey);
        var ssmlFileWithoutExtension = Path.GetFileNameWithoutExtension(ssmlFile);
        Console.WriteLine($"  Enqueuing {ssmlFileWithoutExtension} ({ssmlFile})");
        var ssml = File.ReadAllText(ssmlFile);
        var newSynthesisUri = await batchClient.CreateSynthesisAsync(
            voiceName,
            ssmlFileWithoutExtension,
            "enqueued " + DateTime.Now.ToString("M/d/yyyy h:mmtt"),
            ssml,
            true).ConfigureAwait(false);
        var synthesisId = Guid.Parse(newSynthesisUri.Segments.Last());
// Wait for the job to complete using logic to check for completion
          var synthesis = await batchClient.GetSynthesisAsync(synthesisId).ConfigureAwait(false);
          var downloadUrl = synthesis.Outputs.Result;
          using (HttpResponseMessage response = await batchClient.HttpClient.GetAsync(downloadUrl))
          {
            using (Stream streamToReadFrom = await response.Content.ReadAsStreamAsync())
            {
              using (Stream streamToWriteTo = File.Open(zipFilePath, FileMode.Create))
              {
                await streamToReadFrom.CopyToAsync(streamToWriteTo);
              }
            }
          }

text-to-speech azure-cognitive-services azure-speech
1个回答
0
投票

事实证明,这是 Azure 语音服务的一个基本限制,并且尚未记录在案。 500 个字符是在任意插入重要停顿之前合成的最大句子长度。 (大约与句子末尾的句点一样长)我希望微软的某个人能够记录下来,这样下一个来的人就不会像我一样花费数月和大量的金钱。

© www.soinside.com 2019 - 2024. All rights reserved.