Получение результатов распознавания речи

Справочная документация | Пакет (NuGet) | Дополнительные примеры в GitHub

В этом руководстве вы узнаете, как использовать результаты распознавания речи.

Синхронизация речи

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

Служба "Речь" возвращает смещение и длительность распознаваемой речи.

  • Смещение: смещение в распознаваемом аудиопотоке, выражаемое в виде интервала времени. Смещение измеряется в тактах, начиная с 0 (нулевого) такта, связанного с первым звуковым байтом, обработанным пакетом SDK. Например, смещение начинается при запуске распознавания, так как это происходит, когда пакет SDK начинает обработку звукового потока. Один такт представляет собой 100 наносекунд (или одну десятимиллионную долю секунды).
  • Длительность: длительность распознаваемого речевого фрагмента. Длительность в тактах не включает в себя конечный или начальный период тишины.

Конец одного речевого фрагмента определяется путем прослушивания тишины в конце. Окончательный результат распознавания будет получен только после завершения распознавания речевого фрагмента. В ходе распознавания событий появляются промежуточные результаты, которые могут быть изменены во время обработки звукового потока. Распознанные события будут предоставлять окончательный транскрибированный текст после завершения обработки речевого фрагмента.

Распознавание смещения и длительности

С помощью события Recognizing можно получить смещение и длительность распознаваемой речи. Смещение и длительность для каждого слова недоступны во время распознавания. Каждое событие Recognizing сопровождается текстовой оценкой речи, распознанной до текущего момента.

В этом фрагменте кода показано, как получить смещение и длительность события Recognizing.

speechRecognizer.Recognizing += (object sender, SpeechRecognitionEventArgs e) =>
    {
        if (e.Result.Reason == ResultReason.RecognizingSpeech)
        {        
            Console.WriteLine(String.Format ("RECOGNIZING: {0}", e.Result.Text));
            Console.WriteLine(String.Format ("Offset in Ticks: {0}", e.Result.OffsetInTicks));
            Console.WriteLine(String.Format ("Duration in Ticks: {0}", e.Result.Duration.Ticks));
        }
    };

Распознавание смещения и длительность

После распознавания речевых фрагментов можно получить смещение и длительность распознанной речи. С помощью события Recognized можно также получить смещение и длительность для каждого слова. Чтобы запросить смещение и длительность каждого слова, сначала необходимо задать соответствующее свойство SpeechConfig, как показано ниже:

speechConfig.RequestWordLevelTimestamps();

В этом фрагменте кода показано, как получить смещение и длительность события Recognized.

speechRecognizer.Recognized += (object sender, SpeechRecognitionEventArgs e) =>
    {
        if (ResultReason.RecognizedSpeech == e.Result.Reason && e.Result.Text.Length > 0)
        {            
            Console.WriteLine($"RECOGNIZED: Text={e.Result.Text}");
            Console.WriteLine(String.Format ("Offset in Ticks: {0}", e.Result.OffsetInTicks));
            Console.WriteLine(String.Format ("Duration in Ticks: {0}", e.Result.Duration.Ticks));
                        
            var detailedResults = e.Result.Best();
            if(detailedResults != null && detailedResults.Any())
            {
                // The first item in detailedResults corresponds to the recognized text.
                // This is not necessarily the item with the highest confidence number.
                var bestResults = detailedResults?.ToList()[0];
                Console.WriteLine(String.Format("\tConfidence: {0}\n\tText: {1}\n\tLexicalForm: {2}\n\tNormalizedForm: {3}\n\tMaskedNormalizedForm: {4}",
                    bestResults.Confidence, bestResults.Text, bestResults.LexicalForm, bestResults.NormalizedForm, bestResults.MaskedNormalizedForm));
                // You must set speechConfig.RequestWordLevelTimestamps() to get word-level timestamps.
                Console.WriteLine($"\tWord-level timing:");
                Console.WriteLine($"\t\tWord | Offset | Duration");
                Console.WriteLine($"\t\t----- | ----- | ----- ");

                foreach (var word in bestResults.Words)
                {
                    Console.WriteLine($"\t\t{word.Word} | {word.Offset} | {word.Duration}");
                }
            }
        }
    };

Пример смещения и длительности

В следующей таблице показано потенциальное смещение и длительность в тактах, когда докладчик произнесет "Добро пожаловать в курс прикладной математики 201". Для этого примера смещение на протяжении событий Recognizing и Recognized не изменяется. Однако не следует использовать смещение, чтобы выполнять одни и те же действия в событиях Recognizing и Recognized, так как конечный результат может отличаться.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ добро пожаловать 17000000 5000000
РАСПОЗНАВАНИЕ Добро пожаловать в 17000000 6400000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную мат 17000000 13600000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную математику 17000000 17200000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 17000000 23700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 2 17000000 26700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 201 17000000 33400000
РАСПОЗНАНО Добро пожаловать на курс прикладной математики 201. 17000000 34500000

