解决方法
基本算法:
>查找适合绘图窗口的样本数
>确定每个像素应呈现多少个样本
>从样本块计算每个像素的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等)
下采样不太可能会失去峰值信息.
原文地址:https://www.jb51.cc/c/112538.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。