다음을 통해 공유


음성 인식 결과 가져오기

참조 설명서 | 패키지(NuGet) | GitHub의 추가 샘플

이 방법 가이드에서는 음성 인식 결과를 사용하는 방법을 알아봅니다.

음성 동기화

실시간으로 수행하든, 사전 녹음으로 수행하든 관계없이 대화 기록을 오디오 트랙과 동기화할 수 있습니다.

Speech Service는 인식된 음성의 오프셋과 기간을 반환합니다.

  • 오프셋: 인식되는 오디오 스트림의 오프셋으로, 기간으로 표시됩니다. 오프셋은 0(0) 틱부터 시작하여 SDK에서 처리된 첫 번째 오디오 바이트와 연결된 틱으로 측정됩니다. 예를 들어, 오프셋은 인식을 시작할 때 시작됩니다. 이때 SDK가 오디오 스트림 처리를 시작하기 때문입니다. 틱 하나는 100나노초 또는 1/1000만 초를 나타냅니다.
  • 기간: 인식되는 발화의 기간입니다. 틱의 기간에는 후행 또는 선행 무음이 포함되지 않습니다.

단일 발화의 끝은 종료 시 무음을 수신 대기하여 결정됩니다. 발화가 완료될 때까지 최종 인식 결과를 얻을 수 없습니다. 이벤트를 인식하면 오디오 스트림이 처리되는 동안 변경될 수 있는 중간 결과가 제공됩니다. 인식된 이벤트는 발화 처리가 완료된 후 최종 대화 기록 텍스트를 제공합니다.

인식 오프셋 및 기간

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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 RecognizingRecognized 이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 RecognizingRecognized 이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING 시작 17000000 5000000
RECOGNIZING 에 오신 것을 환영합니다. 17000000 6400000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 13600000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 17200000
RECOGNIZING 응용 수학 과정에 오신 것을 환영합니다. 17000000 23700000
RECOGNIZING 응용 수학 과정 2에 오신 것을 환영합니다. 17000000 26700000
RECOGNIZING 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 33400000
RECOGNIZED 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 34500000

첫 번째 발화의 총 기간은 3.45초였습니다. 오디오 스트림의 시작부터 1.7~5.15초 오프셋에서 인식되었습니다(00:00:01.700 --> 00:00:05.150).

화자가 "시작합시다."라고 계속 말하면 인식되는 오디오 스트림의 시작부터 새 발화의 시작까지 새 오프셋이 계산됩니다. 다음 표에서는 이전 발화가 종료되고 2초 후에 시작된 발화에 대한 잠재적 오프셋과 기간을 보여 줍니다.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING OK 71500000 3100000
RECOGNIZING 현재 정상 71500000 10300000
RECOGNIZING 정상, 이제 해보겠습니다. 71500000 14700000
RECOGNIZING 정상, 이제 시작하겠습니다. 71500000 18500000
RECOGNIZED 정상, 이제 시작하겠습니다. 71500000 20600000

두 번째 발화의 총 기간은 2.06초였습니다. 오디오 스트림의 시작부터 7.15~9.21초 오프셋에서 인식되었습니다(00:00:07.150 --> 00:00:09.210).

참조 설명서 | 패키지(NuGet) | GitHub의 추가 샘플

이 방법 가이드에서는 음성 인식 결과를 사용하는 방법을 알아봅니다.

음성 동기화

실시간으로 수행하든, 사전 녹음으로 수행하든 관계없이 대화 기록을 오디오 트랙과 동기화할 수 있습니다.

Speech Service는 인식된 음성의 오프셋과 기간을 반환합니다.

  • 오프셋: 인식되는 오디오 스트림의 오프셋으로, 기간으로 표시됩니다. 오프셋은 0(0) 틱부터 시작하여 SDK에서 처리된 첫 번째 오디오 바이트와 연결된 틱으로 측정됩니다. 예를 들어, 오프셋은 인식을 시작할 때 시작됩니다. 이때 SDK가 오디오 스트림 처리를 시작하기 때문입니다. 틱 하나는 100나노초 또는 1/1000만 초를 나타냅니다.
  • 기간: 인식되는 발화의 기간입니다. 틱의 기간에는 후행 또는 선행 무음이 포함되지 않습니다.