Общая продолжительность первого речевого фрагмента составила 3,45 секунды. Он был распознан со смещением от 1,7 до 5,15 секунд с начала распознавания потока аудиоданных (00:00:01.700 --> 00:00:05.150).

Если динамик продолжает говорить "Давайте приступим", новое смещение вычисляется с начала распознаваемого потока аудиоданных до начала нового речевого фрагмента. В следующей таблице показаны возможное смещение и продолжительность высказывания, начатого через две секунды после завершения предыдущего речевого фрагмента.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ ОК 71500000 3100000
РАСПОЗНАВАНИЕ Хорошо, теперь 71500000 10300000
РАСПОЗНАВАНИЕ Ок, теперь давайте 71500000 14700000
РАСПОЗНАВАНИЕ Теперь ок, давайте приступим к работе 71500000 18500000
РАСПОЗНАНО Хорошо, теперь давайте начнем. 71500000 20600000

Общая продолжительность первого речевого фрагмента составила 2,06 секунды. Он был распознан со смещением от 7,15 до 9,21 секунд с начала распознавания потока аудиоданных (00:00:07.150 --> 00:00:09.210).

Справочная документация | Пакет (NuGet) | Дополнительные примеры в GitHub

В этом руководстве вы узнаете, как использовать результаты распознавания речи.

Синхронизация речи

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

Служба "Речь" возвращает смещение и длительность распознаваемой речи.

  • Смещение: смещение в распознаваемом аудиопотоке, выражаемое в виде интервала времени. Смещение измеряется в тактах, начиная с 0 (нулевого) такта, связанного с первым звуковым байтом, обработанным пакетом SDK. Например, смещение начинается при запуске распознавания, так как это происходит, когда пакет SDK начинает обработку звукового потока. Один такт представляет собой 100 наносекунд (или одну десятимиллионную долю секунды).
  • Длительность: длительность распознаваемого речевого фрагмента. Длительность в тактах не включает в себя конечный или начальный период тишины.

Конец одного речевого фрагмента определяется путем прослушивания тишины в конце. Окончательный результат распознавания будет получен только после завершения распознавания речевого фрагмента. В ходе распознавания событий появляются промежуточные результаты, которые могут быть изменены во время обработки звукового потока. Распознанные события будут предоставлять окончательный транскрибированный текст после завершения обработки речевого фрагмента.

Распознавание смещения и длительности

С помощью события Recognizing можно получить смещение и длительность распознаваемой речи. Смещение и длительность для каждого слова недоступны во время распознавания. Каждое событие Recognizing сопровождается текстовой оценкой речи, распознанной до текущего момента.

В этом фрагменте кода показано, как получить смещение и длительность события Recognizing.

speechRecognizer->Recognizing.Connect([](const SpeechRecognitionEventArgs& e)
    {
        cout << "Recognizing:" << e.Result->Text << std::endl;
        cout << "Offset in Ticks:" << e.Result->Offset() << std::endl;
        cout << "Duration in Ticks:" << e.Result->Duration() << std::endl;
    });

Распознавание смещения и длительность

После распознавания речевых фрагментов можно получить смещение и длительность распознанной речи. С помощью события Recognized можно также получить смещение и длительность для каждого слова. Чтобы запросить смещение и длительность каждого слова, сначала необходимо задать соответствующее свойство SpeechConfig, как показано ниже:

speechConfig->RequestWordLevelTimestamps();

Пример смещения и длительности

В следующей таблице показано потенциальное смещение и длительность в тактах, когда докладчик произнесет "Добро пожаловать в курс прикладной математики 201". Для этого примера смещение на протяжении событий Recognizing и Recognized не изменяется. Однако не следует использовать смещение, чтобы выполнять одни и те же действия в событиях Recognizing и Recognized, так как конечный результат может отличаться.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ добро пожаловать 17000000 5000000
РАСПОЗНАВАНИЕ Добро пожаловать в 17000000 6400000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную мат 17000000 13600000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную математику 17000000 17200000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 17000000 23700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 2 17000000 26700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 201 17000000 33400000
РАСПОЗНАНО Добро пожаловать на курс прикладной математики 201. 17000000 34500000

Общая продолжительность первого речевого фрагмента составила 3,45 секунды. Он был распознан со смещением от 1,7 до 5,15 секунд с начала распознавания потока аудиоданных (00:00:01.700 --> 00:00:05.150).

