@ABFAラスター kerokero9696 --track0:Buf番号,1,4096,20,1 --track1:Buf補正,1,4096,25,0.01 --track2:高/横,0,4096,100,1 --track3:周期,-40,40,1,0.01 --check0:横幅⇔高さ,1 --dialog:音分割数,local div=40;取得フレーム数,fnum=6;Buf値上限/chk,chk1=0;Buf値上限,bmax=200.00;Buf値下限/chk,chk2=0;Buf値下限,bmin=40.00;Color/col,col=0xffffff;縦ラスター/chk,chk3=0;ランダム振幅/chk,chk4=0;Guid[0-1],guid=0; ------------------------------------set local t0=math.floor(obj.track0) if(div<=t0)then t1=div end local t1=obj.track1 local t2=math.floor(obj.track2) local t3=obj.track3 sw=obj.screen_w sh=obj.screen_h local bnum=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 local fr=obj.frame fr0=fr%fnum+1 bvle[fr0]=math.abs(buf[bnum]) 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] end bv=math.floor(bv/fnum/bcor*1000)/1000 ------------------------------------ n1="横幅" n2="高さ" if(obj.check0)then v1=bv if(chk1==1)then if(v1>=bmax)then v1=bmax end end if(chk2==1)then if(v1<=bmin)then v1=bmin end end v2=t2 else v1=t2 v2=bv if(chk1==1)then if(v2>=bmax)then v2=bmax end end if(chk2==1)then if(v2<=bmin)then v2=bmin end end end n3="周期" v3=t3 n4="縦ラスター" if(chk3==0)then v4=0 else v4=1 end n5="ランダム振幅" if(chk4==0)then v5=0 else v5=1 end obj.effect("ラスター",n1,v1,n2,v2,n3,v3,n4,v4,n5,v5) if(guid==1)then obj.draw() fs=sh/20 obj.setfont("",fs,3,0x000000,0xffffff) if(obj.check0)then output="NUM: "..t0.." BufA値: "..v1.."\n※下の簡易グラフは軽量化のため平均化されておらず。" else output="NUM: "..t0.." BufA値: "..v2.."\n※下の簡易グラフは軽量化のため平均化されておらず。" end obj.load("text",output) obj.draw() fs=sh/30 for i=1,div do dx=i*fs -div*fs/2 dy=-buf[i]/bcor +sh/2-fs/2 if(i==t0)then col=0xff0000 else col=0x888888 end obj.setfont("",fs,0,col,col) obj.load("text",i) obj.draw(dx,dy) end end ------------------------------------end @ABFA色ずれ kerokero9696 --track0:Buf番号,1,4096,20,1 --track1:Buf補正,1,4096,75,0.01 --track2:強/幅,0,4096,100,1 --track3:角度,-360,360,0,0.01 --check0:ずれ幅⇔強さ,1 --dialog:音分割数,local div=40;取得フレーム数,fnum=6;Buf値上限/chk,chk1=0;Buf値上限,bmax=20.00;Buf値下限/chk,chk2=0;Buf値下限,bmin=1.00;Color/col,col=0xffffff;色ずれ種類[0-5],v4=0;Guid/chk,chk3=1; ------------------------------------set local t0=math.floor(obj.track0) if(div<=t0)then t1=div end local t1=obj.track1 local t2=math.floor(obj.track2) local t3=obj.track3 sw=obj.screen_w sh=obj.screen_h local bnum=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 local fr=obj.frame fr0=fr%fnum+1 bvle[fr0]=math.abs(buf[bnum]) 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] end bv=math.floor(bv/fnum/bcor*1000)/1000 ------------------------------------ n1="ずれ幅" n2="強さ" if(obj.check0)then v1=bv if(chk1==1)then if(v1>=bmax)then v1=bmax end end if(chk2==1)then if(v1<=bmin)then v1=bmin end end v2=t2 else v1=t2 v2=bv if(chk1==1)then if(v2>=bmax)then v2=bmax end end if(chk2==1)then if(v2<=bmin)then v2=bmin end end end n3="角度" v3=t3 n4="type" obj.effect("色ずれ",n1,v1,n2,v2,n3,v3,n4,v4) if(chk3==1)then obj.draw() fs=sh/20 obj.setfont("",fs,3,0x000000,0xffffff) if(obj.check0)then output="NUM: "..t0.." BufA値: "..v1.."\n※下の簡易グラフは軽量化のため平均化されておらず。" else output="NUM: "..t0.." BufA値: "..v2.."\n※下の簡易グラフは軽量化のため平均化されておらず。" end obj.load("text",output) obj.draw() fs=sh/30 for i=1,div do dx=i*fs -div*fs/2 dy=-buf[i]/bcor +sh/2-fs/2 if(i==t0)then col=0xff0000 else col=0x888888 end obj.setfont("",fs,0,col,col) obj.load("text",i) obj.draw(dx,dy) end end ------------------------------------end @ABFA波紋 kerokero9696 --track0:Buf番号,1,4096,20,1 --track1:Buf補正,1,4096,75,0.01 --track2:高/幅,-100,100,15,0.1 --track3:速度,-1000,1000,150,0.1 --check0:幅⇔高さ,1 --dialog:音分割数,local div=40;取得フレーム数,fnum=6;Buf値上限/chk,chk1=0;Buf値上限,bmax=100.00;Buf値下限/chk,chk2=0;Buf値下限,bmin=10.00;Color/col,col=0xffffff;中心X,v4=0;中心Y,v5=0;波紋数,v6=0;波紋間隔,v7=0;増幅減衰回数,v8=0;Guid/chk,chk3=1;領域拡張係数,scoef=1.00; ------------------------------------set local t0=math.floor(obj.track0) if(div<=t0)then t1=div end local t1=obj.track1 local t2=obj.track2 local t3=obj.track3 sw=obj.screen_w sh=obj.screen_h local bnum=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 local fr=obj.frame fr0=fr%fnum+1 bvle[fr0]=math.abs(buf[bnum]) 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] end bv=math.floor(bv/fnum/bcor*1000)/1000 ------------------------------------ n1="高さ" n2="幅" if(obj.check0)then v1=bv if(chk1==1)then if(v1>=bmax)then v1=bmax end end if(chk2==1)then if(v1<=bmin)then v1=bmin end end v2=t2 else v1=t2 v2=bv if(chk1==1)then if(v2>=bmax)then v2=bmax end end if(chk2==1)then if(v2<=bmin)then v2=bmin end end end n3="速度" v3=t3 n4="中心X" n5="中心Y" n6="num" n7="interval" n8="add" if(scoef>0)then ssww=obj.w*scoef sshh=obj.h*scoef obj.effect("領域拡張","上",sshh,"下",sshh,"左",ssww,"右",ssww) end obj.effect("波紋",n1,v1,n2,v2,n3,v3,n4,v4,n5,v5,n6,v6,n7,v7,n8,v8) if(chk3==1)then obj.draw() fs=sh/20 obj.setfont("",fs,3,0x000000,0xffffff) if(obj.check0)then output="NUM: "..t0.." BufA値: "..v1.."\n※下の簡易グラフは軽量化のため平均化されておらず。" else output="NUM: "..t0.." BufA値: "..v2.."\n※下の簡易グラフは軽量化のため平均化されておらず。" end obj.load("text",output) obj.draw() fs=sh/30 for i=1,div do dx=i*fs -div*fs/2 dy=-buf[i]/bcor +sh/2-fs/2 if(i==t0)then col=0xff0000 else col=0x888888 end obj.setfont("",fs,0,col,col) obj.load("text",i) obj.draw(dx,dy) end end ------------------------------------end --[[http://madeinpc.blog50.fc2.com/]]--