AISmarteasy – 시맨틱 커널 포크로 개발하기 7 – 음성
llm은 언어 모델이니 텍스트 지원이 우선이지만, 언어 지원도 기본이다.
openai는 wisper로 음성 인식(STT; Speech To Text)만 지원했지만, 최근 음성 합성(TTS; Text To Speech) 지원에도 나섰다.
음성 인식과 음성 합성을 해 보니, 결과는 이쪽 관련 회사들은 많이 곤란할 정도의 수준이다.
[설계 결정]
– 음성 처리를 위해 NAudio를 사용한다.
음성 인식의 경우, 파일 시작 부분에 긴 침묵이 있으면 Whisper가 잘 못 처리하는 경우가 있다고 하니, 무음을 감지하고 잘라내서 처리하도록 한다.
– 시맨틱 커널에서 사용하고 있는 Azure.AI.OpenAI(1.0.0-beta.12)는 OpenAI의 음성 합성 부분을 지원하지 않고 있다. 이에 대한 지원이 되는 시점까지는 OpenAI(1.10.0)를 사용한다.
[미 반영 요구사항]
– 실 시간 STT TTS 지원
통역 같은 경우에 사용하려는 요청과 결과가 약간의 시간 차를 가지고 처리되어야 한다.