Swift4.2での質問です。
SFSpeechRecognizerとAVSpeechSynthesizerを一つのアプリで使うとき、
例えばRecognizeViewControllerで音声認識を行い、SpeechViewControllerのspeechButtonで音声読み上げを行うよう組んだのですが、Thread 1: signal SIGABRTのエラーが出てしまい困っているので質問させていただきます。https://qiita.com/croquette0212/items/bf0e41ca1b65c6d320b4
この記事を読み、AVSessionのsetCategoryによる使い分けを行えばよいと思い、
音声認識処理では録音処理のメソッドに

private func startRecording() throws {
    //ここに録音する処理を記述
    if let recognitionTask = recognitionTask {
        //リセット処理
        recognitionTask.cancel()
        self.recognitionTask = nil
        let audioSession = AVAudioSession.sharedInstance()
        try audioSession.setCategory(AVAudioSession.Category.record, mode: .default)
        try audioSession.setMode(AVAudioSession.Mode.measurement)
        try audioSession.setActive(true, options: .notifyOthersOnDeactivation)
    }
}

と書き、 SpeechViewControllerの方には

var talker = AVSpeechSynthesizer()

override func viewDidLoad() {
    //speechButtonの生成処理
    speechButton.addTarget(resultCardView, action: #selector(speachButtonTapped(sender: )), for: .touchUpInside 
}

@objc func speachButtonTapped(sender: Any) {
    let avSession = AVAudioSession.sharedInstance()
    try? avSession.setCategory(AVAudioSession.Category.ambient, mode: .default, options: .mixWithOthers)
    let utterance = AVSpeechUtterance(string:self.Jplabel.text!)
    utterance.voice = AVSpeechSynthesisVoice(language: "en-En")
    utterance.volume = 1.2
    // 実行
    self.talker.speak(utterance)
}

このように記述したのですが、Thread 1: signal SIGABRTとなってしまいました。
わかる方がいましたら、お願いいたします。