Lors de l'enregistrement audio via PyAudio, comment spécifiez-vous le périphérique d'entrée à utiliser?
Mon ordinateur est équipé de deux microphones, l'un intégré et l'autre via USB, et je souhaite enregistrer à l'aide du micro USB. La classe Stream a un input_device_index
pour la sélection du périphérique, mais on ignore comment cet index est corrélé aux périphériques. Par exemple, comment savoir à quel index de périphérique 0 fait référence? Si je devais deviner, je dirais que 0 fait référence au périphérique intégré, tandis que 1 correspond au périphérique USB, mais j'aimerais trouver un moyen par programme de le confirmer. Sous Linux, existe-t-il un moyen d'obtenir une liste de ces index et des périphériques auxquels ils font référence?
vous pouvez utiliser: get_device_info_by_Host_api_device_index .
import pyaudio
p = pyaudio.PyAudio()
info = p.get_Host_api_info_by_index(0)
numdevices = info.get('deviceCount')
for i in range(0, numdevices):
if (p.get_device_info_by_Host_api_device_index(0, i).get('maxInputChannels')) > 0:
print "Input Device id ", i, " - ", p.get_device_info_by_Host_api_device_index(0, i).get('name')
Il suffit d'utiliser arecord -l
pour répertorier tous les périphériques d'entrée disponibles.
Je ne sais pas à propos de PyAudio, mais avec le module sounddevice ça va comme ça:
python3 -m sounddevice