단일 발화의 끝은 종료 시 무음을 수신 대기하여 결정됩니다. 발화가 완료될 때까지 최종 인식 결과를 얻을 수 없습니다. 이벤트를 인식하면 오디오 스트림이 처리되는 동안 변경될 수 있는 중간 결과가 제공됩니다. 인식된 이벤트는 발화 처리가 완료된 후 최종 대화 기록 텍스트를 제공합니다.

인식 오프셋 및 기간

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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 RecognizingRecognized 이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 RecognizingRecognized 이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING 시작 17000000 5000000
RECOGNIZING 에 오신 것을 환영합니다. 17000000 6400000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 13600000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 17200000
RECOGNIZING 응용 수학 과정에 오신 것을 환영합니다. 17000000 23700000
RECOGNIZING 응용 수학 과정 2에 오신 것을 환영합니다. 17000000 26700000
RECOGNIZING 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 33400000
RECOGNIZED 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 34500000

첫 번째 발화의 총 기간은 3.45초였습니다. 오디오 스트림의 시작부터 1.7~5.15초 오프셋에서 인식되었습니다(00:00:01.700 --> 00:00:05.150).

화자가 "시작합시다."라고 계속 말하면 인식되는 오디오 스트림의 시작부터 새 발화의 시작까지 새 오프셋이 계산됩니다. 다음 표에서는 이전 발화가 종료되고 2초 후에 시작된 발화에 대한 잠재적 오프셋과 기간을 보여 줍니다.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING OK 71500000 3100000
RECOGNIZING 현재 정상 71500000 10300000
RECOGNIZING 정상, 이제 해보겠습니다. 71500000 14700000
RECOGNIZING 정상, 이제 시작하겠습니다. 71500000 18500000
RECOGNIZED 정상, 이제 시작하겠습니다. 71500000 20600000

두 번째 발화의 총 기간은 2.06초였습니다. 오디오 스트림의 시작부터 7.15~9.21초 오프셋에서 인식되었습니다(00:00:07.150 --> 00:00:09.210).

참조 설명서 | 패키지(Go) | GitHub의 추가 샘플

이 방법 가이드에서는 음성 인식 결과를 사용하는 방법을 알아봅니다.

음성 동기화

실시간으로 수행하든, 사전 녹음으로 수행하든 관계없이 대화 기록을 오디오 트랙과 동기화할 수 있습니다.

Speech Service는 인식된 음성의 오프셋과 기간을 반환합니다.

  • 오프셋: 인식되는 오디오 스트림의 오프셋으로, 기간으로 표시됩니다. 오프셋은 0(0) 틱부터 시작하여 SDK에서 처리된 첫 번째 오디오 바이트와 연결된 틱으로 측정됩니다. 예를 들어, 오프셋은 인식을 시작할 때 시작됩니다. 이때 SDK가 오디오 스트림 처리를 시작하기 때문입니다. 틱 하나는 100나노초 또는 1/1000만 초를 나타냅니다.
  • 기간: 인식되는 발화의 기간입니다. 틱의 기간에는 후행 또는 선행 무음이 포함되지 않습니다.

단일 발화의 끝은 종료 시 무음을 수신 대기하여 결정됩니다. 발화가 완료될 때까지 최종 인식 결과를 얻을 수 없습니다. 이벤트를 인식하면 오디오 스트림이 처리되는 동안 변경될 수 있는 중간 결과가 제공됩니다. 인식된 이벤트는 발화 처리가 완료된 후 최종 대화 기록 텍스트를 제공합니다.

인식 오프셋 및 기간

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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 RecognizingRecognized 이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 RecognizingRecognized 이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING 시작 17000000 5000000
RECOGNIZING 에 오신 것을 환영합니다. 17000000 6400000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 13600000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 17200000
RECOGNIZING 응용 수학 과정에 오신 것을 환영합니다. 17000000 23700000
RECOGNIZING 응용 수학 과정 2에 오신 것을 환영합니다. 17000000 26700000
RECOGNIZING 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 33400000
RECOGNIZED 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 34500000

첫 번째 발화의 총 기간은 3.45초였습니다. 오디오 스트림의 시작부터 1.7~5.15초 오프셋에서 인식되었습니다(00:00:01.700 --> 00:00:05.150).

