I am trying to save voicemail messages from Verizon Fios phone in best quality possible. The voicemail messages are available online, but for playing only (Java based player), no saving. Officially, there is no supported way how to save original digital voice messages as files from Fios Digital Voice service (no paid service, no anything, no reason why).
My only idea was to record digital data from the player while on the way to the soundcard. I tried Linux ALSA configuration with loop device.
# 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"
}
}
}
This seems to be working and records audio, for example when playing something on Youtube the audio output goes to the loop device (default audio output) and I can capture it (not sure how it exactly works, I tested both 44.1kHz and 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
But when I tried to capture Verizon Java audio player output, it is garbled and the length does not seem to match. I suspect it might be mono at 8 kHz and I tried different things, changing the frequency and formats, but nothing helped.
Do you have any idea what is wrong here and how to record the messages? Is the problem in ALSA configuration? Or possibly kernel issue? (I am using 3.4.88). Any ideas would be very welcome.