Распознавание голоса Unity Undertone не распознает речь со второго разаC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Распознавание голоса Unity Undertone не распознает речь со второго раза

Сообщение Anonymous »

Я использую Undertone для проекта Unity, чтобы распознавать речевой ввод пользователя и расшифровывать его в реальном времени.
Я в значительной степени дублировал пример RealtimeTranscriber.cs, который включены в их демо-сцену и на веб-сайт. Он использует общедоступный движок SpeechEngine и имеет публичное событие TextTranscribed OnTextTranscribed (краткие заголовки прикреплены в конце этого сообщения).
Другой скрипт ( позвольте мне назвать это SpeechCheck.cs) имеет дело с результатом транскрибированного текста, транскрипция была достигнута с помощью прослушивателя и подключения события:
RealtimeTranscriber listener

// In initialize()
// Add a listener for when text is transcribed during initialization
listener.OnTextTranscribed += text =>
{
_text = text;
};

// In Update()
listener.StartListening();
// This is called when the user is supposed to say something
// and the `_text` will be updated with the recognized transcription.

Поскольку пользователь должен говорить как в разговоре, в сцене есть несколько объектов, к которым прикреплен SpeechCheck.cs для различной обработки.При первом использовании SpeechCheck.cs и запуске прослушивателя все работает нормально, _text обновляется и распознавание происходит достаточно точно. Однако после отключения первого объекта с компонентом SpeechCheck.cs второй объект с компонентом SpeechCheck.cs не работает, _text остается пустым.
Чтобы убедиться, что некоторые параметры не удалось сбросить, я даже попытался создать новые компоненты и назначить их во время выполнения:
// Still in SpeechCheck.cs
// In initialize()
Engine = this.AddComponent();

this.AddComponent();
GetComponent().Engine = Engine;

listener = this.GetComponent();

// At the end
listener.StopListening();
Destroy(GetComponent());
Destroy(GetComponent());

И это бесполезно, прослушиватель по-прежнему работает только при первом вызове.
Что могло вызвать эту проблему?
Поскольку на их веб-сайте код не отображается, к нему приложены заголовки методов:
public class RealtimeTranscriber : MonoBehaviour
{
public SpeechEngine Engine;
public event TextTranscribed OnTextTranscribed;
//...

private void Start();
public bool VADTriggered (float[] samples);
private IEnumerator TranscribeCoroutine();
public void StartListening();
public void StopListening();
private async Task TranscribeAudioClipAsync(float[] samples, bool flush);
private void RecalculateWindowSize();
private void OnDestroy();

}


Подробнее здесь: https://stackoverflow.com/questions/787 ... nd-time-be
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»