Если динамик продолжает говорить "Давайте приступим", новое смещение вычисляется с начала распознаваемого потока аудиоданных до начала нового речевого фрагмента. В следующей таблице показаны возможное смещение и продолжительность высказывания, начатого через две секунды после завершения предыдущего речевого фрагмента.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ ОК 71500000 3100000
РАСПОЗНАВАНИЕ Хорошо, теперь 71500000 10300000
РАСПОЗНАВАНИЕ Ок, теперь давайте 71500000 14700000
РАСПОЗНАВАНИЕ Теперь ок, давайте приступим к работе 71500000 18500000
РАСПОЗНАНО Хорошо, теперь давайте начнем. 71500000 20600000

Общая продолжительность первого речевого фрагмента составила 2,06 секунды. Он был распознан со смещением от 7,15 до 9,21 секунд с начала распознавания потока аудиоданных (00:00:07.150 --> 00:00:09.210).

Справочная документация | Пакет (Go) | Дополнительные примеры в GitHub

В этом руководстве вы узнаете, как использовать результаты распознавания речи.

Синхронизация речи

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

Служба "Речь" возвращает смещение и длительность распознаваемой речи.

  • Смещение: смещение в распознаваемом аудиопотоке, выражаемое в виде интервала времени. Смещение измеряется в тактах, начиная с 0 (нулевого) такта, связанного с первым звуковым байтом, обработанным пакетом SDK. Например, смещение начинается при запуске распознавания, так как это происходит, когда пакет SDK начинает обработку звукового потока. Один такт представляет собой 100 наносекунд (или одну десятимиллионную долю секунды).
  • Длительность: длительность распознаваемого речевого фрагмента. Длительность в тактах не включает в себя конечный или начальный период тишины.

Конец одного речевого фрагмента определяется путем прослушивания тишины в конце. Окончательный результат распознавания будет получен только после завершения распознавания речевого фрагмента. В ходе распознавания событий появляются промежуточные результаты, которые могут быть изменены во время обработки звукового потока. Распознанные события будут предоставлять окончательный транскрибированный текст после завершения обработки речевого фрагмента.

Распознавание смещения и длительности

С помощью события Recognizing можно получить смещение и длительность распознаваемой речи. Смещение и длительность для каждого слова недоступны во время распознавания. Каждое событие Recognizing сопровождается текстовой оценкой речи, распознанной до текущего момента.

В этом фрагменте кода показано, как получить смещение и длительность события Recognizing.

func recognizingHandler(event speech.SpeechRecognitionEventArgs) {
    defer event.Close()
    fmt.Println("Recognizing:", event.Result.Text)
    fmt.Println("Offset in Ticks:", event.Result.Offset)
    fmt.Println("Duration in Ticks:", event.Result.Duration)
}

Распознавание смещения и длительность

После распознавания речевых фрагментов можно получить смещение и длительность распознанной речи. С помощью события Recognized можно также получить смещение и длительность для каждого слова. Чтобы запросить смещение и длительность каждого слова, сначала необходимо задать соответствующее свойство SpeechConfig, как показано ниже:

speechConfig.RequestWordLevelTimestamps();

Пример смещения и длительности

В следующей таблице показано потенциальное смещение и длительность в тактах, когда докладчик произнесет "Добро пожаловать в курс прикладной математики 201". Для этого примера смещение на протяжении событий Recognizing и Recognized не изменяется. Однако не следует использовать смещение, чтобы выполнять одни и те же действия в событиях Recognizing и Recognized, так как конечный результат может отличаться.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ добро пожаловать 17000000 5000000
РАСПОЗНАВАНИЕ Добро пожаловать в 17000000 6400000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную мат 17000000 13600000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную математику 17000000 17200000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 17000000 23700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 2 17000000 26700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 201 17000000 33400000
РАСПОЗНАНО Добро пожаловать на курс прикладной математики 201. 17000000 34500000

Общая продолжительность первого речевого фрагмента составила 3,45 секунды. Он был распознан со смещением от 1,7 до 5,15 секунд с начала распознавания потока аудиоданных (00:00:01.700 --> 00:00:05.150).

Если динамик продолжает говорить "Давайте приступим", новое смещение вычисляется с начала распознаваемого потока аудиоданных до начала нового речевого фрагмента. В следующей таблице показаны возможное смещение и продолжительность высказывания, начатого через две секунды после завершения предыдущего речевого фрагмента.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ ОК 71500000 3100000
РАСПОЗНАВАНИЕ Хорошо, теперь 71500000 10300000
РАСПОЗНАВАНИЕ Ок, теперь давайте 71500000 14700000
РАСПОЗНАВАНИЕ Теперь ок, давайте приступим к работе 71500000 18500000
РАСПОЗНАНО Хорошо, теперь давайте начнем. 71500000 20600000

Общая продолжительность первого речевого фрагмента составила 2,06 секунды. Он был распознан со смещением от 7,15 до 9,21 секунд с начала распознавания потока аудиоданных (00:00:07.150 --> 00:00:09.210).

Справочная документация | Дополнительные примеры в GitHub

В этом руководстве вы узнаете, как использовать результаты распознавания речи.

