soxを使用して.dat形式に変換した値は、正規化されていないようです。誰かが私が間違っていることを確認できることを願っています。
私はsoxとgnuplotに関するこの素晴らしいSOの投稿で説明されているのと同様のことをしようとしています(Javaでの処理に値を送信しているので、コンテキストが少し異なります)。問題は、.datファイルで「小さな値のみ」を取得するのに対し、マニュアルページには-1から1の間で正規化されると記載されていることです。
soxおよびmp3処理パッケージをインストールした後、テストするために次のことを行います。
sox elevator.mp3 -c 1 -r 11000 elevator_mediumres.dat
cat elevator_mediumres.dat |cut -c21-33 > elevator_mediumres_values_only.dat
sort -n elevator_mediumres_values_only.dat > elevator_mediumres_values_only_sorted.dat
# echo min $(head -1 elevator_mediumres_values_only_sorted.dat) max $(tail -1 elevator_mediumres_values_only_sorted.dat)
これにより、出力「min -0.48370361max9.1552734e-05」が得られます。datの代わりにwavの最初のコマンドを実行すると、wavファイルはOKに聞こえます(エアロスミスの「エレベーターでの愛」の11kHzモノラルと同じくらいOKです)。もちろん、後でデータを手動で正規化することもできますが、より適切で簡単な方法があることを望んでいます。
ありがとう、
-S-