91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-13
  • 語言: C/C++
  • 標簽:

資源簡介

純C語言,利用正弦波生成生成產生類似do、re、mi、fa、so的音頻wave文件

資源截圖

代碼片段和文件信息

//?sin.cpp?:?Defines?the?entry?point?for?the?console?application.
#include????
#include????
#include?
#include?
#include?

#define?PI?3.1425926

int?main()???
{
char?*sine_buf??=(char?*)?malloc(100000?*?sizeof(char));?
int?i;???
struct?bb
{
char RiffID[4]; //?‘R‘‘I‘‘F‘‘F‘ “RIFF“標志
int RiffSize; //?文件長度(WAVE文件的大小?不含前8個字節)
char RiffFormat[4]; //?‘W‘‘A‘‘V‘‘E‘ “WAVE“標志
char FmtID[4]; //?‘f‘‘m‘‘t‘‘?‘?“fmt?“標志
int FmtSize; //過渡字節(不定)16?for?PCM.?This?is?the?size?of?the?rest?of?the?Subchunk?which?follows?this?number.
unsigned?short FormatTag; //格式類別?當FormatTag=1,用的就是非壓縮格式。
unsigned?short Channels; //通道數(單聲道為1?雙聲道為2)
int SamplesPerSec; //采樣率(每秒樣本數)?表示每個通道的播放速度
int AvgBytesPerSec; //波形音頻數據傳輸速率?其值為:通道數*每秒數據位數*每樣本的數據位數/8?播放軟件可以利用該值估計緩沖區大小
unsigned?short BlockAlign; //每樣本的數據位數(按字節算)?其值為:通道數*每樣本的數據位值/8,?播放軟件需要一次處理多個該值大小的字節數據?以便將其值用于緩沖區的調整
unsigned?short BitsPerSample; //每樣本的數據位數?表示每個聲道中各個樣本的數據位數.?如果有多個聲道對每個聲道而言?樣本大小都一樣
char DataID[4]; //?‘d‘‘a‘‘t‘‘a‘?
int DataSize; //語音數據的長度
}sTest;

FILE???*fp1;???
fp1=fopen(“q.txt““wb“);???????
if(fp1==NULL)???
{???
printf(“open?file?zk1?fail!?\n“);??
return;???

}

int?iSamplesPerSec?=?8000; //正弦波的采樣頻率
int?iPerSec?=?300; //正弦波的頻率
static?double?wt?=?0; //采樣角度

for(i=0;i<2500;i++)???
{???
sine_buf[i]=?(char)(127?+?127*sin(wt));
fwrite(&sine_buf[i]11fp1);
wt?+=?2*PI*iPerSec?/?iSamplesPerSec;

if?(wt?>?2*PI)
{
wt?-=?2?*?PI;
}
}???
fclose(fp1);???


fp1=fopen(“q.txt““a+“);???????
if(fp1==NULL)???
{???
printf(“open?file?fail!?\n“);??
return;???
}

for(i=0;i<1500;i++)???
{???
sine_buf[i]=?0;
fwrite(&sine_buf[i]11fp1);
}???

iSamplesPerSec?=?8000; //正弦波的采樣頻率
iPerSec?=?400; //正弦波的頻率
wt?=?0; //采樣角度

for(i=0;i<2500;i++)???
{???
sine_buf[i]=?(char)(127?+?127*sin(wt));
fwrite(&sine_buf[i]11fp1);
wt?+=?2*PI*iPerSec?/?iSamplesPerSec;

if?(wt?>?2*PI)
{
wt?-=?2?*?PI;
}
}???
fclose(fp1);??


fp1=fopen(“q.txt““a+“);???????
if(fp1==NULL)???
{???
printf(“open?file?fail!?\n“);??
return;???
}

for(i=0;i<1500;i++)???
{???
sine_buf[i]=?0;
fwrite(&sine_buf[i]11fp1);
}???

iSamplesPerSec?=?8000; //正弦波的采樣頻率
iPerSec?=?500; //正弦波的頻率
wt?=?0; //采樣角度

for(i=0;i<2500;i++)???
{???
sine_buf[i]=?(char)(127?+?127*sin(wt));
fwrite(&sine_buf[i]11fp1);
wt?+=?2*PI*iPerSec?/?iSamplesPerSec;

if?(wt?>?2*PI)
{
wt?-=?2?*?PI;
}
}???
fclose(fp1);??


fp1=fopen(“q.txt““a+“);???????
if(fp1==NULL)???
{???
printf(“open?file?fail!?\n“);??
return;???
}

for(i=0;i<1500;i++)???
{???
sine_buf[i]=?0;
fwrite(&sine_buf[i]11fp1);
}???

iSamplesPerSec?=?8000; //正弦波的采樣頻率
iPerSec?=?600; //正弦波的頻率
wt?=?0; //采樣角度

for(i=0;i<2500;i++)???
{???
sine_buf[i]=?(char

評論

共有 條評論

相關資源