资源简介
音频去噪C++代码,注释清晰可用

代码片段和文件信息
#include “Platform.h“
#include “avsmallft.h“
static void drfti1(int nfloat *waint *ifac)
{
static int ntryh[4] = { 4235 };
static float tpi = 6.28318530717958648f;
float argarghargldfi;
int ntry=0ij=-1;
int k1 l1 l2 ib;
int ld ii ip is nq nr;
int ido ipm nfm1;
int nl=n;
int nf=0;
L101:
j++;
if (j < 4)
ntry=ntryh[j];
else
ntry+=2;
L104:
nq=nl/ntry;
nr=nl-ntry*nq;
if (nr!=0) goto L101;
nf++;
ifac[nf+1]=ntry;
nl=nq;
if(ntry!=2)goto L107;
if(nf==1)goto L107;
for (i=1;i {
ib=nf-i+1;
ifac[ib+1]=ifac[ib];
}
ifac[2] = 2;
L107:
if(nl!=1)goto L104;
ifac[0]=n;
ifac[1]=nf;
argh=tpi/n;
is=0;
nfm1=nf-1;
l1=1;
if(nfm1==0)return;
for (k1=0;k1 {
ip=ifac[k1+2];
ld=0;
l2=l1*ip;
ido=n/l2;
ipm=ip-1;
for (j=0;j {
ld += l1;
i = is;
argld = (float)ld*argh;
fi = 0.f;
for (ii=2;ii {
fi += 1.f;
arg = fi*argld;
wa[i++] = cosf(arg);
wa[i++] = sinf(arg);
}
is+=ido;
}
l1=l2;
}
}
static void fdrffti(int nfloat *wsaveint *ifac)
{
if (n == 1) return;
drfti1(n wsave+n ifac);
}
static void dradf2(int idoint l1float *ccfloat *chfloat *wa1)
{
int ik;
float ti2tr2;
int t0t1t2t3t4t5t6;
t1=0;
t0=(t2=l1*ido);
t3=ido<<1;
for(k=0;k {
ch[t1<<1]=cc[t1]+cc[t2];
ch[(t1<<1)+t3-1]=cc[t1]-cc[t2];
t1+=ido;
t2+=ido;
}
if(ido<2)return;
if(ido==2)goto L105;
t1=0;
t2=t0;
for(k=0;k {
t3=t2;
t4=(t1<<1)+(ido<<1);
t5=t1;
t6=t1+t1;
for(i=2;i {
t3+=2;
t4-=2;
t5+=2;
t6+=2;
tr2=wa1[i-2]*cc[t3-1]+wa1[i-1]*cc[t3];
ti2=wa1[i-2]*cc[t3]-wa1[i-1]*cc[t3-1];
ch[t6]=cc[t5]+ti2;
ch[t4]=ti2-cc[t5];
ch[t6-1]=cc[t5-1]+tr2;
ch[t4-1]=cc[t5-1]-tr2;
}
t1+=ido;
t2+=ido;
}
if(ido%2==1)return;
L105:
t3=(t2=(t1=ido)-1);
t2+=t0;
for(k=0;k {
ch[t1]=-cc[t2];
ch[t1-1]=cc[t3];
t1+=ido<<1;
t2+=ido;
t3+=ido;
}
}
static void dradf4(int idoint l1float *ccfloat *chfloat *wa1float *wa2float *wa3)
{
static float hsqt2 = .70710678118654752f;
int ikt0t1t2t3t4t5t6;
float ci2ci3ci4cr2cr3cr4ti1ti2ti3ti4tr1tr2tr3tr4;
t0=l1*ido;
t1=t0;
t4=t1<<1;
t2=t1+(t1<<1);
t3=0;
for(k=0;k
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 26799 2015-08-17 10:31 TestNs\avsmallft.c
文件 483 2015-08-17 10:23 TestNs\avsmallft.h
文件 1277 2016-02-01 14:04 TestNs\fftwrap.c
文件 497 2015-08-31 16:45 TestNs\fftwrap.h
文件 7752 2016-08-07 16:38 TestNs\ns.c
文件 399 2016-02-01 08:49 TestNs\ns.h
文件 6607 2016-02-01 12:45 TestNs\Platform.h
文件 1179 2016-08-07 15:45 TestNs\TestNs.cpp
文件 4596 2016-02-02 09:39 TestNs\TestNs.vcxproj
文件 1707 2016-02-02 09:39 TestNs\TestNs.vcxproj.filters
文件 143 2016-02-02 09:35 TestNs\TestNs.vcxproj.user
文件 1664 2016-02-01 16:27 TestNs\WavReader.cpp
文件 759 2015-08-29 13:54 TestNs\WavReader.h
文件 2215 2016-01-13 09:11 TestNs\WavWriter.cpp
文件 687 2016-01-13 09:11 TestNs\WavWriter.h
文件 885 2016-02-02 09:35 TestNs.sln
文件 33900 2016-02-01 16:14 带噪语音.wav
目录 0 2016-03-17 13:03 TestNs
----------- --------- ---------- ----- ----
91549 18
相关资源
- 基于STM32的音频信号采样与FFT分析
- pcm转换成wav
- VoIP高质量音视频传输技术研究
- Visual C++音频视频处理技术及工程实践
- QT实现视音频实时传输qml+C++
- C++ 双缓存机制播放音频流(PCM裸流)
- 音频解码实现C++音频解码实现C++
- MFC写的多媒体播放器包括录音,播放
- 对声卡音频数据采集,实时显示波形
- SRAD算法C++实现
- 基于Directshow技术播放音频,带歌词显
- Visual C++音频-视频技术开发与实战1-
- C++PCM音频格式录音
- VC6环境下fmod音频播放使用样例
- visualc++音频视频处理技术及工程实践
- 音频采集并且adpcm编码再网络发送
- c++(socket)音频传输
- 把H264和音频流打包成PS流
- bm3d图像去噪算法C++代码
- 中英语种识别matlab程序包含40个测试音
- C++播放音频198655
- Visual C++音频视频处理技术及工程实践
- visual c++视频_音频开发实用工程案例精
- WAV转换成MP3音频文件 C++ vc MFC
- VisualC++音频视频处理技术及工程实践
- 小波变换去噪 小波去噪 过滤高频低频
- 数字音频水印算法大全
- C++实战源码-利用Direct Show进行音频捕
- VS2010录音程序_音频采集_MFC
- VC++实现在线实时音频通信
评论
共有 条评论