Я пытаюсь сохранить сообщения голосовой почты с телефона Verizon Fios в лучшем качестве. Сообщения голосовой почты доступны онлайн , но только для воспроизведения (проигрыватель на основе Java), без сохранения. Официально не существует способа сохранить оригинальные цифровые голосовые сообщения в виде файлов из службы Fios Digital Voice (нет платных услуг, нет ничего, нет причин, почему).
Моя единственная идея состояла в том, чтобы записывать цифровые данные с плеера, пока он находится на звуковой карте. Я попробовал конфигурацию Linux ALSA с помощью петлевого устройства.
# 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"
}
}
}
Кажется, это работает и записывает звук, например, при воспроизведении чего-либо на Youtube аудиовыход поступает на петлевое устройство (аудиовыход по умолчанию), и я могу захватить его (не уверен, как именно он работает, я тестировал как 44,1 кГц, так и 48 кГц )
arecord -f cd -D loop | aplay -f cd -D hw:0,0
arecord -f dat -D loop | aplay -f dat -D hw:0,0
Но когда я попытался захватить вывод аудиоплеера Verizon Java, он искажен, и длина, кажется, не совпадает. Я подозреваю, что это может быть моно на 8 кГц, и я пробовал разные вещи, меняя частоту и форматы, но ничего не помогло.
У вас есть идеи, что здесь не так и как записывать сообщения? Проблема в конфигурации ALSA? Или, возможно, проблема с ядром? (Я использую 3.4.88). Любые идеи будут очень приветствоваться.