화자가 "시작합시다."라고 계속 말하면 인식되는 오디오 스트림의 시작부터 새 발화의 시작까지 새 오프셋이 계산됩니다. 다음 표에서는 이전 발화가 종료되고 2초 후에 시작된 발화에 대한 잠재적 오프셋과 기간을 보여 줍니다.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING OK 71500000 3100000
RECOGNIZING 현재 정상 71500000 10300000
RECOGNIZING 정상, 이제 해보겠습니다. 71500000 14700000
RECOGNIZING 정상, 이제 시작하겠습니다. 71500000 18500000
RECOGNIZED 정상, 이제 시작하겠습니다. 71500000 20600000

두 번째 발화의 총 기간은 2.06초였습니다. 오디오 스트림의 시작부터 7.15~9.21초 오프셋에서 인식되었습니다(00:00:07.150 --> 00:00:09.210).

참조 설명서 | GitHub의 추가 샘플

이 방법 가이드에서는 음성 인식 결과를 사용하는 방법을 알아봅니다.

음성 동기화

실시간으로 수행하든, 사전 녹음으로 수행하든 관계없이 대화 기록을 오디오 트랙과 동기화할 수 있습니다.

Speech Service는 인식된 음성의 오프셋과 기간을 반환합니다.

  • 오프셋: 인식되는 오디오 스트림의 오프셋으로, 기간으로 표시됩니다. 오프셋은 0(0) 틱부터 시작하여 SDK에서 처리된 첫 번째 오디오 바이트와 연결된 틱으로 측정됩니다. 예를 들어, 오프셋은 인식을 시작할 때 시작됩니다. 이때 SDK가 오디오 스트림 처리를 시작하기 때문입니다. 틱 하나는 100나노초 또는 1/1000만 초를 나타냅니다.
  • 기간: 인식되는 발화의 기간입니다. 틱의 기간에는 후행 또는 선행 무음이 포함되지 않습니다.

단일 발화의 끝은 종료 시 무음을 수신 대기하여 결정됩니다. 발화가 완료될 때까지 최종 인식 결과를 얻을 수 없습니다. 이벤트를 인식하면 오디오 스트림이 처리되는 동안 변경될 수 있는 중간 결과가 제공됩니다. 인식된 이벤트는 발화 처리가 완료된 후 최종 대화 기록 텍스트를 제공합니다.

인식 오프셋 및 기간

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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 RecognizingRecognized 이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 RecognizingRecognized 이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING 시작 17000000 5000000
RECOGNIZING 에 오신 것을 환영합니다. 17000000 6400000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 13600000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 17200000
RECOGNIZING 응용 수학 과정에 오신 것을 환영합니다. 17000000 23700000
RECOGNIZING 응용 수학 과정 2에 오신 것을 환영합니다. 17000000 26700000
RECOGNIZING 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 33400000
RECOGNIZED 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 34500000

첫 번째 발화의 총 기간은 3.45초였습니다. 오디오 스트림의 시작부터 1.7~5.15초 오프셋에서 인식되었습니다(00:00:01.700 --> 00:00:05.150).

화자가 "시작합시다."라고 계속 말하면 인식되는 오디오 스트림의 시작부터 새 발화의 시작까지 새 오프셋이 계산됩니다. 다음 표에서는 이전 발화가 종료되고 2초 후에 시작된 발화에 대한 잠재적 오프셋과 기간을 보여 줍니다.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING OK 71500000 3100000
RECOGNIZING 현재 정상 71500000 10300000
RECOGNIZING 정상, 이제 해보겠습니다. 71500000 14700000
RECOGNIZING 정상, 이제 시작하겠습니다. 71500000 18500000
RECOGNIZED 정상, 이제 시작하겠습니다. 71500000 20600000

두 번째 발화의 총 기간은 2.06초였습니다. 오디오 스트림의 시작부터 7.15~9.21초 오프셋에서 인식되었습니다(00:00:07.150 --> 00:00:09.210).

참조 설명서 | 패키지(npm) | GitHub의 추가 샘플 | 라이브러리 소스 코드

이 방법 가이드에서는 음성 인식 결과를 사용하는 방법을 알아봅니다.

음성 동기화

실시간으로 수행하든, 사전 녹음으로 수행하든 관계없이 대화 기록을 오디오 트랙과 동기화할 수 있습니다.

