본문 바로가기

[IOS][SWIFT]

[IOS][SWIFT] TextField의 Text를 TTS 구현하기!

반응형

안녕하세요!

오늘은 제가 요즘 스터디중에 사용하려고 알아본

TTS기능을 구현하는걸 알아보려고 합니다!

 

간단하게 예시로 제작한 코드와 영상 보시고 이론 살펴보도록 하겠습니다!

 

먼저 간단하게 구현한 코드입니다!

 

먼저 사운드를 이용하게 만들수 있는 AVFoundation를 import하면서 시작합니다

 

뷰는 간단한 TextField와 Button을 만들고

ButtonAction에 TextField에 있는 단어를 사운드로 들어보도록 하는 코드를 작성해 보았습니다!

저렇게 텍스트를 입력하고 버튼을 누르면 시뮬레이터라도 음성이 나오기 때문에 꼭 한번 해보시길 추천드립니다!

 

자 그럼 TTS에 관해서 자세히 알아보도록 하겠습니다!

 

먼저 TTS란? 풀어서 쓰면 Text-To-Speech로 말 그래도 단어를 말해주는것인데요

 

위에 코드를 보시면 AVSpeechSynthesizer를 통해 초기화를 시켜주는대요 이 AVSpeechSynthesizer는 

IOS 7부터 공개된 클래스로 다른 소프트웨어를 사용하지 않고 독자적으로 음성합성이 가능하도록 해준것이고,

 

이를 AVSpeechUtterance를 통해서 음성합성의 대상을 지정해주는 것입니다.

이때 설정해 줄 수 있는 여러가지 옵션들이 있는데 위 코드는 그중 voice를 ko-KR로 설정해줬고,

그 외에도 rate(읽는 속도), pitchMultiplier(목소리의 높낮이), volum(음성 볼륨)등을 설정해 줄 수 있다고 합니다.

 

여러가지 옵션중에 voice는 가장 다양하게 설정할 수 있는데,

지원 가능한 언어 목록을 찾아보니 대략 37개정도의 예시가 나오는대요 이를 확인해보는 방법이 있어

확인해 봤습니다!

 

 

현재 우리나라는 22번에 Yuna라는 목소리 하나만 지원되는데 Yuna의 목소리를 꼭 들어보시길 바라겠습니다!

 

오늘은 제가 만들 앱에서 사용될 Swift TTS의 기능에 대해 알아봤습니다!

 

사실 오늘부터 UITableView나 UICollectionView 그리고 UIScrollView 같은 주제를 써보려 했는데

스터디 앱을 만드려고 기능을 알아보다 재미있어서 TTS에 관해 작성하게 되었습니다!

이 뷰들을 다루는건 11월 17일부터 시작해보도록 하겠습니다!

반응형