iOS How to use Text To Speech(TTS)

운영 체제: macOS Ventura 13.2.1
사용 버전: Xcode 14.3, Swift, SwiftUI

iOS How to use Text To Speech(TTS)를 알아보겠습니다.


오늘은 iOS에서 Text To Speech(TTS)를 사용하는 방법을 알아보겠습니다.

Text To Speech는 글자를 읽어주는 기능입니다. iOS 내부에는 Voice Over라는 기능이 있습니다. 이러한 기능을 사용하면 자동으로 글을 읽어주는데요. 오늘 다룰 내용은 이 Voice Over가 아닌 AVSpeechSynthesizer(), AVSpeechSynthesisVoice(), AVSpeechUtterance()를 사용할 겁니다.


Speech Synthesis 문서는 아래에 있습니다.
https://developer.apple.com/documentation/avfoundation/speech_synthesis

버튼을 누르면 말을 하게 만들 거라서 버튼을 하나 만듭니다.






9 번째 줄처럼 import AVFoundation을 적어줍니다.






16 번째 줄처럼 AVSpeechUtterance를 사용합니다. string에는 말하고 싶은 내용을 넣습니다. 저는 스타워즈의 포스가 함께 하길(May the Force be with you)를 적어봤습니다.







AVSpeechUtterance에는 몇 가지 조정할 수 있는 설정들이 있습니다.

18 번째 줄의 rate는 말하는 속도.

19 번째 줄의 pitchMultiplier는 음 높낮이.

20 번째 줄의 postUtteranceDelay는 여러 음성이 실행되기를 기다릴 때, 그 사이의 간격.

21 번째 줄의 volume은 소리의 크기.







다음은 목소리를 설정합니다.

AVSpeechSynthesisVoice를 사용합니다.

language에는 BCP 47 코드가 사용됩니다.

ko-KR은 한국, en-GB는 영국, en-US는 미국 등입니다.








25 번째 줄처럼 utterance에 voice를 넣어줍니다.







27 번째 줄처럼 AVSpeechSynthesizer를 정의합니다.

29 번째 줄처럼 utterance를 speak 합니다.








자, 실행하면 돼야 하는데... 왜 실행이 안 될까요?


12 번째 줄처럼 synthesizer를 밖으로 빼줍니다.







이제, 실행이 됩니다.




끝.


카테고리: iOS

댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

KiCad 시작하기 2 (PCB 만들기)