Speech Service는 인식된 음성의 오프셋과 기간을 반환합니다.

  • 오프셋: 인식되는 오디오 스트림의 오프셋으로, 기간으로 표시됩니다. 오프셋은 0(0) 틱부터 시작하여 SDK에서 처리된 첫 번째 오디오 바이트와 연결된 틱으로 측정됩니다. 예를 들어, 오프셋은 인식을 시작할 때 시작됩니다. 이때 SDK가 오디오 스트림 처리를 시작하기 때문입니다. 틱 하나는 100나노초 또는 1/1000만 초를 나타냅니다.
  • 기간: 인식되는 발화의 기간입니다. 틱의 기간에는 후행 또는 선행 무음이 포함되지 않습니다.

단일 발화의 끝은 종료 시 무음을 수신 대기하여 결정됩니다. 발화가 완료될 때까지 최종 인식 결과를 얻을 수 없습니다. 이벤트를 인식하면 오디오 스트림이 처리되는 동안 변경될 수 있는 중간 결과가 제공됩니다. 인식된 이벤트는 발화 처리가 완료된 후 최종 대화 기록 텍스트를 제공합니다.

인식 오프셋 및 기간

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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 RecognizingRecognized 이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 RecognizingRecognized 이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING 시작 17000000 5000000
RECOGNIZING 에 오신 것을 환영합니다. 17000000 6400000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 13600000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 17200000
RECOGNIZING 응용 수학 과정에 오신 것을 환영합니다. 17000000 23700000
RECOGNIZING 응용 수학 과정 2에 오신 것을 환영합니다. 17000000 26700000
RECOGNIZING 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 33400000
RECOGNIZED 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 34500000

첫 번째 발화의 총 기간은 3.45초였습니다. 오디오 스트림의 시작부터 1.7~5.15초 오프셋에서 인식되었습니다(00:00:01.700 --> 00:00:05.150).

화자가 "시작합시다."라고 계속 말하면 인식되는 오디오 스트림의 시작부터 새 발화의 시작까지 새 오프셋이 계산됩니다. 다음 표에서는 이전 발화가 종료되고 2초 후에 시작된 발화에 대한 잠재적 오프셋과 기간을 보여 줍니다.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING OK 71500000 3100000
RECOGNIZING 현재 정상 71500000 10300000
RECOGNIZING 정상, 이제 해보겠습니다. 71500000 14700000
RECOGNIZING 정상, 이제 시작하겠습니다. 71500000 18500000
RECOGNIZED 정상, 이제 시작하겠습니다. 71500000 20600000

두 번째 발화의 총 기간은 2.06초였습니다. 오디오 스트림의 시작부터 7.15~9.21초 오프셋에서 인식되었습니다(00:00:07.150 --> 00:00:09.210).

참조 설명서 | 패키지(다운로드) | GitHub의 추가 샘플

이 방법 가이드에서는 음성 인식 결과를 사용하는 방법을 알아봅니다.

음성 동기화

실시간으로 수행하든, 사전 녹음으로 수행하든 관계없이 대화 기록을 오디오 트랙과 동기화할 수 있습니다.

Speech Service는 인식된 음성의 오프셋과 기간을 반환합니다.

  • 오프셋: 인식되는 오디오 스트림의 오프셋으로, 기간으로 표시됩니다. 오프셋은 0(0) 틱부터 시작하여 SDK에서 처리된 첫 번째 오디오 바이트와 연결된 틱으로 측정됩니다. 예를 들어, 오프셋은 인식을 시작할 때 시작됩니다. 이때 SDK가 오디오 스트림 처리를 시작하기 때문입니다. 틱 하나는 100나노초 또는 1/1000만 초를 나타냅니다.
  • 기간: 인식되는 발화의 기간입니다. 틱의 기간에는 후행 또는 선행 무음이 포함되지 않습니다.

단일 발화의 끝은 종료 시 무음을 수신 대기하여 결정됩니다. 발화가 완료될 때까지 최종 인식 결과를 얻을 수 없습니다. 이벤트를 인식하면 오디오 스트림이 처리되는 동안 변경될 수 있는 중간 결과가 제공됩니다. 인식된 이벤트는 발화 처리가 완료된 후 최종 대화 기록 텍스트를 제공합니다.

인식 오프셋 및 기간

Recognizing 이벤트를 사용하면 인식되는 음성의 오프셋과 기간을 가져올 수 있습니다. 인식이 진행 중인 동안에는 단어당 오프셋 및 기간을 사용할 수 없습니다. 각 Recognizing 이벤트에는 지금까지 인식된 음성의 예상 텍스트가 함께 제공됩니다.

