そのため、時間に関して波形を再構築できるように、.wav ファイルからさまざまなサンプルの振幅を抽出しようとしています。.wav ファイルの形式を調べているときに、非常に役立つ情報を見つけました。ただし、生データ部分に関しては混乱しました。私が見つけた記事には、「16 ビット PCM の場合、16 ビット サンプルは 0 から 65535 の範囲の 2 の補数の符号なし整数として格納される」と記載されていました。ファイルが署名されていない場合、ファイルが正と負の振幅をどのように区別するのかがわからないため、混乱しています。たとえば、2 進数で 00000000 00000101 として表される 1 つの振幅が 5 である場合、2 の補数 -5 を使用すると、11111111 11111011 として表されます。これは 10 進数で整数として 65531 です。これにより、-5 の振幅は +5 の振幅よりもはるかに大きく認識されると思います。明らかにこれは機能する方法ではないので、何が間違っているのでしょうか? また、.wav ファイルをバイナリ配列に保存して値を出力すると、負の数値が得られます。0 から 65535 までの値のみを格納する必要があると記事に記載されている場合、これらの負の数はどこから来るのでしょうか。非常に混乱しているだけで、本当に物事を片付ける必要があります。私が参照していた記事のリンクは下に添付されています。著者が言ったことの引用は、ページの一番下にあります。ありがとう。
http://www.ievs.ch/projects/var/upload/Documentation%20Microsoft%20Wave%20File%20Format.pdf