Синхронизация речи

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

Служба "Речь" возвращает смещение и длительность распознаваемой речи.

  • Смещение: смещение в распознаваемом аудиопотоке, выражаемое в виде интервала времени. Смещение измеряется в тактах, начиная с 0 (нулевого) такта, связанного с первым звуковым байтом, обработанным пакетом SDK. Например, смещение начинается при запуске распознавания, так как это происходит, когда пакет SDK начинает обработку звукового потока. Один такт представляет собой 100 наносекунд (или одну десятимиллионную долю секунды).
  • Длительность: длительность распознаваемого речевого фрагмента. Длительность в тактах не включает в себя конечный или начальный период тишины.

Конец одного речевого фрагмента определяется путем прослушивания тишины в конце. Окончательный результат распознавания будет получен только после завершения распознавания речевого фрагмента. В ходе распознавания событий появляются промежуточные результаты, которые могут быть изменены во время обработки звукового потока. Распознанные события будут предоставлять окончательный транскрибированный текст после завершения обработки речевого фрагмента.

Распознавание смещения и длительности

С помощью события Recognizing можно получить смещение и длительность распознаваемой речи. Смещение и длительность для каждого слова недоступны во время распознавания. Каждое событие Recognizing сопровождается текстовой оценкой речи, распознанной до текущего момента.

В этом фрагменте кода показано, как получить смещение и длительность события Recognizing.

speechRecognizer.recognizing.addEventListener((s, e) -> {
    System.out.println("RECOGNIZING: " + e.getResult().getText());
    System.out.println("Offset in Ticks: " + e.getResult().getOffset());
    System.out.println("Duration in Ticks: " + e.getResult().getDuration());
});

Распознавание смещения и длительность

После распознавания речевых фрагментов можно получить смещение и длительность распознанной речи. С помощью события Recognized можно также получить смещение и длительность для каждого слова. Чтобы запросить смещение и длительность каждого слова, сначала необходимо задать соответствующее свойство SpeechConfig, как показано ниже:

speechConfig.requestWordLevelTimestamps();

Пример смещения и длительности

В следующей таблице показано потенциальное смещение и длительность в тактах, когда докладчик произнесет "Добро пожаловать в курс прикладной математики 201". Для этого примера смещение на протяжении событий Recognizing и Recognized не изменяется. Однако не следует использовать смещение, чтобы выполнять одни и те же действия в событиях Recognizing и Recognized, так как конечный результат может отличаться.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ добро пожаловать 17000000 5000000
РАСПОЗНАВАНИЕ Добро пожаловать в 17000000 6400000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную мат 17000000 13600000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную математику 17000000 17200000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 17000000 23700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 2 17000000 26700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 201 17000000 33400000
РАСПОЗНАНО Добро пожаловать на курс прикладной математики 201. 17000000 34500000

Общая продолжительность первого речевого фрагмента составила 3,45 секунды. Он был распознан со смещением от 1,7 до 5,15 секунд с начала распознавания потока аудиоданных (00:00:01.700 --> 00:00:05.150).

Если динамик продолжает говорить "Давайте приступим", новое смещение вычисляется с начала распознаваемого потока аудиоданных до начала нового речевого фрагмента. В следующей таблице показаны возможное смещение и продолжительность высказывания, начатого через две секунды после завершения предыдущего речевого фрагмента.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ ОК 71500000 3100000
РАСПОЗНАВАНИЕ Хорошо, теперь 71500000 10300000
РАСПОЗНАВАНИЕ Ок, теперь давайте 71500000 14700000
РАСПОЗНАВАНИЕ Теперь ок, давайте приступим к работе 71500000 18500000
РАСПОЗНАНО Хорошо, теперь давайте начнем. 71500000 20600000

Общая продолжительность первого речевого фрагмента составила 2,06 секунды. Он был распознан со смещением от 7,15 до 9,21 секунд с начала распознавания потока аудиоданных (00:00:07.150 --> 00:00:09.210).

Справочная документация | Пакет (npm) | Дополнительные примеры в GitHub | Исходный код библиотеки

В этом руководстве вы узнаете, как использовать результаты распознавания речи.

Синхронизация речи

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

Служба "Речь" возвращает смещение и длительность распознаваемой речи.

  • Смещение: смещение в распознаваемом аудиопотоке, выражаемое в виде интервала времени. Смещение измеряется в тактах, начиная с 0 (нулевого) такта, связанного с первым звуковым байтом, обработанным пакетом SDK. Например, смещение начинается при запуске распознавания, так как это происходит, когда пакет SDK начинает обработку звукового потока. Один такт представляет собой 100 наносекунд (или одну десятимиллионную долю секунды).
  • Длительность: длительность распознаваемого речевого фрагмента. Длительность в тактах не включает в себя конечный или начальный период тишины.

