Tag: 音频处理

使用C处理音频wav文件

我正在处理wav文件的幅度并按一些小数因子缩放它。 我试图以有效记忆的方式阅读和重写文件,同时也试图解决语言的细微差别(我是C的新手)。 该文件可以是8位或16位格式。 我想这样做的方法是首先将标题数据读入一些预定义的结构,然后在循环中处理实际数据,我将把一大块数据读入缓冲区,做任何需要的事情,然后将其写入输出。 #include #include typedef struct header { char chunk_id[4]; int chunk_size; char format[4]; char subchunk1_id[4]; int subchunk1_size; short int audio_format; short int num_channels; int sample_rate; int byte_rate; short int block_align; short int bits_per_sample; short int extra_param_size; char subchunk2_id[4]; int subchunk2_size; } header; typedef struct header* header_p; void scale_wav_file(char * input, float factor, […]