Grave 8 canais Line IN separados do cartão M-Audio Delta 1010

3

Eu quero gravar os 8 canais de linha IN separados do meu Delta de M-Audio Cartão 1010. O cartão é reconhecido bem e pode gravar um único canal via arecord -d 10 -f cd -t wav -D canal1 out2.wav. Eu coloquei os diferentes canais em ~ / .asoundrc.

Agora, se eu quiser gravar um segundo canal em paralelo (arecord -d 10 -f cd -t wav -D channel2 out2.wav) Eu recebo o erro

arecord: main: 564: erro de abertura de áudio: dispositivo ou recurso ocupado

Pelo que entendi, o delta 1010 é um único cartão de acesso, então apenas um aplicativo pode acessá-lo de cada vez. Está correto?

O próximo passo foi configurar uma entrada de canal duplo em .asoundrc

# envy24 channel 1+2 only
pcm.test {
       type plug
       ttable.0.0 1
       ttable.0.1 1
       slave.pcm ice1712
}

Qual funciona ok quando eu faço um

arecord -d 10 -f cd -t wav -D test -c 2 out.wav

(BTW alguém pode me apontar para uma ferramenta para dividir um wav multicanal em um arquivo por canal?)

Mas quando quero gravar os canais separadamente com (opção -I)

arecord -d 10 -f cd -t wav -D test -c 2 -I channel1.wav channel2.wav

Não recebo gravações.

Eu senti falta de algo com a configuração ou quais são minhas opções para Grave todos os 8 canais via arecord.

Eu não tenho experiência com o jackd. É uma opção para instalar o jackd e gravar os ins de linha via jackd?

    
por Peter Hoffmann 21.02.2011 / 18:20

3 respostas

1

OK, finalmente consegui trabalhar. O problema foi que eu misturei dsnoop para acesso múltiplo e o plug para atribuição de canal.

Então aqui está minha configuração de trabalho para recortar 8 canais em paralelo:

hw:0,0 ---> capt ---> c1
                 ---> c2
                 ....

e aqui está o meu .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
}
    
por Peter Hoffmann 22.02.2011 / 14:18
3

Não estou familiarizado com a gravação de linhas de comando, mas, no seu caso, uma GUI pode ajudar.

Eu acho que o Ardour pode ajudá-lo com estas tarefas, mas sim, você estará na necessidade de usar o JACK para dizer ao Ardour onde exatamente coletar entradas de áudio. O Ardour poderá manipular a geração de trilhas por entrada da mesma forma que outros recursos.

Eu pessoalmente não estou usando o Ardour, eu uso o Audacity que também é um editor / gravador multi-track de áudio e pode ser que você possa usá-lo para extrair o seu wav multi-track em arquivos wav únicos.

Minha sugestão seria você dar uma chance ao Ubuntu Studio, que é uma distribuição que apresenta a maioria das ferramentas necessárias para realizar tarefas multimídia e está usando o JACK como o principal mecanismo de áudio.

Você pode acessar o Ubuntu Studio e fazer o download de um iso para gravar um CD / DVD a partir do próximo link.

link

Após a gravação, basta executar uma sessão ao vivo para verificar se o Ardour, o Audacity e o JACK se encaixam no que você precisa. Desta forma, você não irá prejudicar a sua instalação atual do SO.

Eu apreciaria muito se você informasse sobre seus resultados e lamento por não poder ajudar você neste momento, pois estou usando uma versão do Ubuntu diferente do Studio.

Boa sorte!

Screenshots do Ardour em ação são colocadas aqui para sua conveniência:

Aqui está o Controle de Sessão da Ardour (visto na inicialização)

Aqui está a GUI do Ardour

    
por Geppettvs D'Constanzo 21.02.2011 / 21:49
0

Eu tentei a solução acima e, quando tento gravar, vejo isso:

 ➜  ~  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 ***

E então o arecord congela: / - Eu consigo gravar de plug: capt (os 8 canais completos), mas não de cada canal individual.

Alguma idéia?

    
por Roman Gaufman 19.10.2012 / 01:46

Tags