Конец одного речевого фрагмента определяется путем прослушивания тишины в конце. Окончательный результат распознавания будет получен только после завершения распознавания речевого фрагмента. В ходе распознавания событий появляются промежуточные результаты, которые могут быть изменены во время обработки звукового потока. Распознанные события будут предоставлять окончательный транскрибированный текст после завершения обработки речевого фрагмента.

Распознавание смещения и длительности

С помощью события Recognizing можно получить смещение и длительность распознаваемой речи. Смещение и длительность для каждого слова недоступны во время распознавания. Каждое событие Recognizing сопровождается текстовой оценкой речи, распознанной до текущего момента.

В этом фрагменте кода показано, как получить смещение и длительность события Recognizing.

speechRecognizer.recognizing = function (s, e) {
    console.log("RECOGNIZING: " + e.result.text);
    console.log("Offset in Ticks: " + e.result.offset);
    console.log("Duration in Ticks: " + e.result.duration);
};

Распознавание смещения и длительность

После распознавания речевых фрагментов можно получить смещение и длительность распознанной речи. С помощью события Recognized можно также получить смещение и длительность для каждого слова. Чтобы запросить смещение и длительность каждого слова, сначала необходимо задать соответствующее свойство SpeechConfig, как показано ниже:

speechConfig.requestWordLevelTimestamps();

Пример смещения и длительности

В следующей таблице показано потенциальное смещение и длительность в тактах, когда докладчик произнесет "Добро пожаловать в курс прикладной математики 201". Для этого примера смещение на протяжении событий Recognizing и Recognized не изменяется. Однако не следует использовать смещение, чтобы выполнять одни и те же действия в событиях Recognizing и Recognized, так как конечный результат может отличаться.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ добро пожаловать 17000000 5000000
РАСПОЗНАВАНИЕ Добро пожаловать в 17000000 6400000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную мат 17000000 13600000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную математику 17000000 17200000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 17000000 23700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 2 17000000 26700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 201 17000000 33400000
РАСПОЗНАНО Добро пожаловать на курс прикладной математики 201. 17000000 34500000

Общая продолжительность первого речевого фрагмента составила 3,45 секунды. Он был распознан со смещением от 1,7 до 5,15 секунд с начала распознавания потока аудиоданных (00:00:01.700 --> 00:00:05.150).

Если динамик продолжает говорить "Давайте приступим", новое смещение вычисляется с начала распознаваемого потока аудиоданных до начала нового речевого фрагмента. В следующей таблице показаны возможное смещение и продолжительность высказывания, начатого через две секунды после завершения предыдущего речевого фрагмента.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ ОК 71500000 3100000
РАСПОЗНАВАНИЕ Хорошо, теперь 71500000 10300000
РАСПОЗНАВАНИЕ Ок, теперь давайте 71500000 14700000
РАСПОЗНАВАНИЕ Теперь ок, давайте приступим к работе 71500000 18500000
РАСПОЗНАНО Хорошо, теперь давайте начнем. 71500000 20600000

Общая продолжительность первого речевого фрагмента составила 2,06 секунды. Он был распознан со смещением от 7,15 до 9,21 секунд с начала распознавания потока аудиоданных (00:00:07.150 --> 00:00:09.210).

Справочная документация | Пакет (скачивание) | Дополнительные примеры в GitHub

В этом руководстве вы узнаете, как использовать результаты распознавания речи.

Синхронизация речи

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

Служба "Речь" возвращает смещение и длительность распознаваемой речи.

  • Смещение: смещение в распознаваемом аудиопотоке, выражаемое в виде интервала времени. Смещение измеряется в тактах, начиная с 0 (нулевого) такта, связанного с первым звуковым байтом, обработанным пакетом SDK. Например, смещение начинается при запуске распознавания, так как это происходит, когда пакет SDK начинает обработку звукового потока. Один такт представляет собой 100 наносекунд (или одну десятимиллионную долю секунды).
  • Длительность: длительность распознаваемого речевого фрагмента. Длительность в тактах не включает в себя конечный или начальный период тишины.

Конец одного речевого фрагмента определяется путем прослушивания тишины в конце. Окончательный результат распознавания будет получен только после завершения распознавания речевого фрагмента. В ходе распознавания событий появляются промежуточные результаты, которые могут быть изменены во время обработки звукового потока. Распознанные события будут предоставлять окончательный транскрибированный текст после завершения обработки речевого фрагмента.

Распознавание смещения и длительности

С помощью события Recognizing можно получить смещение и длительность распознаваемой речи. Смещение и длительность для каждого слова недоступны во время распознавания. Каждое событие Recognizing сопровождается текстовой оценкой речи, распознанной до текущего момента.

Распознавание смещения и длительность

