PHP分析.wav文件并绘制png格式的波形图.docx

PHP分析.wav文件并绘制png格式的波形图.docx

ID:50670008

大小:35.34 KB

页数:2页

时间:2020-03-07

PHP分析.wav文件并绘制png格式的波形图.docx_第1页
PHP分析.wav文件并绘制png格式的波形图.docx_第2页
资源描述:

《PHP分析.wav文件并绘制png格式的波形图.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、PHP分析.wav文件并绘制png格式的波形图  用Php分析并绘制音频文件的波形图,网上还是很少见到。其实只要根据wav文件的规范,用Php的fseek,fopen,fopen,pack/unpack等函数,以及强大的gd图形库,这些都是很容易的。很多人可能对pack/unpack函数不熟悉;这其实是Php借用perl的,他们提供了使用脚本语言访问复杂二进制数据结构的方法。我的这段简化的程序只能处理PCM格式的RIFF音频文件(这也是最常见的wav格式),不限声道,但是比特率(BitsPerSample)最好是16。  这里有wavefileformat和Micr

2、oSoftwavesoundfileformat可以参考。这里是一个实际的例子(下载放大看)  1

3、ls/VSampleRate/VByteRate/vBlockAlign/vSampleBits',$raw);  12foreach($headeras$k=>$v)  13$str.=$k.':'.$v.'';  14fseek($fp,36+$header['HeadSize']-16);  15$raw=fread($fp,8);  16$data=unpack('A4Data/VDataSize',$raw);  17foreach($dataas$k=>$v)  18$str.=$k.':'.$v.'';  19  20$b=$header['Sampl

4、eBits'];  21$c=$header['Channels'];  22$l=$b*$c/8;//sampleframelengthinbytes  23$s=$data['DataSize']/$l;//totalnumberofsamples  24$r=$header['SampleRate'];  25if($f)$h=pow(2,$b)/$f;  26else{$h=200;$f=pow(2,$b-1)/$h;}  27if($w==0)$w=round($r/1000);//defaulttoshow1ksampleframesperminute 

5、 28  29header("Content-type:image/png");  30$im=imagecreate($s/$w,$h*$c*2);  31imagecolorallocate($im,0xff,0xff,0xff);//whitebg  32$color=imagecolorallocate($im,0,0,255);//black  33//imagestring($im,5,5,5,$str,$color);  34  35$x=0;$y=array();$yn=array();  36for($i=0;$i<$c;$i++)$y[$i]=$

6、h*$i+$h;  37$n=$l*$w;  38while(1)  39{  40if($s==0)break;  41if($s<$n)$n=$s;  42$samples=fread($fp,1000*$n);  43if($samples===FALSE)break;  44$packed=unpack("s*",$samples);  45foreach($packedas$k=>$v)  46{  47$cnt=($k-1)%($w*$l);  48if($cnt>$c-1)continue;  49$yn[$cnt]=$h*$cnt+$h-$v/$f;

7、  50imageline($im,$x,$y[$cnt],$x+1,$yn[$cnt],$color);  51$y[$cnt]=$yn[$cnt];  52$x++;  53}  54$s-=$n;  55}  56  57imagepng($im);  58imagedestroy($im);  59}  60  61//wav_graph('audio2.wav');  62?>更多相关阅读请点击:新濠天地娱乐场66bb.org有更多精彩文章。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。