@JeanExtreme002 vc deu a entender q queria comunicação entre duas pontas, se não for o caso simplesmente pegue o streaming do mic grave em um tmp ou memoria e reproduza em seguida
tem diversas libs para capturar e gravar o audio e editar depois dependerá de outras libs, mas é algo bem amplo
@GuilhermeNascimento Mas então, a minha duvida é justamente sobre qual lib eu devo utilizar para "gravar" um novo som no canal do microfone para ser capturado pelos aplicativos de chamada de voz.
@GuilhermeNascimento Eu não encontrei nada. Só tem coisas para obter o áudio do microfone, reproduzir no speaker ou gravar em arquivo. Não encontro nada para utilizar um áudio como input do microfone.
Não acho que o termo correto é "fornecer um mic falso", mas sim, em outras palavras, eu quero fazer o input do microfone ser um determinado áudio ao invés do áudio real captado pelo meu dispositivo de microfone. Entendeu agora?
Vou dar um outro exemplo. Eu inicio uma chamada de voz com um amigo e o programa de conversa (Discord por exemplo) captura do microfone minha voz normalmente. O que meu amigo escuta do outro lado é a minha voz. Aí eu começo a rodar o meu programa. Quando meu programa estiver em execução, o áudio original do microfone será "sobrescrito" por um áudio que eu quiser (uma música ou até mesmo minha voz só que depois de alguns filtros).
Dessa forma, o que o Discord irá capturar e enviar para meu amigo será o novo áudio que eu defini como input do microfone.
Resumindo tudo, meu programa fará uma "ponte". Antes que algum programa (Discord, Skype, Steam, Jogos...) capture o áudio real do microfone, o meu programa irá fazer uma alteração nesse input e devolver para que esses programas obtenham o novo áudio como sendo o áudio verdadeiro do microfone.
@JeanExtreme002 não vejo nada de ofensivo e nem incorreto e realmente não vejo utilidade em discutir os termos, o foco é resolver o problema né? Então se esse é o caso provavelmente q vai conseguir, aqui esta um exemplo PRONTO que bastará você analisar (em PyQt): github.com/capturePointer/pyvoicechanger
não sei se suporta Windows, em linux pelo menos requer instalar o SOX também
Agora se você quiser uma solução "pronta" tem o vb-audio.com/Cable/index.htm, ele é um microfone virtual, do qual pode trocar o mic por qualquer coisa
This is answered there : Linux pipe audio file to microphone input
Create a virtual microphone :
pactl load-module module-pipe-source source_name=virtmic file=/tmp/virtmic format=s16le rate=16000 channels=1
Pipe ffmpeg output to the virtmic file and it should work :
ffmpeg -re \
-i input...