How to make speech recognition more accurate?

Hi,

I'm using the Speech library to get speech recognition from AVAudioRecorder and store the text to database. However, most of the time it is not accurate. Heck, even "test 123" gave me entirely different words (eg. "this one till three", "this one ticket", etc). The funny thing was, it was correct a few times when it was still progressing, but then it changed into the wrong final words. So, how do I increase the accuracy of it?

This is what I got as the settings:

          try audioSession.setCategory(.record, mode: .spokenAudio, options: .duckOthers)
         try audioSession.setActive(true, options: .notifyOthersOnDeactivation)

     let recorderSettings: [String:Any] = [
          AVFormatIDKey: NSNumber(value: kAudioFormatAppleLossless),
          AVSampleRateKey: 44100.0,
          AVNumberOfChannelsKey: 1,
          AVEncoderAudioQualityKey: AVAudioQuality.max.rawValue
    ]

Is there anything else to improve? Thank you.

How to make speech recognition more accurate?
 
 
Q