После распознавания речевых фрагментов можно получить смещение и длительность распознанной речи. С помощью события Recognized можно также получить смещение и длительность для каждого слова. Чтобы запросить смещение и длительность каждого слова, сначала необходимо задать соответствующее свойство SpeechConfig, как показано ниже:

[speechConfig requestWordLevelTimestamps];

Пример смещения и длительности

В следующей таблице показано потенциальное смещение и длительность в тактах, когда докладчик произнесет "Добро пожаловать в курс прикладной математики 201". Для этого примера смещение на протяжении событий Recognizing и Recognized не изменяется. Однако не следует использовать смещение, чтобы выполнять одни и те же действия в событиях Recognizing и Recognized, так как конечный результат может отличаться.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ добро пожаловать 17000000 5000000
РАСПОЗНАВАНИЕ Добро пожаловать в 17000000 6400000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную мат 17000000 13600000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную математику 17000000 17200000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 17000000 23700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 2 17000000 26700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 201 17000000 33400000
РАСПОЗНАНО Добро пожаловать на курс прикладной математики 201. 17000000 34500000

Общая продолжительность первого речевого фрагмента составила 3,45 секунды. Он был распознан со смещением от 1,7 до 5,15 секунд с начала распознавания потока аудиоданных (00:00:01.700 --> 00:00:05.150).

Если динамик продолжает говорить "Давайте приступим", новое смещение вычисляется с начала распознаваемого потока аудиоданных до начала нового речевого фрагмента. В следующей таблице показаны возможное смещение и продолжительность высказывания, начатого через две секунды после завершения предыдущего речевого фрагмента.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ ОК 71500000 3100000
РАСПОЗНАВАНИЕ Хорошо, теперь 71500000 10300000
РАСПОЗНАВАНИЕ Ок, теперь давайте 71500000 14700000
РАСПОЗНАВАНИЕ Теперь ок, давайте приступим к работе 71500000 18500000
РАСПОЗНАНО Хорошо, теперь давайте начнем. 71500000 20600000

Общая продолжительность первого речевого фрагмента составила 2,06 секунды. Он был распознан со смещением от 7,15 до 9,21 секунд с начала распознавания потока аудиоданных (00:00:07.150 --> 00:00:09.210).

Справочная документация | Пакет (скачивание) | Дополнительные примеры в GitHub

В этом руководстве вы узнаете, как использовать результаты распознавания речи.

Синхронизация речи

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

Служба "Речь" возвращает смещение и длительность распознаваемой речи.

  • Смещение: смещение в распознаваемом аудиопотоке, выражаемое в виде интервала времени. Смещение измеряется в тактах, начиная с 0 (нулевого) такта, связанного с первым звуковым байтом, обработанным пакетом SDK. Например, смещение начинается при запуске распознавания, так как это происходит, когда пакет SDK начинает обработку звукового потока. Один такт представляет собой 100 наносекунд (или одну десятимиллионную долю секунды).
  • Длительность: длительность распознаваемого речевого фрагмента. Длительность в тактах не включает в себя конечный или начальный период тишины.

Конец одного речевого фрагмента определяется путем прослушивания тишины в конце. Окончательный результат распознавания будет получен только после завершения распознавания речевого фрагмента. В ходе распознавания событий появляются промежуточные результаты, которые могут быть изменены во время обработки звукового потока. Распознанные события будут предоставлять окончательный транскрибированный текст после завершения обработки речевого фрагмента.

Распознавание смещения и длительности

С помощью события Recognizing можно получить смещение и длительность распознаваемой речи. Смещение и длительность для каждого слова недоступны во время распознавания. Каждое событие Recognizing сопровождается текстовой оценкой речи, распознанной до текущего момента.

Распознавание смещения и длительность

После распознавания речевых фрагментов можно получить смещение и длительность распознанной речи. С помощью события Recognized можно также получить смещение и длительность для каждого слова. Чтобы запросить смещение и длительность каждого слова, сначала необходимо задать соответствующее свойство SpeechConfig, как показано ниже:

[speechConfig requestWordLevelTimestamps];

Пример смещения и длительности

В следующей таблице показано потенциальное смещение и длительность в тактах, когда докладчик произнесет "Добро пожаловать в курс прикладной математики 201". Для этого примера смещение на протяжении событий Recognizing и Recognized не изменяется. Однако не следует использовать смещение, чтобы выполнять одни и те же действия в событиях Recognizing и Recognized, так как конечный результат может отличаться.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ добро пожаловать 17000000 5000000
РАСПОЗНАВАНИЕ Добро пожаловать в 17000000 6400000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную мат 17000000 13600000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную математику 17000000 17200000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 17000000 23700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 2 17000000 26700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 201 17000000 33400000
РАСПОЗНАНО Добро пожаловать на курс прикладной математики 201. 17000000 34500000

