2016-11-24 2 views
0

Я проделал довольно много snooping по интернету.Text-To-Speech Library (проблема с паузами)

Сейчас я использую библиотеку ResponsiveVoice, за которую я плачу ~ 25 долларов США в месяц. https://code.responsivevoice.org/responsivevoice.js

Проблема в том, что, похоже, вставляются длинные перерывы в текст. Текст сгенерирован пользователем, поэтому он вышел из моего контроля (я не могу оптимизировать структуру предложения, чтобы хорошо звучать).

Я предполагаю, что это проблема с ResponsieVoice. Они признали эту проблему, но говорят, что они ничего не могут с этим поделать. Это поведение текста в речи.

Вот несколько примеров текста, вызывающего проблемы (вставляет паузу).

  • психолог, который принимает кросс-культурный подход мог бы рассмотреть какой из | паузы | следующие влияния?
  • Кто из первых людей использовал методы научных исследований для исследования реакция | пауза | раз?
  • метод исследования мыслительных процессов и | пауза | mind
  • Эго косвенно использует защитные механизмы и | пауза | бессознательно.

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

Я не могу вставлять их ссылки ... из-за моей сочной репутации.

  • naturalreaders
  • Acapela-бокс
  • Oddcast
  • ttsreader
  • Ivona
  • ispeech

Она также может быть проблема реализации, но поддержка ResponsiveVoice сказал, что это нормально Получите эти длинные паузы.

Вот скриншот с консоли, на котором отображается «перерыв», вызывающий паузу.

screenshot of console in chrome

Было бы здорово, чтобы получить некоторое представление от вас, ребята (которые понимают технологию лучше).

ответ

2

У меня была такая же проблема и я нашел причину в моем случае. На нашем сайте текст зачитать был сгенерирован JQuery следующим образом:

$('#text-to-read').text().trim().replace(/(?:\r\n|\r|\n)/g, ''); 

регулярное выражение в конце фактически созданных и табуляций.Я просто должен был настроить регулярное выражение:

$('#text-to-read').text().trim().replace(/\s\s+/g, ' '); 

Я знаю, что это очень редкая причина, может быть, но это могло бы помочь другим там!

Смежные вопросы