Verizon Fios電話からのボイスメールメッセージを可能な限り最高の品質で保存しようとしています。ボイスメールメッセージはオンラインで利用できますが、再生のみ(Javaベースのプレーヤー)の場合は保存できません。正式には、元のデジタルボイスメッセージをFiosデジタルボイスサービスからファイルとして保存する方法はサポートされていません(有料サービス、何もない、理由はありません)。
私の唯一のアイデアは、サウンドカードに行く途中でプレーヤーからデジタルデータを録音することでした。ループデバイスで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 kHzと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
しかし、Verizon Javaオーディオプレーヤーの出力をキャプチャしようとすると、文字化けして長さが一致しないようです。8 kHzでモノラルかもしれないと思うので、周波数とフォーマットを変更してさまざまなことを試しましたが、何も役に立ちませんでした。
ここで何が問題になっていて、メッセージを録音する方法がわかりますか?ALSA構成に問題がありますか?それともカーネルの問題ですか?(私は3.4.88を使用しています)。どんなアイデアでも大歓迎です。