Я хочу записать 8 отдельных каналов Line IN с моей карты M-Audio Delta 1010. Карта хорошо распознается и может записывать один канал через arecord -d 10 -f cd -t wav -D channel1 out2.wav. Я настроил разные каналы в ~ / .asoundrc.
Теперь, если я хочу записать второй канал параллельно (arecord -d 10 -f cd -t wav -D channel2 out2.wav), я получаю ошибку
arecord: main: 564: audio open ошибка: устройство или ресурс занят
Как я понимаю, delta 1010 - это одна карта доступа, поэтому только одно приложение может получить к ней доступ одновременно. Это правильно?
Следующим шагом была настройка двухканального входа в .asoundrc
# envy24 channel 1+2 only
pcm.test {
type plug
ttable.0.0 1
ttable.0.1 1
slave.pcm ice1712
}
, который работает нормально, когда я делаю
arecord -d 10 -f cd -t wav -D test -c 2 out.wav
(BTW Может кто-нибудь указать мне инструмент для разделения многоканального WAV в файл на канал?)
Но когда я хочу записать каналы отдельно с (опция -I)
arecord -d 10 -f cd -t wav -D test -c 2 -I channel1.wav channel2.wav
У меня нет записей.
Я что-то упустил в конфигурации или какие у меня есть варианты для записи всех 8 каналов через arecord.
1113 У меня нет опыта с Джеком. Есть ли возможность установить jackd и записать линейные входы через jackd?
Я не знаком с записью командной строки, но в вашем случае может помочь графический интерфейс.
Я думаю, что Ardor может помочь вам с этими задачами, но да, вам нужно будет использовать JACK, чтобы сообщить Ardor, где именно собирать аудиовходы. Ardor сможет обрабатывать каждую входную дорожку так же, как и другие функции.
Лично я не использую Ardor, я использую Audacity, который также является звуковым многодорожечным редактором / рекордером, и, возможно, вы можете использовать его для извлечения многодорожечного wav-файла в отдельные файлы wav.
Я бы хотел, чтобы вы дали шанс Ubuntu Studio, дистрибутиву, который включает большинство инструментов, необходимых для выполнения мультимедийных задач, и использует JACK в качестве основного звукового движка.
Вы можете связаться с Ubuntu Studio и загрузить ISO, чтобы записать CD / DVD по следующей ссылке.
После записи просто выполните сеанс Live, чтобы проверить, соответствуют ли Ardor, Audacity и JACK тому, что вам нужно. Таким образом, вы не повредите свою текущую установку ОС.
Я был бы очень признателен, если бы вы сообщили о своих результатах, и мне жаль, потому что я не могу помочь вам в данный момент, потому что я использую версию Ubuntu, отличную от Studio.
Удачи!
Для вашего удобства здесь размещены скриншоты Ardor в действии:
Вот управление сессией Ardour (видно при запуске)
[ 1116]
Вот графический интерфейс Ardor
Хорошо, наконец-то все заработало. Проблема заключалась в том, что я смешал dsnoop для многоканального доступа и плагин для назначения каналов.
Итак, вот моя рабочая установка для параллельной записи 8 каналов:
hw:0,0 ---> capt ---> c1
---> c2
....
и вот мой .asoundrc
pcm.capt {
type dsnoop
ipc_key 223456
slave {
pcm "hw:0,0"
rate 8000
period_time 0
period_size 320
channels 12
format S32_LE
}
}
pcm.c1 {
type plug
ttable.0.0 1
slave.pcm capt
}
pcm.c2 {
type plug
ttable.0.1 1
slave.pcm capt
}
pcm.c3 {
type plug
ttable.0.2 1
slave.pcm capt
}
pcm.c4 {
type plug
ttable.0.3 1
slave.pcm capt
}
pcm.c5 {
type plug
ttable.0.4 1
slave.pcm capt
}
pcm.c6 {
type plug
ttable.0.5 1
slave.pcm capt
}
pcm.c7 {
type plug
ttable.0.6 1
slave.pcm capt
}
pcm.c8 {
type plug
ttable.0.7 1
slave.pcm capt
}
Я попробовал решение выше, и когда я пытаюсь записать, я вижу это:
➜ ~ arecord -D plug:c1 -f S32_LE -r 8000 -c 1 -d 5 ch1.wav Recording WAVE 'ch1.wav' : Signed 32 bit Little Endian, Rate 8000 Hz, Mono *** glibc detected *** arecord: free(): invalid pointer: 0x000000000163d350 *** *** glibc detected *** arecord: malloc(): memory corruption: 0x0000000001639c90 ***
А затем arecord зависает: / - Я могу записать с plug: capt (полный 8 каналов), но не каждый отдельный канал.
Есть идеи?