Общая продолжительность первого речевого фрагмента составила 3,45 секунды. Он был распознан со смещением от 1,7 до 5,15 секунд с начала распознавания потока аудиоданных (00:00:01.700 --> 00:00:05.150).

Если динамик продолжает говорить "Давайте приступим", новое смещение вычисляется с начала распознаваемого потока аудиоданных до начала нового речевого фрагмента. В следующей таблице показаны возможное смещение и продолжительность высказывания, начатого через две секунды после завершения предыдущего речевого фрагмента.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ ОК 71500000 3100000
РАСПОЗНАВАНИЕ Хорошо, теперь 71500000 10300000
РАСПОЗНАВАНИЕ Ок, теперь давайте 71500000 14700000
РАСПОЗНАВАНИЕ Теперь ок, давайте приступим к работе 71500000 18500000
РАСПОЗНАНО Хорошо, теперь давайте начнем. 71500000 20600000

Общая продолжительность первого речевого фрагмента составила 2,06 секунды. Он был распознан со смещением от 7,15 до 9,21 секунд с начала распознавания потока аудиоданных (00:00:07.150 --> 00:00:09.210).

Справочная документация | Пакет (PyPi) | Дополнительные примеры в GitHub

В этом руководстве вы узнаете, как использовать результаты распознавания речи.

Синхронизация речи

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

Служба "Речь" возвращает смещение и длительность распознаваемой речи.

  • Смещение: смещение в распознаваемом аудиопотоке, выражаемое в виде интервала времени. Смещение измеряется в тактах, начиная с 0 (нулевого) такта, связанного с первым звуковым байтом, обработанным пакетом SDK. Например, смещение начинается при запуске распознавания, так как это происходит, когда пакет SDK начинает обработку звукового потока. Один такт представляет собой 100 наносекунд (или одну десятимиллионную долю секунды).
  • Длительность: длительность распознаваемого речевого фрагмента. Длительность в тактах не включает в себя конечный или начальный период тишины.

Конец одного речевого фрагмента определяется путем прослушивания тишины в конце. Окончательный результат распознавания будет получен только после завершения распознавания речевого фрагмента. В ходе распознавания событий появляются промежуточные результаты, которые могут быть изменены во время обработки звукового потока. Распознанные события будут предоставлять окончательный транскрибированный текст после завершения обработки речевого фрагмента.

Распознавание смещения и длительности

С помощью события Recognizing можно получить смещение и длительность распознаваемой речи. Смещение и длительность для каждого слова недоступны во время распознавания. Каждое событие Recognizing сопровождается текстовой оценкой речи, распознанной до текущего момента.

В этом фрагменте кода показано, как получить смещение и длительность события Recognizing.

def recognizing_handler(e : speechsdk.SpeechRecognitionEventArgs) :
    if speechsdk.ResultReason.RecognizingSpeech == e.result.reason and len(e.result.text) > 0 :
        print("Recognized: {}".format(result.text))
        print("Offset in Ticks: {}".format(result.offset))
        print("Duration in Ticks: {}".format(result.duration))

Распознавание смещения и длительность

После распознавания речевых фрагментов можно получить смещение и длительность распознанной речи. С помощью события Recognized можно также получить смещение и длительность для каждого слова. Чтобы запросить смещение и длительность каждого слова, сначала необходимо задать соответствующее свойство SpeechConfig, как показано ниже:

speech_config.request_word_level_timestamps()

Пример смещения и длительности

В следующей таблице показано потенциальное смещение и длительность в тактах, когда докладчик произнесет "Добро пожаловать в курс прикладной математики 201". Для этого примера смещение на протяжении событий Recognizing и Recognized не изменяется. Однако не следует использовать смещение, чтобы выполнять одни и те же действия в событиях Recognizing и Recognized, так как конечный результат может отличаться.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ добро пожаловать 17000000 5000000
РАСПОЗНАВАНИЕ Добро пожаловать в 17000000 6400000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную мат 17000000 13600000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную математику 17000000 17200000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 17000000 23700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 2 17000000 26700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 201 17000000 33400000
РАСПОЗНАНО Добро пожаловать на курс прикладной математики 201. 17000000 34500000

Общая продолжительность первого речевого фрагмента составила 3,45 секунды. Он был распознан со смещением от 1,7 до 5,15 секунд с начала распознавания потока аудиоданных (00:00:01.700 --> 00:00:05.150).

Если динамик продолжает говорить "Давайте приступим", новое смещение вычисляется с начала распознаваемого потока аудиоданных до начала нового речевого фрагмента. В следующей таблице показаны возможное смещение и продолжительность высказывания, начатого через две секунды после завершения предыдущего речевого фрагмента.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ ОК 71500000 3100000
РАСПОЗНАВАНИЕ Хорошо, теперь 71500000 10300000
РАСПОЗНАВАНИЕ Ок, теперь давайте 71500000 14700000
РАСПОЗНАВАНИЕ Теперь ок, давайте приступим к работе 71500000 18500000
РАСПОЗНАНО Хорошо, теперь давайте начнем. 71500000 20600000

