SpeechRecognitionで使うマイクにサンプリングレートを指定したい
Microphoneインスタンス初期化時にsample_rate引数で指定できる
sampling rateを変えてASRする例を適用するよりは指定で解決する
ドキュメント https://github.com/Uberi/speech_recognition/blob/3.8.1/reference/library-reference.rst#microphonedevice_index-unionint-none--none-sample_rate-int--16000-chunk_size-int--1024---microphone はデグレている
sample_rate: int = 16000というデフォルト値はコードにはないので誤り
sample_rateのデフォルト値はNone
https://github.com/Uberi/speech_recognition/blob/3.8.1/speech_recognition/__init__.py#L73
Noneのとき、デバイスのデフォルトサンプルレートを設定する
https://github.com/Uberi/speech_recognition/blob/3.8.1/speech_recognition/__init__.py#L85-L88
macOSのビルドインマイクでは48000だった
code:python
>> import speech_recognition as sr
>> recognizer = sr.Recognizer()
>> with sr.Microphone(sample_rate=16_000) as source:
... audio_data = recognizer.listen(source)
...
>> source.SAMPLE_RATE
16000
>> audio_data.sample_rate
16000
>> source.SAMPLE_WIDTH
2
>> audio_data.sample_width
2