Sua pergunta carece de alguns detalhes, como qual linguagem de programação ou qual servidor de som você está usando. Ainda assim, vou tentar.
Eu usei com sucesso o daemon JACK ( jackd
) para depurar um aplicativo de áudio. Pode ser um pouco trabalhoso fazer com que jackd
funcione, mas vale a pena. Pense nisso como um servidor de som que aplicativos de áudio e hardware podem registrar portas de entrada e saída de áudio com. Então você pode usar qjackctl
para conectar essas portas, manualmente usando Conectar ou automaticamente usando o Patchbay .
Os passos a seguir:
- instale
jackd
eqjackctl
- supondo que você esteja usando o ALSA, adicione um dispositivo
jack
ao seu~/.asoundrc
para poder enviar para o servidor do conector (veja abaixo) - inicie
qjackctl
e, de dentro, iniciejackd
(pode ser o momento em que você se deparar com problemas - na minha configuração de áudio bastante complexa, tive de removerpulseaudio
do caminho) - reproduza seu arquivo de som usando
aplay --device=jack my_microphone.wav
e tente conectá-lo à sua placa de som - quando você ouvir algo, estará quase pronto - crie uma nova porta de entrada JACK usando a API JACK
- use o Patchbay de
jackd
para conectar automaticamente sua nova porta de entrada a uma porta de saída de áudio JACK (que pode ser a saída deaplay
, um reprodutor de mídia usando JACK (qmmp, VLC e outros) ou sua placa de som)
Aqui está a parte relevante do meu ~/.asoundrc
pcm.jack
{
type plug
slave.pcm "jack_output"
hint
{
show on
description "Alsa (JACK plugin)"
}
}
pcm.jack_output
{
type jack
playback_ports
{
0 system:playback_1
1 system:playback_2
}
capture_ports
{
0 system:capture_1
1 system:capture_2
}
hint
{
show off
description "Alsa (JACK output)"
}
}