合成音声での読み上げ

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です