인식된 오프셋 및 기간

발화가 인식된 후 인식된 음성의 오프셋과 기간을 가져올 수 있습니다. Recognized 이벤트를 사용하면 단어당 오프셋 및 기간을 가져올 수도 있습니다. 단어당 오프셋 및 기간을 요청하려면 먼저 다음과 같이 해당 SpeechConfig 속성을 설정해야 합니다.

[speechConfig requestWordLevelTimestamps];

예제 오프셋 및 기간

다음 표에서는 화자가 “응용 수학 과정 201에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 RecognizingRecognized 이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 RecognizingRecognized 이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING 시작 17000000 5000000
RECOGNIZING 에 오신 것을 환영합니다. 17000000 6400000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 13600000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 17200000
RECOGNIZING 응용 수학 과정에 오신 것을 환영합니다. 17000000 23700000
RECOGNIZING 응용 수학 과정 2에 오신 것을 환영합니다. 17000000 26700000
RECOGNIZING 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 33400000
RECOGNIZED 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 34500000

첫 번째 발화의 총 기간은 3.45초였습니다. 오디오 스트림의 시작부터 1.7~5.15초 오프셋에서 인식되었습니다(00:00:01.700 --> 00:00:05.150).

화자가 "시작합시다."라고 계속 말하면 인식되는 오디오 스트림의 시작부터 새 발화의 시작까지 새 오프셋이 계산됩니다. 다음 표에서는 이전 발화가 종료되고 2초 후에 시작된 발화에 대한 잠재적 오프셋과 기간을 보여 줍니다.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING OK 71500000 3100000
RECOGNIZING 현재 정상 71500000 10300000
RECOGNIZING 정상, 이제 해보겠습니다. 71500000 14700000
RECOGNIZING 정상, 이제 시작하겠습니다. 71500000 18500000
RECOGNIZED 정상, 이제 시작하겠습니다. 71500000 20600000

두 번째 발화의 총 기간은 2.06초였습니다. 오디오 스트림의 시작부터 7.15~9.21초 오프셋에서 인식되었습니다(00:00:07.150 --> 00:00:09.210).

참조 설명서 | 패키지(다운로드) | GitHub의 추가 샘플

이 방법 가이드에서는 음성 인식 결과를 사용하는 방법을 알아봅니다.

음성 동기화

실시간으로 수행하든, 사전 녹음으로 수행하든 관계없이 대화 기록을 오디오 트랙과 동기화할 수 있습니다.

Speech Service는 인식된 음성의 오프셋과 기간을 반환합니다.

  • 오프셋: 인식되는 오디오 스트림의 오프셋으로, 기간으로 표시됩니다. 오프셋은 0(0) 틱부터 시작하여 SDK에서 처리된 첫 번째 오디오 바이트와 연결된 틱으로 측정됩니다. 예를 들어, 오프셋은 인식을 시작할 때 시작됩니다. 이때 SDK가 오디오 스트림 처리를 시작하기 때문입니다. 틱 하나는 100나노초 또는 1/1000만 초를 나타냅니다.
  • 기간: 인식되는 발화의 기간입니다. 틱의 기간에는 후행 또는 선행 무음이 포함되지 않습니다.

단일 발화의 끝은 종료 시 무음을 수신 대기하여 결정됩니다. 발화가 완료될 때까지 최종 인식 결과를 얻을 수 없습니다. 이벤트를 인식하면 오디오 스트림이 처리되는 동안 변경될 수 있는 중간 결과가 제공됩니다. 인식된 이벤트는 발화 처리가 완료된 후 최종 대화 기록 텍스트를 제공합니다.

인식 오프셋 및 기간

Recognizing 이벤트를 사용하면 인식되는 음성의 오프셋과 기간을 가져올 수 있습니다. 인식이 진행 중인 동안에는 단어당 오프셋 및 기간을 사용할 수 없습니다. 각 Recognizing 이벤트에는 지금까지 인식된 음성의 예상 텍스트가 함께 제공됩니다.

인식된 오프셋 및 기간

발화가 인식된 후 인식된 음성의 오프셋과 기간을 가져올 수 있습니다. Recognized 이벤트를 사용하면 단어당 오프셋 및 기간을 가져올 수도 있습니다. 단어당 오프셋 및 기간을 요청하려면 먼저 다음과 같이 해당 SpeechConfig 속성을 설정해야 합니다.

