pyaudio-OSError: [Errno -9999] Unanticipated host error

Solution 1:

I had the same problem, and I fix it just by enable/disable the access to the microphone in Setting>Confidentiality>Microphone (on Windows 10)

Solution 2:

You need to collect additional information to understand the problem. From Portaudio docs:

PortAudio usually tries to translate error conditions into portable PaError error codes. However if an unexpected error is encountered the paUnanticipatedHostError code may be returned. In this case a further mechanism is provided to query for Host API-specific error information. If PortAudio returns paUnanticipatedHostError you can call Pa_GetLastHostErrorInfo() to retrieve a pointer to a PaHostErrorInfo structure that provides more information, including the Host API that encountered the error, a native API error code and error text.

If you have this error on Linux, most likely it is caused by incompatible sample rate you are trying to request from the driver. This value

            rate=wf.getframerate()

can be changed to 16000, 44100 and 48000 to test which rate is actually supported.