새소식

개발일지

TripMate (3) - AVSpeechSynthesizer

  • -

번역기에서 앱을 사용할 때 글자를 읽어주는 기능을 구현하였다.

 

다행하게도 Swift에서 구현을 할 수 있었다.

 

 

AVSpeechSynthesizer | Apple Developer Documentation

An object that produces synthesized speech from text utterances and enables monitoring or controlling of ongoing speech.

developer.apple.com

 

AVSpeechSynthesizer 공식 문서를 참고하면 텍스트를 읽게 하려면 AVSpeechUtterance 인스턴스를 생성하고 speaking(_:) 함수에 전달하면 된다고 되어 있다. 문서와 다른 블로그 포스팅 참고하여 작성한 코드이다.

 

let synthesizer = AVSpeechSynthesizer()

@objc func didTapSpeakButton(){
    let utterance = AVSpeechUtterance(string: resultLabel.text!)
    utterance.voice = AVSpeechSynthesisVoice(language: translateManager.targetLanguage.identifier)
    utterance.rate = 0.4
    synthesizer.stopSpeaking(at: .immediate)
    synthesizer.speak(utterance)
}

 

위 코드를 구현하고 테스트를 하려면 실제 기기에서 실행해야되며, 기기의 무음모드도 해제해야 한다!!

 

참고

 

[iOS][Swift] TTS(Text To Speech) 구현

Text To Speech를 아시나요? TTS는 전부터 우리와 함께 했던 기술 중 하나에요. 바로 텍스트를 음성으로 바꿔주는 것입니다.TTS를 위한 오픈소스들도 많지만 iOS에서 기본 제공되는 프레임워크를 통해

velog.io

 

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.