リカオンさんが取得したいとご要望されている『数学的データ』とは具体的には何を指しますでしょうか?
pcmの波形データのことでしたら、LoadSoftSound で wavファイルなどを読み込み、ReadSoftSoundData を
使用することで波形データの 1サンプルの量子化値を取得することが出来ます
↓こちらは test.wav を読み込んで、波形データを画面に描画するサンプルプログラムです
#include "DxLib.h"
#define SCREEN_W 1280
#define SCREEN_H 720
#define SCREEN_H_HALF (SCREEN_H / 2)
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int SoftSoundHandle ;
LONGLONG SampleNum ;
int Channels, BitsPerSample, SamplesPerSec ;
int Max ;
// ウインドウモードで起動
ChangeWindowMode( TRUE );
// 画面解像度を設定
SetGraphMode( SCREEN_W, SCREEN_H, 32 ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1;
// 画像の読み込み
SoftSoundHandle = LoadSoftSound( "test.wav" ) ;
// サンプル数の取得
SampleNum = ( int )GetSoftSoundSampleNum( SoftSoundHandle ) ;
// フォーマットを取得
GetSoftSoundFormat( SoftSoundHandle, &Channels, &BitsPerSample, &SamplesPerSec ) ;
// 最大振幅値を算出
Max = ( 1 << ( BitsPerSample - 1 ) ) - 1 ;
// 画面に波形を描画する
for( int i = 0 ; i < SCREEN_W ; i++ )
{
int Ch1, Ch2 ;
// 振幅値を取得
ReadSoftSoundData( SoftSoundHandle, i * SampleNum / SCREEN_W, &Ch1, &Ch2 ) ;
// 画面に描画
DrawLine( i, SCREEN_H_HALF, i, Ch1 * SCREEN_H_HALF / Max + SCREEN_H_HALF, GetColor( 255,255,255 ) ) ;
}
// キー入力待ち
WaitKey() ;
// DXライブラリの後始末
DxLib_End();
// ソフトの終了
return 0;
}