c – 绘制.wav文件的波形

我想绘制特定绘图宽度的.wav文件的波形.

我应该使用哪种方法显示正确的波形图?

任何建议,教程,链接欢迎….

解决方法

基本算法:

>查找适合绘图窗口的样本数
>确定每个像素应呈现多少个样本
>从样本块计算每个像素的RMS(或峰值)值.平均音效信号不起作用.
>绘制值.

假设n(样本数)= 44100,w(宽)= 100像素:

那么每个像素应该代表44100/100 == 441样本(块大小)

for (x = 0; x < w; x++)
    draw_pixel(x_offset + x,y_baseline - rms(&mono_samples[x * blocksize],blocksize));

尝试不同视觉的东西出现:

> rms vs block的最大值
>重叠块(块大小x,但为每个像素提前x / 2等)

下采样不太可能会失去峰值信息.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...