Общая продолжительность первого речевого фрагмента составила 2,06 секунды. Он был распознан со смещением от 7,15 до 9,21 секунд с начала распознавания потока аудиоданных (00:00:07.150 --> 00:00:09.210).

В этом руководстве вы узнаете, как использовать результаты распознавания речи.

Синхронизация речи

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

Служба "Речь" возвращает смещение и длительность распознаваемой речи.

  • Смещение: смещение в распознаваемом аудиопотоке, выражаемое в виде интервала времени. Смещение измеряется в тактах, начиная с 0 (нулевого) такта, связанного с первым звуковым байтом, обработанным пакетом SDK. Например, смещение начинается при запуске распознавания, так как это происходит, когда пакет SDK начинает обработку звукового потока. Один такт представляет собой 100 наносекунд (или одну десятимиллионную долю секунды).
  • Длительность: длительность распознаваемого речевого фрагмента. Длительность в тактах не включает в себя конечный или начальный период тишины.

Конец одного речевого фрагмента определяется путем прослушивания тишины в конце. Окончательный результат распознавания будет получен только после завершения распознавания речевого фрагмента. В ходе распознавания событий появляются промежуточные результаты, которые могут быть изменены во время обработки звукового потока. Распознанные события будут предоставлять окончательный транскрибированный текст после завершения обработки речевого фрагмента.

Распознавание смещения и длительности

Вам потребуется синхронизировать субтитры со звуковой дорожкой, будь то в режиме реального времени или с предварительной записью. С помощью события Recognizing можно получить смещение и длительность распознаваемой речи. Смещение и длительность для каждого слова недоступны во время распознавания. Каждое событие Recognizing сопровождается текстовой оценкой речи, распознанной до текущего момента.

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

spx recognize --file caption.this.mp4 --format any --output each file - @output.each.detailed

Поскольку был задан аргумент @output.each.detailed, выходные данные включают следующие заголовки столбцов:

audio.input.id  event   event.sessionid result.reason   result.latency  result.text     result.json

В столбце result.json можно найти сведения, включающие смещение и длительность событий Recognizing и Recognized:

{
	"Id": "492574cd8555481a92c22f5ff757ef17",
	"RecognitionStatus": "Success",
	"DisplayText": "Welcome to applied Mathematics course 201.",
	"Offset": 1800000,
	"Duration": 30500000
}

Дополнительные сведения см. в конфигурации хранилища данных и параметрах вывода интерфейса командной строки службы "Речь".

Пример смещения и длительности

В следующей таблице показано потенциальное смещение и длительность в тактах, когда докладчик произнесет "Добро пожаловать в курс прикладной математики 201". Для этого примера смещение на протяжении событий Recognizing и Recognized не изменяется. Однако не следует использовать смещение, чтобы выполнять одни и те же действия в событиях Recognizing и Recognized, так как конечный результат может отличаться.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ добро пожаловать 17000000 5000000
РАСПОЗНАВАНИЕ Добро пожаловать в 17000000 6400000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную мат 17000000 13600000
РАСПОЗНАВАНИЕ Добро пожаловать на прикладную математику 17000000 17200000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 17000000 23700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 2 17000000 26700000
РАСПОЗНАВАНИЕ Добро пожаловать на курс прикладной математики 201 17000000 33400000
РАСПОЗНАНО Добро пожаловать на курс прикладной математики 201. 17000000 34500000

Общая продолжительность первого речевого фрагмента составила 3,45 секунды. Он был распознан со смещением от 1,7 до 5,15 секунд с начала распознавания потока аудиоданных (00:00:01.700 --> 00:00:05.150).

Если динамик продолжает говорить "Давайте приступим", новое смещение вычисляется с начала распознаваемого потока аудиоданных до начала нового речевого фрагмента. В следующей таблице показаны возможное смещение и продолжительность высказывания, начатого через две секунды после завершения предыдущего речевого фрагмента.

Событие Текст Смещение (в тактах) Длительность (в тактах)
РАСПОЗНАВАНИЕ ОК 71500000 3100000
РАСПОЗНАВАНИЕ Хорошо, теперь 71500000 10300000
РАСПОЗНАВАНИЕ Ок, теперь давайте 71500000 14700000
РАСПОЗНАВАНИЕ Теперь ок, давайте приступим к работе 71500000 18500000
РАСПОЗНАНО Хорошо, теперь давайте начнем. 71500000 20600000

Общая продолжительность первого речевого фрагмента составила 2,06 секунды. Он был распознан со смещением от 7,15 до 9,21 секунд с начала распознавания потока аудиоданных (00:00:07.150 --> 00:00:09.210).

Дальнейшие действия