--track0:音分割数,1,4096,40,1 --track1:Buf補正,1,4096,25,0.01 --track2:基準線1,0,4096,100,1 --track3:基準線2,0,4096,250,1 --dialog:取得フレーム数,fnum=6;文字サイズ,fs=12;文字間隔,dst=1.30;Color1/col,col1=0x000000;Color2/col,col2=0xffffff; ------------------------------------set local t0=math.floor(obj.track0) local t1=obj.track1 local t2=math.floor(obj.track2) local t3=math.floor(obj.track3) sw=obj.screen_w sh=obj.screen_h local div=t0 local bcor=t1 local buf={} local abm="spectrum" --pcm,spectrum,fourier local n=obj.getaudio(buf,"audiobuffer",abm,div) ------------------------------------script if(bvle==null)then bvle={} end if(obj.frame==0)then for i=1,fnum do bvle[i]={} end if(fnum<#bvle)then for i=fnum+1,#bvle do bvle[i]=null end end end for i=0,1 do dx=0 if(i==0)then col0=0xffd600 dy=sh/2-t2 else col0=0xff0000 dy=sh/2-t3 end obj.load("figure","四角形",col0,sw) obj.aspect=-0.995 obj.draw(dx,dy) dx=-sw/2+fs*2 output=""..math.abs(dy-sh/2) obj.setfont("",fs,3,col0,col1) obj.load("text",output) obj.draw(dx,dy) end local fr=obj.frame fr0=fr%fnum+1 for i=1,div do bvle[fr0][i]=math.abs(buf[i]) if(fnum<=1)then fnum=1 end if(fnum>=fr+1)then fnum=fr+1 end --***set bv=0 for k=1,fnum do bv=bv+bvle[k][i] end bv=math.floor(bv/fnum/bcor*1000)/1000 dx=(i-div/2-1/2)*fs*dst dy=sh/2-fs*3/2 -bv if(bv>=t3)then col0=0xff0000 elseif(bv>=t2)then col0=0xffd600 else col0=col2 end obj.setfont("",fs,3,col1,col0) obj.load("text",i) obj.draw(dx,dy) dy=sh/2-fs/2 -bv obj.setfont("",fs,0,col0) obj.load("text",math.floor(bv)) obj.draw(dx,dy) end --[[http://madeinpc.blog50.fc2.com/]]--