Se isso é possível ou não, depende de seus requisitos de latência, ou seja, o atraso total entre entrada e saída. Um bom ponto de partida pode ser a criação de uma estação de trabalho de áudio digital usando software de gravação como ProTools, Sonar, Ableton, Cubase etc. Eles funcionam com hardware de E / S de baixo custo (tipo de) e vêm com drivers otimizados de baixa latência. Alguns deles têm interfaces "plug-in" que permitem fazer loop no seu próprio processamento de sinal. Um formato popular é o VST da Steinberg, suportado por muitos hosts. Costumava ser aberto e gratuito, mas pode exigir uma licença agora.
Este http://www.kvraudio.com/wiki/ é um bom recurso para esse tipo de coisa.
Se você deseja processar no Matlab, pode ser necessário escrever seus próprios drivers. Eu já vi isso com DLLs e também com interfaces JAVA nativas. Você também pode hackear algo junto com audioplayer () e audiorecorder (), mas isso pode exigir latência razoavelmente alta para lidar com interrupções do Windows e fazer outras coisas. Em essência, você configura um controle da GUI com um retorno de chamada acionado por um tempo. Na chamada de retorno, você lê todas as entradas disponíveis, processa-as, coloca-as na saída e espera o melhor.
Em geral, ajuda a manter a caixa do Windows o mais "limpa" possível, ou seja, sem conexão de rede (enquanto você processa áudio), sem software antivírus e executa apenas o mínimo absoluto de itens, software e serviços de inicialização.