Dans Windows 7, j'avais l'habitude d'utiliser pymedia , une bibliothèque python, pour répertorier les interfaces disponibles et les utiliser pour la lecture. et enregistrement audio. Une requête typique ressemblerait à ceci:
Maintenant, je n'utilise plus Windows 7 car j'ai migré vers Ubuntu 16.04. J'ai donc utilisé les commandes ALSA pour voir les interfaces audio disponibles. Ce qui suit est la sortie de la même chose:
skrowten_hermit@PC-760:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: AD1984A Analog [AD1984A Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 2: AD1984A Alt Analog [AD1984A Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Eight [M-Track Eight], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
skrowten_hermit@PC-760:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: AD1984A Analog [AD1984A Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 2: AD1984A Alt Analog [AD1984A Alt Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Eight [M-Track Eight], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Comme nous pouvons le constater, ma carte son externe, M-Audio, est répertoriée ici en tant que carte ALSA, ce qui signifie qu'elle est correctement détectée. En lisant les articles sur ALSA, j’ai appris à connaître les périphériques, puis j’ai utilisé - L pour afficher les périphériques disponibles sous la forme: suit:
skrowten_hermit@PC-760:~$ aplay -L
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
Pulse
PulseAudio Sound Server
sysdefault:CARD=Intel
HDA Intel, AD1984A Analog
Default Audio Device
front:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Front speakers
surround21:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
dmix:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Direct sample mixing device
dmix:CARD=Intel,DEV=2
HDA Intel, AD1984A Alt Analog
Direct sample mixing device
dsnoop:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Direct sample snooping device
dsnoop:CARD=Intel,DEV=2
HDA Intel, AD1984A Alt Analog
Direct sample snooping device
hw:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Direct hardware device without any conversions
hw:CARD=Intel,DEV=2
HDA Intel, AD1984A Alt Analog
Direct hardware device without any conversions
plughw:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Hardware device with all software conversions
plughw:CARD=Intel,DEV=2
HDA Intel, AD1984A Alt Analog
Hardware device with all software conversions
sysdefault:CARD=Eight
M-Track Eight, USB Audio
Default Audio Device
front:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Front speakers
surround21:CARD=Eight,DEV=0
M-Track Eight, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Eight,DEV=0
M-Track Eight, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=Eight,DEV=0
M-Track Eight, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Eight,DEV=0
M-Track Eight, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Eight,DEV=0
M-Track Eight, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Eight,DEV=0
M-Track Eight, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Eight,DEV=0
M-Track Eight, USB Audio
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Direct sample mixing device
dsnoop:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Direct sample snooping device
hw:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Direct hardware device without any conversions
plughw:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Hardware device with all software conversions
skrowten_hermit@PC-760:~$ arecord -L
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
Pulse
PulseAudio Sound Server
sysdefault:CARD=Intel
HDA Intel, AD1984A Analog
Default Audio Device
front:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Front speakers
surround21:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
dmix:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Direct sample mixing device
dmix:CARD=Intel,DEV=2
HDA Intel, AD1984A Alt Analog
Direct sample mixing device
dsnoop:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Direct sample snooping device
dsnoop:CARD=Intel,DEV=2
HDA Intel, AD1984A Alt Analog
Direct sample snooping device
hw:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Direct hardware device without any conversions
hw:CARD=Intel,DEV=2
HDA Intel, AD1984A Alt Analog
Direct hardware device without any conversions
plughw:CARD=Intel,DEV=0
HDA Intel, AD1984A Analog
Hardware device with all software conversions
plughw:CARD=Intel,DEV=2
HDA Intel, AD1984A Alt Analog
Hardware device with all software conversions
sysdefault:CARD=Eight
M-Track Eight, USB Audio
Default Audio Device
front:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Front speakers
surround21:CARD=Eight,DEV=0
M-Track Eight, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Eight,DEV=0
M-Track Eight, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=Eight,DEV=0
M-Track Eight, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Eight,DEV=0
M-Track Eight, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Eight,DEV=0
M-Track Eight, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Eight,DEV=0
M-Track Eight, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Eight,DEV=0
M-Track Eight, USB Audio
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Direct sample mixing device
dsnoop:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Direct sample snooping device
hw:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Direct hardware device without any conversions
plughw:CARD=Eight,DEV=0
M-Track Eight, USB Audio
Hardware device with all software conversions
Ce qui précède est un peu différent de ce à quoi je m'attendais (j'espérais obtenir les identificateurs de canal, mais au lieu de cela, nous avons obtenu des paramètres tels que sysdefault, front, surround21, dsnoop, hw etc.). Ma carte son contient huit paires d'E/S. Donc, je m'attendais aux identifiants de canaux/ports ou quelque chose comme ça.
Après un peu plus de creuser dans le Web, je suis tombé sur pyAudio et sounddevice python bibliothèques. Le premier donnait la sortie suivante:
skrowten_hermit@PC-760:~$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyaudio
>>> p = pyaudio.PyAudio()
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:867:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
Cannot open PortAudio client
JackShmReadWritePtr1::~JackShmReadWritePtr1 - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
>>> for i in range(p.get_device_count()):
... print p.get_device_info_by_index(i).get('name')
...
HDA Intel: AD1984A Analog (hw:0,0)
HDA Intel: AD1984A Alt Analog (hw:0,2)
M-Track Eight: USB Audio (hw:1,0)
sysdefault
Pulse
default
>>> import pyaudio
>>> p = pyaudio.PyAudio()
>>> for i in range(p.get_device_count()):
... print p.get_device_info_by_index(i)
...
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': 0.008707482993197279, 'maxInputChannels': 2L, 'structVersion': 2L, 'hostApi': 0L, 'index': 0, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 2L, 'name': u'HDA Intel: AD1984A Analog (hw:0,0)', 'defaultHighInputLatency': 0.034829931972789115}
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': -1.0, 'defaultLowInputLatency': 0.008707482993197279, 'maxInputChannels': 2L, 'structVersion': 2L, 'hostApi': 0L, 'index': 1, 'defaultHighOutputLatency': -1.0, 'maxOutputChannels': 0L, 'name': u'HDA Intel: AD1984A Alt Analog (hw:0,2)', 'defaultHighInputLatency': 0.034829931972789115}
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': 0.008707482993197279, 'maxInputChannels': 8L, 'structVersion': 2L, 'hostApi': 0L, 'index': 2, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 8L, 'name': u'M-Track Eight: USB Audio (hw:1,0)', 'defaultHighInputLatency': 0.034829931972789115}
{'defaultSampleRate': 48000.0, 'defaultLowOutputLatency': 0.021333333333333333, 'defaultLowInputLatency': 0.021333333333333333, 'maxInputChannels': 128L, 'structVersion': 2L, 'hostApi': 0L, 'index': 3, 'defaultHighOutputLatency': 0.021333333333333333, 'maxOutputChannels': 128L, 'name': u'sysdefault', 'defaultHighInputLatency': 0.021333333333333333}
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': -1.0, 'maxInputChannels': 0L, 'structVersion': 2L, 'hostApi': 0L, 'index': 4, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 2L, 'name': u'front', 'defaultHighInputLatency': -1.0}
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': -1.0, 'maxInputChannels': 0L, 'structVersion': 2L, 'hostApi': 0L, 'index': 5, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 2L, 'name': u'surround40', 'defaultHighInputLatency': -1.0}
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': -1.0, 'maxInputChannels': 0L, 'structVersion': 2L, 'hostApi': 0L, 'index': 6, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 2L, 'name': u'surround51', 'defaultHighInputLatency': -1.0}
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': -1.0, 'maxInputChannels': 0L, 'structVersion': 2L, 'hostApi': 0L, 'index': 7, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 2L, 'name': u'surround71', 'defaultHighInputLatency': -1.0}
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': 0.008707482993197279, 'maxInputChannels': 32L, 'structVersion': 2L, 'hostApi': 0L, 'index': 8, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 32L, 'name': u'Pulse', 'defaultHighInputLatency': 0.034829931972789115}
{'defaultSampleRate': 48000.0, 'defaultLowOutputLatency': 0.021333333333333333, 'defaultLowInputLatency': -1.0, 'maxInputChannels': 0L, 'structVersion': 2L, 'hostApi': 0L, 'index': 9, 'defaultHighOutputLatency': 0.021333333333333333, 'maxOutputChannels': 2L, 'name': u'dmix', 'defaultHighInputLatency': -1.0}
{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.008707482993197279, 'defaultLowInputLatency': 0.008707482993197279, 'maxInputChannels': 32L, 'structVersion': 2L, 'hostApi': 0L, 'index': 10, 'defaultHighOutputLatency': 0.034829931972789115, 'maxOutputChannels': 32L, 'name': u'default', 'defaultHighInputLatency': 0.034829931972789115}
Ce qui précède ne suffisait pas non plus. Un examen plus attentif de la sortie énumérée de la liste de périphériques révèle que celle correspondant à 'name': u'M-Track Eight: USB Audio (hw: 1,0) ' montre que le nombre de canaux d’entrée et de sortie sont au nombre de 8, mais répertoriés comme un seul périphérique. Ensuite, sounddevice m'a donné la sortie suivante:
skrowten_hermit@PC-760:~$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sounddevice as sd
>>> sd.query_devices()
0 HDA Intel: AD1984A Analog (hw:0,0), ALSA (2 in, 2 out)
1 HDA Intel: AD1984A Alt Analog (hw:0,2), ALSA (2 in, 0 out)
2 M-Track Eight: USB Audio (hw:1,0), ALSA (8 in, 8 out)
3 sysdefault, ALSA (128 in, 128 out)
4 front, ALSA (0 in, 2 out)
5 surround40, ALSA (0 in, 2 out)
6 surround51, ALSA (0 in, 2 out)
7 surround71, ALSA (0 in, 2 out)
8 Pulse, ALSA (32 in, 32 out)
9 dmix, ALSA (0 in, 2 out)
* 10 default, ALSA (32 in, 32 out)
Ici aussi, le périphérique 2 indique 8 entrées, 8 sorties.
Ce que je ne comprends pas c'est:
Mes exigences en un mot:
Comment puis-je atteindre cet objectif? Puis-je avoir une image plus claire d'ALSA et de son rôle ici? Tous les pilotes disponibles qui peuvent satisfaire mes exigences?
UPDATE:
J'ai créé le ~/.asoundrc
suivant à partir des entrées que j'ai reçues:
pcm.!default {
type plug
slave {
pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 1
}
pcm_slave.eightchannels {
pcm "hw:1,0"
channels 8
rate 44100
buffer_size 4096
period_size 2048
}
pcm.ch12 {
type asym
playback.pcm {
type dshare
ipc_key 1111
slave eightchannels
bindings [ 0 1 ]
}
capture.pcm {
type dsnoop
ipc_key 1111
slave eightchannels
bindings [ 0 1 ]
}
hint.description "M-Audio channels 1,2"
}
pcm.ch34 {
type asym
playback.pcm {
type dshare
ipc_key 2222
slave eightchannels
bindings [ 2 3 ]
}
capture.pcm {
type dsnoop
ipc_key 2222
slave eightchannels
bindings [ 2 3 ]
}
hint.description "M-Audio channels 3,4"
}
Ainsi, avec la configuration ci-dessus, lorsque j'essaie d'exécuter aplay
name__, voici ce que je reçois:
skrowten_hermit@PC-760:~$ aplay -D ch12 -c 1 -r 8000 male_8k.wav
Playing WAVE 'male_8k.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
aplay: set_params:1233: Sample format non available
Available formats:
- S32_LE
En supposant que le format indiqué ne corresponde pas, j'ai essayé de passer le format en tant qu'argument pour aplay
comme ci-dessous:
skrowten_hermit@PC-760:~$ aplay -D ch12 -c 1 -r 8000 -f S32_LE male_8k.wav
Warning: format is changed to S16_LE
Playing WAVE 'male_8k.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
aplay: set_params:1233: Sample format non available
Available formats:
- S32_LE
Cette erreur a-t-elle quelque chose à voir avec les périphériques PCM ou le fichier .wav
en cours de lecture?
P.S: Les .!default
s ont été ajoutés plus tard. Les supprimer ne fait aucune différence!
Après avoir beaucoup joué et expérimenté des plugins, j'ai pu trouver une solution au problème ci-dessus. Ce n'était rien d'autre qu'une extension de la réponse ci-dessus et des allusions que j'ai obtenues de ici . Pour commencer, voici le .asoundrc
que j'avais l'habitude de faire fonctionner:
pcm.!default {
type plug
slave {
pcm "hw:1,0"
}
}
ctl.!default {
type hw
card 1
}
pcm_slave.m-audio_m-track_eight_1 {
pcm "hw:1,0"
channels 8
rate 44100
buffer_size 4096
period_size 1024
}
pcm.outch1 {
type dshare
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 0 ]
hint.description "M-Audio M-Track Eight output/playback channel 1"
}
pcm.inch1 {
type dsnoop
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 0 ]
hint.description "M-Audio M-Track Eight input/capture channel 1"
}
pcm.outch2 {
type dshare
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 1 ]
hint.description "M-Audio M-Track Eight output/playback channel 2"
}
pcm.inch2 {
type dsnoop
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 1 ]
hint.description "M-Audio M-Track Eight input/capture channel 2"
}
pcm.outch3 {
type dshare
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 2 ]
hint.description "M-Audio M-Track Eight output/playback channel 3"
}
pcm.inch3 {
type dsnoop
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 2 ]
hint.description "M-Audio M-Track Eight input/capture channel 3"
}
pcm.outch4 {
type dshare
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 3 ]
hint.description "M-Audio M-Track Eight output/playback channel 4"
}
pcm.inch4 {
type dsnoop
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 3 ]
hint.description "M-Audio M-Track Eight input/capture channel 4"
}
pcm.outch5 {
type dshare
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 4 ]
hint.description "M-Audio M-Track Eight output/playback channel 5"
}
pcm.inch5 {
type dsnoop
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 4 ]
hint.description "M-Audio M-Track Eight input/capture channel 5"
}
pcm.outch6 {
type dshare
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 5 ]
hint.description "M-Audio M-Track Eight output/playback channel 6"
}
pcm.inch6 {
type dsnoop
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 5 ]
hint.description "M-Audio M-Track Eight input/capture channel 6"
}
pcm.outch7 {
type dshare
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 6 ]
hint.description "M-Audio M-Track Eight output/playback channel 7"
}
pcm.inch7 {
type dsnoop
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 6 ]
hint.description "M-Audio M-Track Eight input/capture channel 7"
}
pcm.outch8 {
type dshare
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 7 ]
hint.description "M-Audio M-Track Eight output/playback channel 8"
}
pcm.inch8 {
type dsnoop
ipc_key 1111
slave m-audio_m-track_eight_1
bindings [ 7 ]
hint.description "M-Audio M-Track Eight input/capture channel 8"
}
J'ai essayé de garder le tout simple. Les commandes ALSA aplay
et arecord
, qui sont respectivement lecteur et enregistreur son en ligne de commande, m’ont ensuite permis de faire le nécessaire, c’est-à-dire de jouer un fichier de parole ainsi que de le lire sur un canal (connecté à une sortie analogique). port) et enregistrez-le avec un autre canal mono (connecté à un port d’entrée analogique).
Afin de tester le fichier de configuration, j'ai utilisé la commande aplay
suivante:
skrowten_hermit@PC-760:~$ aplay -D plug:outch1 -c 1 -r 8000 male_8k.wav
Avec ce qui précède, la lecture fonctionne parfaitement. Maintenant, afin de passer aux choses sérieuses et de voir si la lecture, la capture et le fonctionnement fonctionnent, les éléments suivants sont utilisés:
skrowten_hermit@PC-760:~$ aplay -D plug:outch1 -c 1 -r 8000 /home/sreekanth/Downloads/male_8k.wav | arecord -D plug:inch2 -c 1 -r 8000 -d 10 /home/sreekanth/Downloads/out_12.wav
Ce qui précède utilise le canal 1 (connecté au port de sortie analogique 1 de la carte son M-Audio Huit de M-Audio) sur le périphérique de lecture et le canal 2 (connecté au port d’entrée analogique 2 de la carte son M-Track Huit de M-Audio) comme enregistreur. Pour utiliser d'autres appareils, outch1 peut être remplacé par l'un des outch2 , outch3 , outch4 , outch5 , outch6 , outch7 , outch8 et inch2 par l'un des ) inch1 , inch3 , inch4 , inch5 , inch6 , inch7 , inch8 (conformément à ce qui était défini dans .asoundrc
).
Il était un peu difficile de trouver la littérature appropriée et bien documentée pour ALSA. Mais, d’expérience, c’est le paramètre bindings
que vous devez bricoler pour acheminer l’audio des ports analogiques (éventuellement un canal client) vers des canaux ALSA (canaux esclaves définis comme ci-dessus dans .asoundrc
).
Les quatre paires ne sont pas répertoriées en tant que périphériques distincts car ils ne sont pas des périphériques distincts. Le M-Track Eight est un appareil unique à huit canaux.
Il serait possible de créer un ensemble de périphériques logiciels virtuels qui émulent quatre paires stéréo. Pour ce faire, ajoutez quelque chose comme ceci à /etc/asound.conf
ou à votre ~/.asoundrc
:
pcm_slave.eightchannels {
pcm "hw:Eight"
channels 8
rate 48000
buffer_size 8192 # make these sizes smaller for lower latency
period_size 2048
}
pcm.ch12 {
type asym
playback.pcm {
type dshare
ipc_key 2222 # some random number, but the same for the same slave
slave eightchannels
bindings [ 0 1 ]
}
capture.pcm {
type dsnoop
ipc_key 2222
slave eightchannels
bindings [ 0 1 ]
}
hint.description "M-Track channels 1,2"
}
pcm.ch34 {
type asym
playback.pcm {
type dshare
ipc_key 2222
slave eightchannels
bindings [ 2 3 ]
}
capture.pcm {
type dsnoop
ipc_key 2222
slave eightchannels
bindings [ 2 3 ]
}
hint.description "M-Track channels 3,4"
}
...