음성 인식 결과 가져오기
참조 설명서 | 패키지(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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 Recognizing
및 Recognized
이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 Recognizing
및 Recognized
이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.
이벤트 | 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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 Recognizing
및 Recognized
이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 Recognizing
및 Recognized
이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.
이벤트 | 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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 Recognizing
및 Recognized
이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 Recognizing
및 Recognized
이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.
이벤트 | 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
이벤트에는 지금까지 인식된 음성의 예상 텍스트가 함께 제공됩니다.
이 코드 조각은 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
이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.
이벤트 | 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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 Recognizing
및 Recognized
이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 Recognizing
및 Recognized
이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.
이벤트 | 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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 Recognizing
및 Recognized
이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 Recognizing
및 Recognized
이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.
이벤트 | 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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 Recognizing
및 Recognized
이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 Recognizing
및 Recognized
이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.
이벤트 | 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에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 Recognizing
및 Recognized
이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 Recognizing
및 Recognized
이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.
이벤트 | 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
열에서 Recognizing
및 Recognized
이벤트에 대한 오프셋 및 기간을 포함한 세부 정보를 찾을 수 있습니다.
{
"Id": "492574cd8555481a92c22f5ff757ef17",
"RecognitionStatus": "Success",
"DisplayText": "Welcome to applied Mathematics course 201.",
"Offset": 1800000,
"Duration": 30500000
}
자세한 내용은 Speech CLI 데이터 저장소 구성 및 출력 옵션을 참조하세요.
예제 오프셋 및 기간
다음 표에서는 화자가 “응용 수학 과정 201에 오신 것을 환영합니다.”라고 말할 때 틱의 잠재적 오프셋과 기간을 보여 줍니다. 이 예제에서 오프셋은 Recognizing
및 Recognized
이벤트 전체에서 변경되지 않습니다. 그러나 최종 결과가 다를 수 있으므로 Recognizing
및 Recognized
이벤트 간을 동일하게 유지하기 위해 오프셋을 활용하지 마세요.
이벤트 | 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).