これを行う基本的な方法は、描画先の領域の各ピクセルに対して、計算された高さでピクセルを描画することによって、どのデータ サンプルまたはサンプルを表すかを決定することです。
悲惨な詳細:
圧縮されたオーディオの複雑さを無視すると、オーディオ ファイルはサンプルのセットです。サンプルは固定レートで記録されます。オーディオの一般的なサンプル レートは、1 秒あたり 44100、48000、または 96000 サンプルです。通常、オーディオ ファイルはこのレートを指定します。このデータを描画するには、オーディオ サンプルをピクセルにマップします。
簡単な例として、毎秒 48000 サンプルで記録された 1 秒間の ECG データがあるとします。これは、ファイル内の 48000 サンプルです。多くの場合、整数サンプルですが、サンプルを 0 から 1 の範囲の浮動小数点値にします。そして、高さ 10 ピクセル、幅 100 ピクセルの長方形に描画しているとします。
以上のことから、各ピクセルがデータの 480 サンプルを表すことになります。これらの 480 サンプルを平均して、最初のピクセルに描画する値を取得できます。ピクセルのどこに塗りつぶすかを決定するには、サンプルの範囲 0 ~ 1 を高さ 0 ~ 10 の描画長方形にマップします。0 サンプルは長方形の下部に描画し、1 サンプルは上部に描画します。 0.5 のサンプルが真ん中に描画されます。最初の 480 サンプルの平均が 0.1 であるとします。次に、描画領域の左端のピクセル (描画四角形の下部に対して (0,1)) で、下から 1 ピクセル上にドットを描画します。
表示領域内の各ピクセルのピクセルをどこに描画するかが決まるまで、これを繰り返します。
表示するピクセルよりもサンプルが少ない場合は、各ピクセルの値を補間します。同じ 10 x 100 の描画領域で、データ サンプルが 10 個しかない場合、データ サンプルごとに 9 つのピクセル位置を補間します。