Estou tentando salvar as mensagens do correio de voz do telefone Verizon Fios com a melhor qualidade possível. As mensagens do correio de voz estão disponíveis online , mas apenas para reprodução (reprodutor baseado em Java), sem economia. Oficialmente, não há maneira suportada de como salvar mensagens de voz digital originais como arquivos do serviço Fios Digital Voice (sem serviço pago, sem nada, sem motivo).
Minha única idéia era gravar dados digitais do player enquanto estava no caminho para a placa de som. Eu tentei a configuração do Linux ALSA com dispositivo de loop.
# cat /etc/asound.conf
# default device
pcm.!default {
type plug
slave.pcm "loop"
}
# output device
pcm.loopout {
type dmix
ipc_key 328211
slave.pcm "hw:Loopback,0,0"
}
# input device
pcm.loopin {
type dsnoop
ipc_key 686592
slave.pcm "hw:Loopback,1,0"
}
# duplex plug device
pcm.loop {
type plug
slave {
pcm {
type asym
playback.pcm "loopout"
capture.pcm "loopin"
}
}
}
Isso parece estar funcionando e grava áudio; por exemplo, ao reproduzir algo no Youtube, a saída de áudio vai para o dispositivo de loop (saída de áudio padrão) e posso capturá-lo (sem ter certeza de como funciona exatamente, testei 44.1kHz e 48 Khz )
arecord -f cd -D loop | aplay -f cd -D hw:0,0
arecord -f dat -D loop | aplay -f dat -D hw:0,0
Mas quando tentei capturar a saída do player de áudio Verizon Java, ela fica distorcida e o comprimento parece não coincidir. Eu suspeito que possa ser mono a 8 kHz e tentei coisas diferentes, alterando a frequência e os formatos, mas nada ajudou.
Você tem alguma idéia do que está errado aqui e como gravar as mensagens? O problema está na configuração do ALSA? Ou possivelmente problema com o kernel? (Eu estou usando 3.4.88). Qualquer idéia seria muito bem-vinda.