合成音声での読み上げ
SwiftUIで合成音声の読み上げをやってみます。
まずはモジュールの宣言。
import AVFoundation
そして読み上げの設定と、読み上げ。
let synthesizer = AVSpeechSynthesizer()
let utterance = AVSpeechUtterance(string: "読み上げる文章")
utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP")
// -- オプション(後述)はここに記入 -- //
synthesizer.speak(utterance)
これで"読み上げる文章"を合成音声で読み上げます。
話す速度や声の高さは、オプションで設定できます。
// オプション:話す速度[設定値:0.0 ~ 1.0]
utterance.rate = AVSpeechUtteranceDefaultSpeechRate
// 設定値以外にも、規定値として次のようなものがあります
// -- AVSpeechUtteranceDefaultSpeechRate : デフォルト
// -- AVSpeechUtteranceMinimumSpeechRate : 最も遅いスピード
// -- AVSpeechUtteranceMaximumSpeechRate : 最も早いスピード
// オプション:声の高さ(ピッチ)[設定値: 0.5 ~ 2.0 / デフォルト 1.0]
utterance.pitchMultiplier = 1.5
// オプション:音量[設定値: 0.0~1.0 / デフォルト 1.0]
utterance.volume = 0.5
いやぁ…思ったより簡単にできますね。びっくり。
AVSpeechUtterance | Apple Developer Documentation
https://developer.apple.com/documentation/avfaudio/avspeechutterance