社区
资源
帖子详情
100分求救一个关于wave文件的小问题
Boy_Vc
2002-11-04 07:56:32
我用directX开发的语音采集,以wave格式存放,声音是pcm格式的。请问此pcm(msdn上说是无压缩编码的),是否均匀编码,即如果是8bit就表示256个幅度,相邻幅度间隔相等。还是经过A律或U律压缩的编码1
此问题对我很重要,因为我要直接对语音信号进行处理。必须弄懂幅度的编码。
有个要求,必须能指出权威的资料,比如msdn上介绍(我自己没找到)的等等,其他网站也行!
我确认即给100分!
...全文
85
6
打赏
收藏
100分求救一个关于wave文件的小问题
我用directX开发的语音采集,以wave格式存放,声音是pcm格式的。请问此pcm(msdn上说是无压缩编码的),是否均匀编码,即如果是8bit就表示256个幅度,相邻幅度间隔相等。还是经过A律或U律压缩的编码1 此问题对我很重要,因为我要直接对语音信号进行处理。必须弄懂幅度的编码。 有个要求,必须能指出权威的资料,比如msdn上介绍(我自己没找到)的等等,其他网站也行! 我确认即给100分!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xuefl66
2002-12-09
打赏
举报
回复
see
JetLuo
2002-11-06
打赏
举报
回复
代码太长,如需要,发邮件给我!
Jet.Luo@sina.com
JetLuo
2002-11-06
打赏
举报
回复
msdn 上说得对,没有任何压缩。
我变过一个PCM编码的Wave文件处理的程序,截一段给你:
#define READPCMFORMAT 0
#define READPCMDATA 1
#define READALL 2
#define FILEOPENOK 0
#define FILEOPENFAIL 1
#define FILEWAVEERR 2
#define FILEFMTERR 3
#define FILEDATAERR 4
#define CHANNELMERGE 0
#define LEFTCHANNEL 1
#define RIGHTCHANNEL 2
#define MONO 1
#define STEREO 2
const LONG sdtFreq=22050;
class CWaveFile : public CObject
{
public:
CWaveFile();
virtual ~CWaveFile();
protected:
CString m_strFileName;
HMMIO m_hmmio;
WAVEFORMATEX m_WaveFormat;
HANDLE m_hPCMData;
int m_bErrFlag;
DWORD m_dwDataBytes;
DWORD m_dwSamples;
HANDLE Convert16BitPCMDataToSample(HANDLE hPCMData,int nChannelFlag);
HANDLE Convert8BitPCMDataToSample(HANDLE hPCMData,int nChannelFlag);
HANDLE Convert16BitSampleDataToPCM(HANDLE hLeftSampleData,HANDLE hRightSampleData,int nChannelFlag=MONO);
HANDLE Convert8BitSampleDataToPCM(HANDLE hLeftSampleData,HANDLE hRightSampleData,int nChannelFlag);
public:
void SetFileName(CString str){ m_strFileName=str;};
BOOL OpenFile(LPCTSTR lpFileName,UINT uFlag);
void Close();
BOOL ReadPCMData();
HANDLE GetPCMData(){ return m_hPCMData;};
WAVEFORMATEX GetPCMFormat(){return m_WaveFormat;};
DWORD GetPCMDataBytes(){return m_dwDataBytes;};
DWORD GetPCMSamples(){return m_dwSamples;};
void ClearPCMData();
BOOL Play();
HANDLE ConvertPCMDataToSample(HANDLE hPCMData,int nChannelFlag);
HANDLE ConvertSampleDataToPCM(HANDLE hLeftSampleData,HANDLE hRightSampleData,int nChannelFlag);
BOOL ConvertToSelfFormat(WAVEFORMATEX *pWaveFormat,WORD dwMaxLimit);
BOOL ChannelMerge(int nChannleFlag);
BOOL Convert8BitTo16();
BOOL AdjustVolume(double dRatio);
BOOL AmplitfyToMax();
DWORD GetMaxRange();
void Standardized(WORD wStandard);
BOOL ChangeSampleFreq();
// BOOL CompressPcmData();
};
#endif // !defined(AFX_WAVEFILE_H__F1CE8F8D_E5E9_4738_A6A1_118624921F8F__INCLUDED_)
jian
2002-11-05
打赏
举报
回复
推荐一个网址
http://www.csdn.net/dev/format/windows/wavec.htm
希望对你有所帮助
liugy
2002-11-05
打赏
举报
回复
http://www.sunchina.cc/products/modem/5660.htm
liugy
2002-11-05
打赏
举报
回复
http://www.cnforyou.com/query/bookdetail.asp?viBookCode=5614
目录里边
在LTspice中对
wav
e
文件
进行滤波
本文介绍在LTspice中用
WAV
E命令处理音频
文件
的方法。通过RC低通和高通滤波器电路对输入的
WAV
音频信号滤波,经受控电压源放大后输出新音频
文件
。展示了不同滤波电路对音频信号的影响,还提出验证滤波精度的
问题
,并提供相关技术博客参考链接。
Python 的
wav
e 模块:
WAV
文件
处理全解析
本文深入介绍Python中处理
WAV
文件
的
wav
e模块。讲解了模块函数、异常及对象方法,包括属性获取、数据读写等操作,还对比了不同对象。同时提醒使用时注意
文件
模式、异常处理,最后推荐了相关学习资源,助力音频处理开发。
使用python写
Wav
e
文件
本文介绍了
WAV
文件
格式,包括声道数、采样频率和量化位数等关键参数,并详细阐述了如何使用Python的scipy.signal库生成并写入10秒44.1kHz的频率扫描波到
Wav
e
文件
中。
HDUOJ 6570
Wav
e
本文详细解析了HDUOJ6570
Wav
e
问题
,这是
一个
关于寻找系列中最长‘波浪’子序列的
问题
。通过动态规划方法,文章提供了详细的算法思路和代码实现,适用于对序列
分
析和算法优化感兴趣的读者。
python-读写
Wav
e
文件
及
分
析
本文介绍如何使用Python解析
WAV
音频
文件
,并详细解释了读取格式信息及波形数据的方法。同时,展示了如何利用scipy库生成线性扫频信号并保存为
WAV
格式。
资源
2,586
社区成员
18,437
社区内容
发帖
与我相关
我的任务
资源
VC/MFC 资源
复制链接
扫一扫
分享
社区描述
VC/MFC 资源
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章