Ошибка при работе с Speech от Apple

swift
ios
swift3

#1

Всем доброго времени суток, реализую ввод текста в textFeild через микрофон, прописываю функцию и столкнулся с ошибкой
Ошибка под комментарием 5:

Initializer for conditional binding must have Optional type, not 'AVAudioInputNode’

guard let inputNode = VC.audioEngene.inputNode else{ // 5
fatalError("Аудио движок не имеет входного узла")
} 

Во ViewController указал константу:

let audioEngene = AVAudioEngine()

Полный код функции:

var VC = ViewController()

func startRecording() {
    
    if VC.recognitionTask != nil {  // 1
        VC.recognitionTask?.cancel()
        VC.recognitionTask = nil
    }
    
    let audioSession = AVAudioSession.sharedInstance() // 2
    
    do { // 3
        try audioSession.setCategory(AVAudioSession.Category.record)
        try audioSession.setMode(AVAudioSession.Mode.measurement)
        try audioSession.setActive(true, options: .notifyOthersOnDeactivation)
    } catch {
        print("Не удалось настроить аудиосессию")
    }
    
    VC.recognitionRequest = SFSpeechAudioBufferRecognitionRequest() // 4
    
    guard let inputNode = VC.audioEngene.inputNode else { // 5
        fatalError("Аудио движок не имеет входного узла")
    }
    
    guard let recognitionRequest = VC.recognitionRequest else { // 6
        fatalError("Не могу создать экземпляр запроса")
    }
    
    recognitionRequest.shouldReportPartialResults = true // 7
    
    VC.recognitionTask = VC.speechRecognizer?.recognitionTask(with: recognitionRequest) { // 8
        result, error in
        
        var isFinal = false // 9
        
        if result != nil { // 10
            VC.textField.text = result?.bestTranscription.formattedString
            isFinal = (result?.isFinal)!
        }
        
        if error != nil || isFinal { // 11
            VC.audioEngene.stop()
            inputNode.removeTap(onBus: 0)
            
            VC.recognitionRequest = nil
            VC.recognitionTask = nil
            
            VC.recordButton.isEnabled = true
        }
    }
    
    let format = inputNode.outputFormat(forBus: 0) // 12
    
    inputNode.installTap(onBus: 0, bufferSize: 1024, format: format) { // 13
        buffer, _ in
        VC.recognitionRequest?.append(buffer)
    }
    
    VC.audioEngene.prepare() //14
    
    do {  // 15
        try VC.audioEngene.start()
    } catch {
        print("Не удается стартонуть движок")
    }
    
    VC.textField.text = "Помедленнее, запись не такая быстрая" // 16
}