Hi There,
I've been using this method for months now as well as manually editing it into riva
Can easily be switched on and off for verbose errors if necessary, but I don't think it is, nothing relevant has ever appeared here to assist with troubleshooting. This only intercepts initialization errors, other meaningful errors still appear such as device unavailable, wrong device, etc.
Regards,
Richard Graver
As you can see below specifying a wrong device still gives meaningful errors if an incorrect or non-present device is selected,
(assistant-riva-client) rich@neptune:~/Workspace/assistant-riva-client/python-clients$ python scripts/asr/transcribe_mic.py --input-device 6
Expression 'parameters->channelCount <= maxChans' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1513
Expression 'ValidateParameters( inputParameters, hostApi, StreamDirection_In )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2813
Traceback (most recent call last):
File "/home/rich/Workspace/assistant-riva-client/python-clients/scripts/asr/transcribe_mic.py", line 75, in <module>
main()
File "/home/rich/Workspace/assistant-riva-client/python-clients/scripts/asr/transcribe_mic.py", line 60, in main
with riva.client.audio_io.MicrophoneStream(
File "/home/rich/miniconda3/envs/assistant-riva-client/lib/python3.9/site-packages/riva/client/audio_io.py", line 48, in __enter__
self._audio_stream = self._audio_interface.open(
File "/home/rich/miniconda3/envs/assistant-riva-client/lib/python3.9/site-packages/pyaudio.py", line 750, in open
stream = Stream(self, *args, **kwargs)
File "/home/rich/miniconda3/envs/assistant-riva-client/lib/python3.9/site-packages/pyaudio.py", line 441, in __init__
self._stream = pa.open(**arguments)
OSError: [Errno -9998] Invalid number of channels
Hi There, I've been using this method for months now as well as manually editing it into riva Can easily be switched on and off for verbose errors if necessary, but I don't think it is, nothing relevant has ever appeared here to assist with troubleshooting. This only intercepts initialization errors, other meaningful errors still appear such as device unavailable, wrong device, etc. Regards, Richard Graver
See: contextlib
BEFORE
AFTER
As you can see below specifying a wrong device still gives meaningful errors if an incorrect or non-present device is selected,