본문 바로가기
컴퓨터개론

음성 인식(speech-to-text), 음성 합성(text-to-speech)

by seung_nari 2022. 6. 17.

음성 인식이란?

https://colab.research.google.com/drive/1qFt8qxKtM05hRuRxsA1Lq4JtP7tstcgc

자동 음성 인식(ASR), 컴퓨터 음성 인식 또는 음성-텍스트 변환(Speech-to-text)이라고도 부르는 음성 인식은 프로그램이 사람의 음성을 텍스트 형식으로 처리할 수 있도록 해주는 기능입니다. 이는 일반적으로는 목소리 인식(voice recognition)과 혼동되고 있습니다. 음성 인식이 구어체 형식의 음성을 텍스트 형식으로 변환하는 데 집중하는 반면, 목소리 인식은 단지 개별 사용자의 목소리를 식별하는 데만 집중합니다.

 

음성 인식 기술 작동

시리나 빅스비와 같은 가상 비서들은 딥러닝 기반의 자연어 처리(NLP) 기술을 통해 사람의 언어를 이해합니다. 수많은 자연어 데이터를 처리하고 분석하기 위해 다음과 같은 과정을 거칩니다.

 

  1. 사용자가 호출어와 함께 스마트폰의 가상 비서나 AI 스피커에 말을 합니다.
  2. 기계는 STT (Speech-to-text) 기술을 통해 사용자의 음성을 텍스트로 변환합니다.
  3. 기계는 NLP 기술을 통해 데이터를 처리합니다.
  4. 기계는 TTS (Text-to-speech) 기술을 통해 처리한 텍스트를 오디오로 변환합니다.
  5. 변환된 오디오를 송출해 사용자에 응답합니다.

 

이 과정은 굉장히 간단해 보일 수 있지만, 기계의 입장에서 인간의 언어는 이해하기 매우 어려운 영역입니다. 문장의 형태소(morphological) 분석, 구문(syntactic) 분석, 의미(semantic) 분석, 화용(pragmatic) 분석 등을 통해 문장의 의미를 파악하죠.

 

자연어 처리란?

NLP(Natural Language Processing, 자연어 처리)는 인공지능의 한 분야로서 머신러닝을 사용하여 텍스트와 데이터를 처리하고 해석합니다. 자연어 인식 및 자연어 생성이 NLP의 유형입니다.

 

자연어 처리(NLP)는 머신러닝을 사용하여 텍스트의 구조와 의미를 파악합니다. 자연어 처리 애플리케이션을 사용하면 조직에서 텍스트를 분석하고 사람, 장소, 사건에 대한 정보를 추출하여 소셜 미디어 감정과 고객 대화를 더욱 정확하게 이해할 수 있습니다.

 

음성 합성

https://developer.huawei.com/consumer/en/doc/development/HMS-Plugin-Guides-V1/tts-0000001050765791-V1

: 말소리의 음파를 기계가 자동으로 만들어 내는 기술로, 간단히 말하면 모델로 선정된 한 사람의 말소리를 녹음하여 일정한 음성 단위로 분할한 다음, 부호를 붙여 합성기(speech computer, speech synthesizer)에 입력하였다가 지시에 따라 필요한 음성 단위만을 다시 합쳐 말소리를 인위로 만들어내는 기술이다. TTS(Text-to-speech)라고도 한다.

 

음성의 분절음을 합성하는 것은 어렵고 결과가 좋지 않기에, 분절음의 경계를 중심으로 앞 음성의 뒷부분과 뒤 음성의 앞부분을 함께 기록하여 이를 토대로 음성 합성을 하기도 한다. 이러한 이음 처리를 diphone 처리라고 한다.

 

음성 합성 활용 사례

  • 텍스트 음성 변환 시스템

프론트 엔드와 백엔드 두 부분으로 구성된다. 일반적으로 프론트 엔드는 사용자가 입력한 텍스트에서 기호화된 언어 표현을 보낸다. 백엔드는 합성된 음성의 파형을 보낸다.

  • 프론트 엔드

프론트 엔드는 두 가지의 큰 일을 합니다. 그 중 하나는 텍스트 안의 숫자나 생략 표현을 읽을 때 표현으로 변환하는 것입니다. 텍스트의 정규화, 프리프로셋싱, 토큰화 등으로 불리기도 한다. 또 하나는 각 단어를 발음 기호로 변환하여 텍스트 숙어, 단어나 문장, 문장 등의 운율 단위로 분활하는 것입니다. 낱말 발음 기호를 할당 작업을 텍스트 음소 (TTP, text-to-phoneme) 변환 또는 서기소음소 (grapheme-to-phoneme, GTP) 변환이라고 부릅니다. 발음 기호와 운율 정보를 조합하여 기호화된 언어 표현을 만들어서 프론트 엔드로 내보낸다.

  • 백엔드

프론트 엔드가 내보낸 결과를 바탕으로 보다 자연스러운 음성으로 만들기 위해 운율 등의 음성을 조정하여 실제 음성 데이터를 출력한다. 이 과정에서 음성의 특성이 정해지기 때문에 음성 합성 소프트웨어만의 색채가 나오는 경우가 많다.

  • 운영 체제에서의 음성 합성

- 애플 운영체제 : 보이스오버 제공

- 마이크로소프트 윈도 : SAPI 제공. 윈도우 XP에서는 내레이터라는 음성 합성 프로그램 추가. 콜 센터 등의 사용자에게 음성 인식과 음성 합성 패키지로 마이크로소프트 스피치 서버(Microsoft Speech Server)를 제공

  • 수식의 음성 변환

수학 공식과 각종 과학 기술 분야에서 사용하는 심볼은 일반적인 텍스트로는 표현에 제약이 있거나 해당 분야 전문가가 아니면 정확하게 읽을 수 없는 경우가 많은데, 음성 합성 기술이 발전됨에 따라 수식을 읽어주는 기능과 접목하여 장애인 뿐만 아니라 일반인들의 교육용에도 점점 많이 응용이 시도되고 있다.

  • 인터넷에서의 음성 합성

음성 합성 마크업 언어 : W3C가 제안한 SSML. SABLE, JSML 등

 

 

 

 

출처 : 

https://ko.wikipedia.org/wiki/음성합성

https://www.mobiinside.co.kr/2021/01/04/flitto-voice-recognition/

https://www.ibm.com/kr-ko/cloud/learn/speech-recognition

'컴퓨터개론' 카테고리의 다른 글

인공신경망 (Artificial Neural Network, ANN)의 종류 및 구조  (0) 2022.06.17
챗봇이란?  (0) 2022.06.17
Internet of Things (IoT)  (0) 2022.06.17
블록체인 BlockChain  (0) 2022.06.16
인공 지능 AI, 머신 러닝, 딥 러닝  (0) 2022.06.16

댓글