%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20arecord.png)
Я могу записать звук с помощью следующей команды:
arecord -D plughw:0 --duration=10 -f cd -vv rec7.wav
И ~/.asoundrc
есть это:
pcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 1
}
Кроме того, я могу воспроизвести записанный файл с расширением aplay rec7.wav
.
Дело в том, что я указал, какое устройство использовать при записи. А для воспроизведения оно прекрасно работает и без этого. Почему?
Я хотел бы записывать так arecord --duration=10 -f cd -vv rec7.wav
. Но не могу найти способ сделать plughw:0
устройство по умолчанию.
Я пробую это на Raspbian. И я используювнешний USB-микрофон.
решение1
Вероятно, у вас возникают проблемы, поскольку вы используете разные аппаратные устройства для захвата и воспроизведения. В файле конфигурации pcm
разделы определяют устройство PCM (воспроизведение и запись), а ctl
разделы предназначены для настройки параметров (устройство управления). Поскольку звуковая карта Raspberry Pi не поддерживает захват, pcm
устройство по умолчанию, заданное в файле конфигурации, приведет к arecord
возврату с ошибкой. Чтобы обойти это, мы можем задать разные устройства по умолчанию в файле конфигурации. Один из способов использования разных аппаратных устройств для воспроизведения и захвата — использовать плагин asym
.
Вот .asoundrc
это должно сработать
pcm.usbmic {
type hw
card 1
}
pcm.playback {
type hw
card 0
}
pcm.!default {
type asym
playback.pcm{
type plug
slave.pcm "playback"
}
capture.pcm{
type plug
slave.pcm "usbmic"
}
}
Исходная страница ALSA wiki дляPCM-плагины(см. раздел «Плагины: асимметрия») иasoundrc.