[speechConfig requestWordLevelTimestamps];

예제 오프셋 및 기간

다음 표에서는 화자가 “응용 수학 과정 201에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 RecognizingRecognized 이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 RecognizingRecognized 이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING 시작 17000000 5000000
RECOGNIZING 에 오신 것을 환영합니다. 17000000 6400000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 13600000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 17200000
RECOGNIZING 응용 수학 과정에 오신 것을 환영합니다. 17000000 23700000
RECOGNIZING 응용 수학 과정 2에 오신 것을 환영합니다. 17000000 26700000
RECOGNIZING 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 33400000
RECOGNIZED 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 34500000

첫 번째 발화의 총 기간은 3.45초였습니다. 오디오 스트림의 시작부터 1.7~5.15초 오프셋에서 인식되었습니다(00:00:01.700 --> 00:00:05.150).

화자가 "시작합시다."라고 계속 말하면 인식되는 오디오 스트림의 시작부터 새 발화의 시작까지 새 오프셋이 계산됩니다. 다음 표에서는 이전 발화가 종료되고 2초 후에 시작된 발화에 대한 잠재적 오프셋과 기간을 보여 줍니다.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING OK 71500000 3100000
RECOGNIZING 현재 정상 71500000 10300000
RECOGNIZING 정상, 이제 해보겠습니다. 71500000 14700000
RECOGNIZING 정상, 이제 시작하겠습니다. 71500000 18500000
RECOGNIZED 정상, 이제 시작하겠습니다. 71500000 20600000

두 번째 발화의 총 기간은 2.06초였습니다. 오디오 스트림의 시작부터 7.15~9.21초 오프셋에서 인식되었습니다(00:00:07.150 --> 00:00:09.210).

참조 설명서 | 패키지(PyPi) | GitHub의 추가 샘플

이 방법 가이드에서는 음성 인식 결과를 사용하는 방법을 알아봅니다.

음성 동기화

실시간으로 수행하든, 사전 녹음으로 수행하든 관계없이 대화 기록을 오디오 트랙과 동기화할 수 있습니다.

Speech Service는 인식된 음성의 오프셋과 기간을 반환합니다.

  • 오프셋: 인식되는 오디오 스트림의 오프셋으로, 기간으로 표시됩니다. 오프셋은 0(0) 틱부터 시작하여 SDK에서 처리된 첫 번째 오디오 바이트와 연결된 틱으로 측정됩니다. 예를 들어, 오프셋은 인식을 시작할 때 시작됩니다. 이때 SDK가 오디오 스트림 처리를 시작하기 때문입니다. 틱 하나는 100나노초 또는 1/1000만 초를 나타냅니다.
  • 기간: 인식되는 발화의 기간입니다. 틱의 기간에는 후행 또는 선행 무음이 포함되지 않습니다.

단일 발화의 끝은 종료 시 무음을 수신 대기하여 결정됩니다. 발화가 완료될 때까지 최종 인식 결과를 얻을 수 없습니다. 이벤트를 인식하면 오디오 스트림이 처리되는 동안 변경될 수 있는 중간 결과가 제공됩니다. 인식된 이벤트는 발화 처리가 완료된 후 최종 대화 기록 텍스트를 제공합니다.

인식 오프셋 및 기간

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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 RecognizingRecognized 이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 RecognizingRecognized 이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING 시작 17000000 5000000
RECOGNIZING 에 오신 것을 환영합니다. 17000000 6400000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 13600000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 17200000
RECOGNIZING 응용 수학 과정에 오신 것을 환영합니다. 17000000 23700000
RECOGNIZING 응용 수학 과정 2에 오신 것을 환영합니다. 17000000 26700000
RECOGNIZING 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 33400000
RECOGNIZED 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 34500000

첫 번째 발화의 총 기간은 3.45초였습니다. 오디오 스트림의 시작부터 1.7~5.15초 오프셋에서 인식되었습니다(00:00:01.700 --> 00:00:05.150).

