IOS application/Swift

21. iOS TTS (Text-To-Speech)

개발자킹콩 2021. 6. 28. 09:14

iOS 10 이상부터 text data를 목소리 형태로 바꿀 수 있다.

코드는 아래와 같이 비교적 많이 간단하다. 

주의할 점은 반드시 import AVFoundation 을 추가해야 한다.

 

import UIKit
import AVFoundation

class TextToSpeechViewController: UIViewController {

    @IBOutlet weak var myTextView: UITextView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        myTextView.text = "오빤 맨날 그런식이야"
    }
    
    @IBAction func textToSpeechButtonHandler(_ sender: Any) {
        let synthesizer = AVSpeechSynthesizer()
        let utterance = AVSpeechUtterance(string: myTextView.text)
        utterance.voice = AVSpeechSynthesisVoice(language: "ko-KR")
        utterance.rate = 0.4
        utterance.pitchMultiplier = 1 // 0.5 ~ 2 낮을수록 남자같음
        synthesizer.speak(utterance)
    }
}