algolia / voice-overlay-ios

🗣 An overlay that gets your user’s voice permission and input as text in a customizable UI
https://alg.li/voice
MIT License
545 stars 62 forks source link

AVAudioEngine Exception #29

Closed ShaiAlkoby closed 3 years ago

ShaiAlkoby commented 4 years ago

Hey,

This library works perfectly on almost all the devices, but occasionally I get an exception of the following:

Fatal Exception: com.apple.coreaudio.avfaudio required condition is false: format.sampleRate == hwFormat.sampleRate

The exception occurs on line 100 of SpeechController on the following statement: let node = audioEngine.inputNode

stacktrace:

Fatal Exception: com.apple.coreaudio.avfaudio 0 CoreFoundation 0x1a92eea48 __exceptionPreprocess 1 libobjc.A.dylib 0x1a9015fa4 objc_exception_throw 2 CoreFoundation 0x1a91f0e88 +[_CFXNotificationTokenRegistration keyCallbacks] 3 AVFAudio 0x1b5de5b8c AVAE_RaiseException(NSString, ...) 4 AVFAudio 0x1b5de5afc _AVAE_Check(char const, int, char const, char const, bool) 5 AVFAudio 0x1b5e80888 AVAudioIONodeImpl::SetOutputFormat(unsigned long, AVAudioFormat*) 6 AVFAudio 0x1b5e7a7a4 -[AVAudioNode setOutputFormat:forBus:] 7 AVFAudio 0x1b5e92198 AVAudioEngineImpl::UpdateInputNode(bool) 8 AVFAudio 0x1b5e8e484 -[AVAudioEngine inputNode] 9 InstantSearchVoiceOverlay 0x101cc6ad4 SpeechController.record(textHandler:errorHandler:) + 100 (SpeechController.swift:100) 10 InstantSearchVoiceOverlay 0x101cc6580 closure #1 in SpeechController.startRecording(textHandler:errorHandler:) + 81 (SpeechController.swift:81) 11 InstantSearchVoiceOverlay 0x101cc772c partial apply for closure #1 in SpeechController.requestAuthorization(_:) + 67 (SpeechController.swift:67) 12 InstantSearchVoiceOverlay 0x101cc633c thunk for @escaping @callee_guaranteed (@unowned SFSpeechRecognizerAuthorizationStatus) -> () ()

spinach commented 4 years ago

Interesting.. might be related to this Do you know what kind of devices and iOS versions are throwing this error?

ShaiAlkoby commented 4 years ago
Screen Shot 2020-04-14 at 13 29 32
ShaiAlkoby commented 4 years ago

Now I see another exception that is occurring: Fatal Exception: com.apple.coreaudio.avfaudio required condition is false: IsFormatSampleRateAndChannelCountValid(format)

The stack trace:

Fatal Exception: com.apple.coreaudio.avfaudio 0 CoreFoundation 0x18b04ea48 __exceptionPreprocess 1 libobjc.A.dylib 0x18ad75fa4 objc_exception_throw 2 CoreFoundation 0x18af50e88 +[_CFXNotificationTokenRegistration keyCallbacks] 3 AVFAudio 0x197b45b8c AVAE_RaiseException(NSString, ...) 4 AVFAudio 0x197b45afc _AVAE_Check(char const, int, char const, char const, bool) 5 AVFAudio 0x197b86360 AUGraphNodeBaseV3::CreateRecordingTap(unsigned long, unsigned int, AVAudioFormat, void (AVAudioPCMBuffer, AVAudioTime) block_pointer) 6 AVFAudio 0x197b788a8 AVAudioEngineGraph::InstallTapOnNode(AVAudioNode, unsigned long, unsigned int, AVAudioFormat, void (AVAudioPCMBuffer, AVAudioTime) block_pointer) 7 AVFAudio 0x197bf48d4 AVAudioEngineImpl::InstallTapOnNode(AVAudioNode, unsigned long, unsigned int, AVAudioFormat, void (AVAudioPCMBuffer, AVAudioTime*) block_pointer) 8 AVFAudio 0x197bdb228 -[AVAudioNode installTapOnBus:bufferSize:format:block:] 9 InstantSearchVoiceOverlay 0x103b9ebe4 SpeechController.record(textHandler:errorHandler:) + 105 (SpeechController.swift:105) 10 InstantSearchVoiceOverlay 0x103b9e580 closure #1 in SpeechController.startRecording(textHandler:errorHandler:) + 81 (SpeechController.swift:81)

priya-tyagi-falconeer commented 9 months ago

I am facing this issue on iOS 17. Any help to resolve this issue is appreciated.

Fatal Exception: com.apple.coreaudio.avfaudio required condition is false: IsFormatSampleRateAndChannelCountValid(hwFormat)

Exception start from Line 106 of SpeechController node.installTap(onBus: 0, bufferSize: SpeechController.AUDIO_BUFFERSIZE, format: recordingFormat) { [weak self] (buffer, ) in self?.speechRequest?.append(buffer) }

stacktrace: Fatal Exception: com.apple.coreaudio.avfaudio 0 CoreFoundation 0xf27f4 (Missing UUID 9f046e3672863a6ea280699d6e47cfaf) 1 libobjc.A.dylib 0x19eb4 (Missing UUID 49e2dcb3f0143fcf949bf5f57b3ef0a8) 2 CoreFoundation 0x1186f4 (Missing UUID 9f046e3672863a6ea280699d6e47cfaf) 3 AVFAudio 0x1724 (Missing UUID f4c157ac08683041a562e1d6ad8323ab) 4 AVFAudio 0xc5038 (Missing UUID f4c157ac08683041a562e1d6ad8323ab) 5 AVFAudio 0x234f4 (Missing UUID f4c157ac08683041a562e1d6ad8323ab) 6 AVFAudio 0xb8580 (Missing UUID f4c157ac08683041a562e1d6ad8323ab) 7 MyTestApp 0xd2750 SpeechController.record(textHandler:errorHandler:) + 106 (SpeechController.swift:106) 8 MyTestApp 0xd22d0 closure #1 in SpeechController.startRecording(textHandler:errorHandler:) + 82 (SpeechController.swift:82) 9 MyTestApp 0xd31ac partial apply for closure #1 in SpeechController.requestAuthorization(_:) 10 MyTestApp 0xd20a4 thunk for @escaping @callee_guaranteed (@unowned SFSpeechRecognizerAuthorizationStatus) -> () () 11 libdispatch.dylib 0x1cb8 (Missing UUID dc1d018771493100bc63f633afebee6c) 12 libdispatch.dylib 0x3910 (Missing UUID dc1d018771493100bc63f633afebee6c) 13 libdispatch.dylib 0x6a5c (Missing UUID dc1d018771493100bc63f633afebee6c) 14 libdispatch.dylib 0x151f4 (Missing UUID dc1d018771493100bc63f633afebee6c) 15 libdispatch.dylib 0x15a04 (Missing UUID dc1d018771493100bc63f633afebee6c) 16 libsystem_pthread.dylib 0x30d8 (Missing UUID daf953735de639a1a6ced87f3f0629cc) 17 libsystem_pthread.dylib 0x1e30 (Missing UUID daf953735de639a1a6ced87f3f0629cc)