화자가 "시작합시다."라고 계속 말하면 인식되는 오디오 스트림의 시작부터 새 발화의 시작까지 새 오프셋이 계산됩니다. 다음 표에서는 이전 발화가 종료되고 2초 후에 시작된 발화에 대한 잠재적 오프셋과 기간을 보여 줍니다.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING OK 71500000 3100000
RECOGNIZING 현재 정상 71500000 10300000
RECOGNIZING 정상, 이제 해보겠습니다. 71500000 14700000
RECOGNIZING 정상, 이제 시작하겠습니다. 71500000 18500000
RECOGNIZED 정상, 이제 시작하겠습니다. 71500000 20600000

두 번째 발화의 총 기간은 2.06초였습니다. 오디오 스트림의 시작부터 7.15~9.21초 오프셋에서 인식되었습니다(00:00:07.150 --> 00:00:09.210).

이 방법 가이드에서는 음성 인식 결과를 사용하는 방법을 알아봅니다.

음성 동기화

실시간으로 수행하든, 사전 녹음으로 수행하든 관계없이 대화 기록을 오디오 트랙과 동기화할 수 있습니다.

Speech Service는 인식된 음성의 오프셋과 기간을 반환합니다.

  • 오프셋: 인식되는 오디오 스트림의 오프셋으로, 기간으로 표시됩니다. 오프셋은 0(0) 틱부터 시작하여 SDK에서 처리된 첫 번째 오디오 바이트와 연결된 틱으로 측정됩니다. 예를 들어, 오프셋은 인식을 시작할 때 시작됩니다. 이때 SDK가 오디오 스트림 처리를 시작하기 때문입니다. 틱 하나는 100나노초 또는 1/1000만 초를 나타냅니다.
  • 기간: 인식되는 발화의 기간입니다. 틱의 기간에는 후행 또는 선행 무음이 포함되지 않습니다.

단일 발화의 끝은 종료 시 무음을 수신 대기하여 결정됩니다. 발화가 완료될 때까지 최종 인식 결과를 얻을 수 없습니다. 이벤트를 인식하면 오디오 스트림이 처리되는 동안 변경될 수 있는 중간 결과가 제공됩니다. 인식된 이벤트는 발화 처리가 완료된 후 최종 대화 기록 텍스트를 제공합니다.

인식 오프셋 및 기간

실시간으로 또는 사전 녹음을 통해 수행하는지에 관계없이 캡션을 오디오 트랙과 동기화하려고 합니다. 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 열에서 RecognizingRecognized 이벤트에 대한 오프셋 및 기간을 포함한 세부 정보를 찾을 수 있습니다.

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

자세한 내용은 Speech CLI 데이터 저장소 구성출력 옵션을 참조하세요.

예제 오프셋 및 기간

다음 표에서는 화자가 “응용 수학 과정 201에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 RecognizingRecognized 이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 RecognizingRecognized 이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING 시작 17000000 5000000
RECOGNIZING 에 오신 것을 환영합니다. 17000000 6400000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 13600000
RECOGNIZING 응용 수학에 오신 것을 환영합니다. 17000000 17200000
RECOGNIZING 응용 수학 과정에 오신 것을 환영합니다. 17000000 23700000
RECOGNIZING 응용 수학 과정 2에 오신 것을 환영합니다. 17000000 26700000
RECOGNIZING 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 33400000
RECOGNIZED 응용 수학 과정 201에 오신 것을 환영합니다. 17000000 34500000

첫 번째 발화의 총 기간은 3.45초였습니다. 오디오 스트림의 시작부터 1.7~5.15초 오프셋에서 인식되었습니다(00:00:01.700 --> 00:00:05.150).

화자가 "시작합시다."라고 계속 말하면 인식되는 오디오 스트림의 시작부터 새 발화의 시작까지 새 오프셋이 계산됩니다. 다음 표에서는 이전 발화가 종료되고 2초 후에 시작된 발화에 대한 잠재적 오프셋과 기간을 보여 줍니다.

이벤트 Text 오프셋(틱 단위) 기간(틱 단위)
RECOGNIZING OK 71500000 3100000
RECOGNIZING 현재 정상 71500000 10300000
RECOGNIZING 정상, 이제 해보겠습니다. 71500000 14700000
RECOGNIZING 정상, 이제 시작하겠습니다. 71500000 18500000
RECOGNIZED 정상, 이제 시작하겠습니다. 71500000 20600000

두 번째 발화의 총 기간은 2.06초였습니다. 오디오 스트림의 시작부터 7.15~9.21초 오프셋에서 인식되었습니다(00:00:07.150 --> 00:00:09.210).

다음 단계