OnDevice 문제해결 및 FAQ

인식 언어 변경

원하는 언어의 언어 팩으로 서버를 다시 시작합니다.

로그

Speech-To-Text 바이너리에는 네 가지 로깅 모드가 있습니다.

  • debug: 바이너리 디버깅에 도움이 되는 상세 로그입니다. 예를 들어 서버 응답은 이 모드로 로깅됩니다.
  • prod: 권장 프로덕션 설정 로그에는 바이너리/빌드 버전, 세션 시작, 세션 종료, 경고, 오류에 대한 정보가 포함됩니다.
  • warning: 로그에 경고 또는 오류만 포함됩니다.
  • error: 로그에 오류만 포함됩니다.

로깅은 --min_log_level 플래그로 제어할 수 있으며 모든 로그가 stdout에 기록됩니다.

문제가 발생하면 디버그 로깅을 사용하여 Speech-to-Text 서버를 실행하세요.

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?}\
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --api_key=${API_KEY?}

시작 시 바이너리 로그

  • build ID: 바이너리를 빌드와 연결하는 ID입니다.
  • Language Pack ID: 서버에서 로드한 언어 팩의 ID입니다.

텍스트 변환 시: 서버는 제공된 request ID를 로깅합니다. 세션이 끝나면 서버는 세션 상태를 로깅합니다.

로깅은 잘못된 사용으로 인해 발생하는 문제를 해결하기에 충분해야 합니다. 또한 서버 동작을 이해하는 데 도움이 될 수 있습니다. 예를 들어 서버는 오디오의 무언가를 인식하지 않는 한 응답을 보내지 않습니다. 오디오가 무음이거나 이해할 수 없는 소리인 경우 응답이 전송되지 않습니다.

세션 상태

성공적인 세션은 OK 상태로 종료됩니다.

... Closing StreamingRecognize ($request_id) with status OK

실패한 세션은 OK(확인)가 아닌 상태로 종료됩니다. 예를 들어 초기 구성 이후 새 구성 요청을 보낸 세션 등이 여기에 해당합니다.

... Closing StreamingRecognize ($request_id) with status INVALID_ARGUMENT: Malordered data received. Expected audio but received config. Send exactly one config, followed by audio data.

회의 녹화

ASR 서버는 Google의 디버깅을 돕기 위해 상호작용 기록을 지원합니다.

사용 예시

녹음 파일을 저장할 디렉터리를 만듭니다.

mkdir $PWD/recordings

--recordings 플래그를 사용하여 서버를 시작합니다.

./speech_to_text_server --host_ip=${STT_IP?} --port=${STT_PORT?} \
  --language_pack=${LANGUAGE_PACK?} --min_log_level="debug" \
  --recordings=$PWD/recordings --api_key=${API_KEY?}

다음 명령어로 클라이언트를 시작합니다.

./speech_to_text_client --server_ip=${STT_IP?} --port=${STT_PORT?} \
  --audio=samples/*.wav

다음 형식의 파일이 생성됩니다.

$PWD/recordings/{filename}_{timestamp}_requests.riegeli (1)
$PWD/recordings/{filename}_{timestamp}_responses.riegeli (2)

{filename}은 기록 중인 .wav 파일의 이름입니다. speech_to_text_clientfilename를 {request_id}로 사용합니다. 위의 첫 번째 예시는 StreamingRecognizeRequest 시퀀스가 포함된 Riegeli 파일이며, 두 번째 예시는 StreamingRecognizeResponse 시퀀스가 포함된 Riegeli 파일입니다.

파일 형식

녹음 파일은 서버로 전송된 요청 및 응답이 포함된 riegeli 파일입니다. 요청과 응답은 서버에서 전송 및 수신되는 순서대로 디스크에 스트리밍됩니다.

추가 지원

코드 변경이 필요한 경우와 같이 지원이 필요한 문제를 해결하려면 관련 정보를 제공하세요(해당하는 경우).

그리고 문제에 대한 설명을 제공하세요.