pkggk
一般會員
發表:3 回覆:1 積分:0 註冊:2004-08-19
發送簡訊給我
|
//---------------------------------------------------------------------------
#include<math.h>
#include
#pragma hdrstop
#include
#include #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
int FileLen,dx=0,dy=200,dd=44;
int divx,divy;
char* file_name="test.WAV";
short *data;
FILE *inf;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender)
{
bool open_flag;
int handle; if(OpenDialog1->Execute())
inf=fopen(OpenDialog1->FileName.c_str(),"r");
Form1->Caption=OpenDialog1->FileName; open_flag=true;
handle=fileno(inf);
FileLen=filelength(handle); if(feof(inf))
{
fclose(inf);
open_flag=false;
} data=new short[(FileLen-dd)/2]; fseek(inf,dd,SEEK_SET);
fread(data,sizeof(short),(FileLen-dd)/2,inf);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
float a,u,temp,N=512,k=512,c;
int n;
for(int i=0;i<(FileLen-dd)/2;i =512)
{
for(u=0;u<512;u )
{ for(n=0 k;n<512;n )
{
if(u==0)
{a=1/sqrt(2);}
else
{a=1;}
temp=a*data[n]*cos( ((2*n 1)*u*M_PI)/2*N ) temp;
c=(abs(temp)); }
k=512;
temp=0;
}
}
}
//---------------------------------------------------------------------------
以上是我寫的 不知道有沒有錯誤
可以讀進一個聲音檔 再做DCT COS Tansform 的轉換
再來就要秀圖 可是我不會秀圖
要秀出類似這樣的圖:(用灰階的就可以了)
好像要做正規劃 再秀出聲音的頻譜圖
請各位大大教我謝謝 > <..
|